mirror of
https://github.com/ProtonMail/proton-bridge.git
synced 2025-12-11 05:06:51 +00:00
feat(GODT-2261): sync progress in GUI.
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@ -449,6 +449,9 @@ message UserEvent {
|
||||
UserBadEvent userBadEvent = 4;
|
||||
UsedBytesChangedEvent usedBytesChangedEvent = 5;
|
||||
ImapLoginFailedEvent imapLoginFailedEvent = 6;
|
||||
SyncStartedEvent syncStartedEvent = 7;
|
||||
SyncFinishedEvent syncFinishedEvent = 8;
|
||||
SyncProgressEvent syncProgressEvent = 9;
|
||||
}
|
||||
}
|
||||
|
||||
@ -478,6 +481,21 @@ message ImapLoginFailedEvent {
|
||||
string username = 1;
|
||||
}
|
||||
|
||||
message SyncStartedEvent {
|
||||
string userID = 1;
|
||||
}
|
||||
|
||||
message SyncFinishedEvent {
|
||||
string userID = 1;
|
||||
}
|
||||
|
||||
message SyncProgressEvent {
|
||||
string userID = 1;
|
||||
double progress = 2;
|
||||
int64 elapsedMs = 3;
|
||||
int64 remainingMs = 4;
|
||||
}
|
||||
|
||||
//**********************************************************
|
||||
// Generic errors
|
||||
//**********************************************************
|
||||
|
||||
@ -185,6 +185,23 @@ func newIMAPLoginFailedEvent(username string) *StreamEvent {
|
||||
return userEvent(&UserEvent{Event: &UserEvent_ImapLoginFailedEvent{ImapLoginFailedEvent: &ImapLoginFailedEvent{Username: username}}})
|
||||
}
|
||||
|
||||
func NewSyncStartedEvent(userID string) *StreamEvent {
|
||||
return userEvent(&UserEvent{Event: &UserEvent_SyncStartedEvent{SyncStartedEvent: &SyncStartedEvent{UserID: userID}}})
|
||||
}
|
||||
|
||||
func NewSyncFinishedEvent(userID string) *StreamEvent {
|
||||
return userEvent(&UserEvent{Event: &UserEvent_SyncFinishedEvent{SyncFinishedEvent: &SyncFinishedEvent{UserID: userID}}})
|
||||
}
|
||||
|
||||
func NewSyncProgressEvent(userID string, progress float64, elapsedMs, remainingMs int64) *StreamEvent {
|
||||
return userEvent(&UserEvent{Event: &UserEvent_SyncProgressEvent{SyncProgressEvent: &SyncProgressEvent{
|
||||
UserID: userID,
|
||||
Progress: progress,
|
||||
ElapsedMs: elapsedMs,
|
||||
RemainingMs: remainingMs,
|
||||
}}})
|
||||
}
|
||||
|
||||
func NewGenericErrorEvent(errorCode ErrorCode) *StreamEvent {
|
||||
return genericErrorEvent(&GenericErrorEvent{Code: errorCode})
|
||||
}
|
||||
|
||||
@ -323,6 +323,15 @@ func (s *Service) watchEvents() {
|
||||
case events.UserBadEvent:
|
||||
_ = s.SendEvent(NewUserBadEvent(event.UserID, event.Error.Error()))
|
||||
|
||||
case events.SyncStarted:
|
||||
_ = s.SendEvent(NewSyncStartedEvent(event.UserID))
|
||||
|
||||
case events.SyncFinished:
|
||||
_ = s.SendEvent(NewSyncFinishedEvent(event.UserID))
|
||||
|
||||
case events.SyncProgress:
|
||||
_ = s.SendEvent(NewSyncProgressEvent(event.UserID, event.Progress, event.Elapsed.Milliseconds(), event.Remaining.Milliseconds()))
|
||||
|
||||
case events.UpdateLatest:
|
||||
safe.RLock(func() {
|
||||
s.latest = event.Version
|
||||
|
||||
Reference in New Issue
Block a user