mirror of
https://github.com/chatmail/core.git
synced 2026-10-02 03:00:40 +03:00
feat!: remove a relay immediately instead of unpublishing it
Removing a relay now takes effect immediately: - the profile stops fetching and advertising it, - secondary devices immediately apply the removal through the transport sync, Upgrading removes unpublished relays and triggers keyupdates. BREAKING CHANGE: set_transport_unpublished() is removed: UIs call delete_transport() when the user removes a relay. BREAKING CHANGE: list_transports_ex() and the TransportListEntry type are removed: use list_transports(). BREAKING CHANGE: delete_transport() no longer refuses to remove the primary transport: it refuses only to remove the last one and re-elects the sending transport as needed. BREAKING CHANGE: TransportsModified is now also emitted on the device modifying the transports, not only on devices applying the synced change. Deprecated: DC_STR_PHASING_OUT
This commit is contained in:
+1
-7
@@ -325,9 +325,6 @@ struct SchedBox {
|
||||
|
||||
/// IMAP loop task handle.
|
||||
handle: task::JoinHandle<()>,
|
||||
|
||||
/// Relay published status.
|
||||
is_published: bool,
|
||||
}
|
||||
|
||||
/// Job and connection scheduler.
|
||||
@@ -680,9 +677,7 @@ impl Scheduler {
|
||||
let mut inboxes = Vec::new();
|
||||
let mut start_recvs = Vec::new();
|
||||
|
||||
for (transport_id, configured_login_param, is_published) in
|
||||
ConfiguredLoginParam::load_all(ctx).await?
|
||||
{
|
||||
for (transport_id, configured_login_param) in ConfiguredLoginParam::load_all(ctx).await? {
|
||||
let (conn_state, inbox_handlers) =
|
||||
ImapConnectionState::new(ctx, transport_id, configured_login_param.clone()).await?;
|
||||
let (inbox_start_send, inbox_start_recv) = oneshot::channel();
|
||||
@@ -699,7 +694,6 @@ impl Scheduler {
|
||||
folder,
|
||||
conn_state,
|
||||
handle,
|
||||
is_published,
|
||||
};
|
||||
inboxes.push(inbox);
|
||||
start_recvs.push(inbox_start_recv);
|
||||
|
||||
Reference in New Issue
Block a user