Skip to content

Commit fb40970

Browse files
committed
Merge branch 'main' into feature/handle_matrix_io_links_for_rooms
2 parents 5462d28 + fc8bedf commit fb40970

File tree

2 files changed

+31
-28
lines changed

2 files changed

+31
-28
lines changed

src/persistent_state.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,13 +57,15 @@ pub struct FullSessionPersisted {
5757
///
5858
/// The value is restored and applied to the client via `client.set_sliding_sync_version()`
5959
/// when rebuilding the session from persistent storage.
60+
#[serde(default)]
6061
pub sliding_sync_version: SlidingSyncVersion,
6162
}
6263
/// The serializable version of the sliding_sync::Version
63-
#[derive(Debug, Serialize, Deserialize)]
64+
#[derive(Debug, Default, Serialize, Deserialize)]
6465
pub enum SlidingSyncVersion {
65-
None,
66+
#[default]
6667
Native,
68+
None,
6769
}
6870

6971
impl From<SlidingSyncVersion> for sliding_sync::Version {

src/sliding_sync.rs

Lines changed: 27 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1430,34 +1430,35 @@ async fn async_main_loop(
14301430
log!("Trying to restore session for user: {:?}",
14311431
specified_username.as_ref().or(most_recent_user_id.as_ref())
14321432
);
1433-
if let Ok(session) = persistent_state::restore_session(specified_username).await {
1434-
Some(session)
1435-
} else {
1436-
let status_err = "Could not restore previous user session.\n\nPlease login again.";
1437-
log!("{status_err}");
1438-
Cx::post_action(LoginAction::LoginFailure(status_err.to_string()));
1439-
1440-
if let Ok(cli) = &cli_parse_result {
1441-
log!("Attempting auto-login from CLI arguments as user '{}'...", cli.user_id);
1442-
Cx::post_action(LoginAction::CliAutoLogin {
1443-
user_id: cli.user_id.clone(),
1444-
homeserver: cli.homeserver.clone(),
1445-
});
1446-
match login(cli, LoginRequest::LoginByCli).await {
1447-
Ok(new_login) => Some(new_login),
1448-
Err(e) => {
1449-
error!("CLI-based login failed: {e:?}");
1450-
Cx::post_action(LoginAction::LoginFailure(
1451-
format!("Could not login with CLI-provided arguments.\n\nPlease login manually.\n\nError: {e}")
1452-
));
1453-
enqueue_rooms_list_update(RoomsListUpdate::Status {
1454-
status: format!("Login failed: {e:?}"),
1455-
});
1456-
None
1433+
match persistent_state::restore_session(specified_username).await {
1434+
Ok(session) => Some(session),
1435+
Err(e) => {
1436+
let status_err = "Could not restore previous user session.\n\nPlease login again.";
1437+
log!("{status_err} Error: {e:?}");
1438+
Cx::post_action(LoginAction::LoginFailure(status_err.to_string()));
1439+
1440+
if let Ok(cli) = &cli_parse_result {
1441+
log!("Attempting auto-login from CLI arguments as user '{}'...", cli.user_id);
1442+
Cx::post_action(LoginAction::CliAutoLogin {
1443+
user_id: cli.user_id.clone(),
1444+
homeserver: cli.homeserver.clone(),
1445+
});
1446+
match login(cli, LoginRequest::LoginByCli).await {
1447+
Ok(new_login) => Some(new_login),
1448+
Err(e) => {
1449+
error!("CLI-based login failed: {e:?}");
1450+
Cx::post_action(LoginAction::LoginFailure(
1451+
format!("Could not login with CLI-provided arguments.\n\nPlease login manually.\n\nError: {e}")
1452+
));
1453+
enqueue_rooms_list_update(RoomsListUpdate::Status {
1454+
status: format!("Login failed: {e:?}"),
1455+
});
1456+
None
1457+
}
14571458
}
1459+
} else {
1460+
None
14581461
}
1459-
} else {
1460-
None
14611462
}
14621463
}
14631464
} else {

0 commit comments

Comments
 (0)