diff --git a/apps/messagegui/ChangeLog b/apps/messagegui/ChangeLog index 48d5234fe9..81eb0eebab 100644 --- a/apps/messagegui/ChangeLog +++ b/apps/messagegui/ChangeLog @@ -119,3 +119,5 @@ 0.87: Make choosing of font size more repeatable 0.88: Adjust padding calculation so messages are spaced out properly even when using international fonts 0.89: Fix bugs related to empty titles and bodies +0.90: Interrupt unread timeout if the user has unlocked the screen, resume on + screen locked (fix #3941) diff --git a/apps/messagegui/app.js b/apps/messagegui/app.js index 5b30957304..b582098f81 100644 --- a/apps/messagegui/app.js +++ b/apps/messagegui/app.js @@ -646,8 +646,16 @@ setTimeout(() => { }, 10); // if checkMessages wants to 'load', do that /* If the Bangle is unlocked by the user, treat that -as a queue to stop repeated buzzing */ +as a cue to stop repeated buzzing. +Also suspend the reload timeout while the watch is unlocked. */ +let isTimeoutSuspended; Bangle.on('lock',locked => { - if (!locked) + if (!locked) { require("messages").stopBuzz(); + isTimeoutSuspended = !!unreadTimeout; + cancelReloadTimeout(); + } else if (isTimeoutSuspended) { + resetReloadTimeout(); + isTimeoutSuspended = false; + } }); diff --git a/apps/messagegui/metadata.json b/apps/messagegui/metadata.json index 8ef38bd063..a1752355d8 100644 --- a/apps/messagegui/metadata.json +++ b/apps/messagegui/metadata.json @@ -2,7 +2,7 @@ "id": "messagegui", "name": "Message UI", "shortName": "Messages", - "version": "0.89", + "version": "0.90", "description": "Default app to display notifications from iOS and Gadgetbridge/Android", "icon": "app.png", "type": "app",