Fix the Inactivity Expiration problem. (#2865)

This commit is contained in:
İsmail 2024-11-15 20:21:27 +03:00 committed by GitHub
parent 12f442439a
commit a1c5287b7c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1186,20 +1186,25 @@ func (am *DefaultAccountManager) UpdateAccountSettings(ctx context.Context, acco
} }
func (am *DefaultAccountManager) handleInactivityExpirationSettings(ctx context.Context, account *Account, oldSettings, newSettings *Settings, userID, accountID string) error { func (am *DefaultAccountManager) handleInactivityExpirationSettings(ctx context.Context, account *Account, oldSettings, newSettings *Settings, userID, accountID string) error {
if oldSettings.PeerInactivityExpirationEnabled != newSettings.PeerInactivityExpirationEnabled {
event := activity.AccountPeerInactivityExpirationEnabled if newSettings.PeerInactivityExpirationEnabled {
if !newSettings.PeerInactivityExpirationEnabled { if oldSettings.PeerInactivityExpiration != newSettings.PeerInactivityExpiration {
event = activity.AccountPeerInactivityExpirationDisabled oldSettings.PeerInactivityExpiration = newSettings.PeerInactivityExpiration
am.peerInactivityExpiry.Cancel(ctx, []string{accountID})
} else { am.StoreEvent(ctx, userID, accountID, accountID, activity.AccountPeerInactivityExpirationDurationUpdated, nil)
am.checkAndSchedulePeerInactivityExpiration(ctx, account) am.checkAndSchedulePeerInactivityExpiration(ctx, account)
} }
am.StoreEvent(ctx, userID, accountID, accountID, event, nil) } else {
} if oldSettings.PeerInactivityExpirationEnabled != newSettings.PeerInactivityExpirationEnabled {
event := activity.AccountPeerInactivityExpirationEnabled
if oldSettings.PeerInactivityExpiration != newSettings.PeerInactivityExpiration { if !newSettings.PeerInactivityExpirationEnabled {
am.StoreEvent(ctx, userID, accountID, accountID, activity.AccountPeerInactivityExpirationDurationUpdated, nil) event = activity.AccountPeerInactivityExpirationDisabled
am.checkAndSchedulePeerInactivityExpiration(ctx, account) am.peerInactivityExpiry.Cancel(ctx, []string{accountID})
} else {
am.checkAndSchedulePeerInactivityExpiration(ctx, account)
}
am.StoreEvent(ctx, userID, accountID, accountID, event, nil)
}
} }
return nil return nil