Ignore ack and notification counts if notifications are blocked by the device (#27570)
* Ignore performance counts if notifications are blocked by the device * Change the endpoint to allow more information * Add tests and API description * Remove wrong test * Address feedback * Only update the cache when there is no error * Follow same casing as other props * use one single endpoint * Fix tests * Fix i18n --------- Co-authored-by: Mattermost Build <build@mattermost.com>
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
b9debc75a0
Коммит
af503d9d45
@@ -674,7 +674,19 @@ func pushNotificationAck(c *Context, w http.ResponseWriter, r *http.Request) {
|
||||
}
|
||||
|
||||
if ack.NotificationType == model.PushTypeMessage {
|
||||
c.App.CountNotificationAck(model.NotificationTypePush, ack.ClientPlatform)
|
||||
session := c.AppContext.Session()
|
||||
ignoreNotificationACK := session.Props[model.SessionPropDeviceNotificationDisabled] == "true"
|
||||
if ignoreNotificationACK && ack.ClientPlatform == "ios" {
|
||||
// iOS doesn't send ack when the notificications are disabled
|
||||
// so we restore the value the moment we receive an ack
|
||||
c.App.SetExtraSessionProps(session, map[string]string{
|
||||
model.SessionPropDeviceNotificationDisabled: "false",
|
||||
})
|
||||
c.App.ClearSessionCacheForUser(session.UserId)
|
||||
}
|
||||
if !ignoreNotificationACK {
|
||||
c.App.CountNotificationAck(model.NotificationTypePush, ack.ClientPlatform)
|
||||
}
|
||||
}
|
||||
|
||||
err := c.App.SendAckToPushProxy(&ack)
|
||||
|
||||
Ссылка в новой задаче
Block a user