Handle sync failure after successful password entry (#133)

This commit is contained in:
Ulyssa 2023-07-07 22:35:33 -07:00
parent 7b050f82aa
commit bb30cecc63
No known key found for this signature in database
GPG key ID: F2873CA2997B83C5
2 changed files with 24 additions and 20 deletions

View file

@ -17,7 +17,13 @@ use clap::Parser;
use tokio::sync::Mutex as AsyncMutex;
use tracing_subscriber::FmtSubscriber;
use matrix_sdk::ruma::OwnedUserId;
use matrix_sdk::{
config::SyncSettings,
ruma::{
api::client::filter::{FilterDefinition, LazyLoadOptions, RoomEventFilter, RoomFilter},
OwnedUserId,
},
};
use modalkit::crossterm::{
self,
@ -644,6 +650,20 @@ async fn login(worker: Requester, settings: &ApplicationSettings) -> IambResult<
}
}
// Perform an initial, lazily-loaded sync.
let mut room = RoomEventFilter::default();
room.lazy_load_options = LazyLoadOptions::Enabled { include_redundant_members: false };
let mut room_ev = RoomFilter::default();
room_ev.state = room;
let mut filter = FilterDefinition::default();
filter.room = room_ev;
let settings = SyncSettings::new().filter(filter.into());
worker.client.sync_once(settings).await.map_err(IambError::from)?;
Ok(())
}