From 9574d9d08bc7a157b2c86d9507e871d47a84977c Mon Sep 17 00:00:00 2001 From: Ednunp <29843396+Ednunp@users.noreply.github.com> Date: Sun, 26 Jul 2026 23:52:21 +0100 Subject: [PATCH] Update install window: automatic updates only within a chosen daily time range Feature (requested 2026-07-26): Preferences' update settings gain 'Only install updates within this time range' - a checkbox plus Start/End time lists in 15-minute steps (00:00-23:45, default 01:00-06:00). RemSound streams live audio, so an automatic update mid-session kills someone's sound; with the range on, the startup check and the background poll DEFER an available update until the range opens (a one-shot timer retries right at the range start, so a 24-hourly poll can't keep missing the window for days). Manual 'Check for updates now' is deliberately never gated - asking by hand means now. End at-or-before start wraps past midnight (22:00-06:00); start minute inclusive, end exclusive; an equal start/end means unrestricted rather than a silent never-install trap. The service inherits the window for free: its self-update follows the app's install. readme: the two new Preferences rows, the service startup-volume option, and a security note on password-locked remote volume (both ends need 5.6). New gate step pins the window maths (same-day, wraparound, boundaries, empty-range rule, retry arithmetic). Dialog audit covers the new controls. Gate 66/66. Co-Authored-By: Claude Fable 5 --- readme.html | 6 ++- src/RemSound.App/MainForm.cs | 40 +++++++++++++++ src/RemSound.App/PreferencesDialog.cs | 71 ++++++++++++++++++++++++++- src/RemSound.App/SelfTest.cs | 34 +++++++++++++ src/RemSound.Core/AppConfig.cs | 13 +++++ src/RemSound.Core/UpdateWindow.cs | 41 ++++++++++++++++ 6 files changed, 203 insertions(+), 2 deletions(-) create mode 100644 src/RemSound.Core/UpdateWindow.cs diff --git a/readme.html b/readme.html index 80fa9a8..c70710c 100644 --- a/readme.html +++ b/readme.html @@ -1047,6 +1047,8 @@ Use whatever key combinations you prefer (for example Ctrl+Shift+Up / Ctrl+Shift

The feature is symmetric: both computers can both send and accept. If you set up hotkeys on both ends and tick “Accept remote volume commands” on both ends, either side can adjust the other's volume. There's no fixed “controller” and “controlled” computer.

+

Security: remote commands are locked with the profile password, the same way the audio is. A command only works when both machines share the password, so nobody on the network can fake one and mute your machine — important when the machine's sound is also your screen reader. Both ends need version 5.6 or newer for remote volume to work; a command from an older version is ignored (the log records it as rejected).

+

What it does not touch