From 131afadc1d5332af7cacdbcbb455458acb5b08d1 Mon Sep 17 00:00:00 2001 From: Timo <6156589+Shik3i@users.noreply.github.com> Date: Wed, 10 Jun 2026 01:33:45 +0200 Subject: [PATCH] v2.2.4: Fix notification setting bypass and misleading reconnect message - EVENTS.ERROR handler now respects browserNotifications setting - Graceful shutdown message no longer implies manual reconnect --- docs/CHANGELOG.md | 8 ++++++++ extension/background.js | 3 ++- extension/manifest.base.json | 2 +- package-lock.json | 2 +- package.json | 2 +- server/index.js | 2 +- website/version.json | 4 ++-- 7 files changed, 16 insertions(+), 7 deletions(-) diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index 2b8a377..e9b7e98 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -4,6 +4,14 @@ All notable changes to the KoalaSync browser extension and relay server. --- +## [v2.2.4] — 2026-06-10 + +### Fixed +- **Extension: Error notifications now respect `browserNotifications` setting**: Server error events (e.g. "Server is restarting") no longer trigger a browser notification when the user has disabled notifications in the extension settings. +- **Server: Misleading reconnect message corrected**: The graceful shutdown message no longer tells users to manually reconnect — the extension handles this automatically. + +--- + ## [v2.2.3] — 2026-06-10 ### Added diff --git a/extension/background.js b/extension/background.js index e6a04e2..f397b22 100644 --- a/extension/background.js +++ b/extension/background.js @@ -809,7 +809,8 @@ function handleServerEvent(event, data) { isConnecting = false; broadcastConnectionStatus('disconnected'); addLog(`Server Error: ${data.message}`, 'error'); - chrome.storage.local.get(['locale'], async (settings) => { + chrome.storage.local.get(['browserNotifications', 'locale'], async (settings) => { + if (!settings.browserNotifications) return; const lang = settings.locale || getSystemLanguage(); await loadLocale(lang); chrome.notifications.create(`error_${Date.now()}`, { diff --git a/extension/manifest.base.json b/extension/manifest.base.json index 1b2c7ed..67b8451 100644 --- a/extension/manifest.base.json +++ b/extension/manifest.base.json @@ -2,7 +2,7 @@ "manifest_version": 3, "default_locale": "en", "name": "KoalaSync", - "version": "2.2.3", + "version": "2.2.4", "description": "Synchronize video playback on YouTube, Netflix, Emby, Jellyfin, and any HTML5 site in real-time with friends.", "permissions": [ "storage", diff --git a/package-lock.json b/package-lock.json index 6a3f21f..27db1fd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "koalasync", - "version": "2.2.2", + "version": "2.2.4", "lockfileVersion": 3, "requires": true, "packages": { diff --git a/package.json b/package.json index 55d24fa..8c99e4f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "koalasync", - "version": "2.2.3", + "version": "2.2.4", "description": "KoalaSync Build Scripts", "private": true, "scripts": { diff --git a/server/index.js b/server/index.js index bb73704..38720f0 100644 --- a/server/index.js +++ b/server/index.js @@ -797,7 +797,7 @@ export function startServer(port = PORT, host) { function gracefulShutdown(signal) { log('SERVER', `${signal} received — starting graceful shutdown...`); // 1. Notify all connected clients so they can display a meaningful message - io.emit(EVENTS.ERROR, { message: 'Server is restarting. Please reconnect in a moment.' }); + io.emit(EVENTS.ERROR, { message: 'Server is restarting. Reconnecting automatically...' }); // 2. Stop accepting new HTTP connections httpServer.close(() => { log('SERVER', 'HTTP server closed. Exiting.'); diff --git a/website/version.json b/website/version.json index c81f356..f098e2a 100644 --- a/website/version.json +++ b/website/version.json @@ -1,4 +1,4 @@ { - "version": "2.2.3", - "date": "2026-06-09T22:56:52Z" + "version": "2.2.4", + "date": "2026-06-10T12:00:00Z" }