feat: Auto sync label from web socket

This commit is contained in:
dab246
2026-02-03 19:20:52 +07:00
committed by Dat H. Pham
parent c49e48ae1b
commit 9c211c05ef
17 changed files with 536 additions and 24 deletions
@@ -84,6 +84,35 @@ class StoreMailboxStateToRefreshAction extends PushNotificationStateChangeAction
this.userName
) : super(typeName, newState);
@override
List<Object?> get props => [typeName, newState, accountId, userName];
}
class SynchronizeLabelOnForegroundAction
extends PushNotificationStateChangeAction {
final AccountId accountId;
SynchronizeLabelOnForegroundAction(
TypeName typeName,
jmap.State newState,
this.accountId,
) : super(typeName, newState);
@override
List<Object?> get props => [typeName, newState, accountId];
}
class StoreLabelStateToRefreshAction extends PushNotificationStateChangeAction {
final AccountId accountId;
final UserName userName;
StoreLabelStateToRefreshAction(
TypeName typeName,
jmap.State newState,
this.accountId,
this.userName,
) : super(typeName, newState);
@override
List<Object?> get props => [typeName, newState, accountId, userName];
}