Send notifications for events that are not announced when window is out of focus.

This commit is contained in:
Storm Dragon committed 2026-07-28 17:22:24 -04:00
1 parent 6a94f893b6
commit 9125e76d43
9 files changed
+161 -19

No files matched your search

+12
View File
@@ -110,12 +110,24 @@ func TestGlobalShortcutAliasesStayDocumented(t *testing.T) {
func TestTimedUnlockCommandStaysDocumentedAndUsesServerAnnouncements(t *testing.T) {
js := readStaticFile(t, "skald.js")
protocol := readStaticFile(t, "protocol.js")
requireContains(t, js, "[minutes[m|M] | HH:MM | h:mm AM/PM]", "unlock command help")
requireContains(t, js, "Intl.DateTimeFormat().resolvedOptions().timeZone", "unlock timezone")
requireContains(t, js, "timezoneOffset: new Date().getTimezoneOffset()", "unlock timezone fallback")
requireContains(t, js, "serverConnection.hallAction('unlock', {", "scheduled unlock request")
requireFunctionContains(t, js, "gotUserMessage", "displayMessage(text, false)")
requireFunctionContains(t, js, "gotUserMessage", "if(notify)")
requireFunctionContains(t, js, "gotUserMessage", "showBrowserNotification(text)")
requireFunctionContains(t, js, "requestBrowserNotificationPermission", "window.Notification.requestPermission()")
requireFunctionContains(t, js, "showBrowserNotification", "window.Notification.permission !== 'granted'")
requireFunctionContains(t, js, "showBrowserNotification", "document.hidden")
requireFunctionContains(t, js, "showBrowserNotification", "document.hasFocus()")
requireFunctionContains(t, js, "showBrowserNotification", "new window.Notification")
requireFunctionContains(t, js, "showBrowserNotification", "window.focus()")
requireFunctionContains(t, js, "userMenu", "Enable browser notifications")
requireFunctionContains(t, js, "userMenu", "requestBrowserNotificationPermission")
requireContains(t, protocol, "m.value, !!m.notify", "browser notification protocol flag")
requireFunctionContains(t, js, "displayError", "if(announce)")
requireFunctionContains(t, js, "displayError", "announceChat(text)")
}