From a59e53aec5f092eab3231bbe28db4946ea772123 Mon Sep 17 00:00:00 2001 From: Scott Idem Date: Wed, 20 May 2026 14:29:34 -0400 Subject: [PATCH] fix(launcher): larger, ring-bordered preset chips for VNC readability; fix lint errors MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps chip buttons h-6→h-8 with text-xs and ring-1 borders so active/inactive states are clearly distinct at VNC/remote scale. Save & Apply bumped to h-10 text-sm. Fixes: /50 opacity modifier in class: directives (uses class expression instead), stale svelte-ignore comments replaced with onkeydown handlers, each block key added. Documents wallpaper repeat-apply macOS caching bug in TODO with workaround and fix location (Electron temp filename). Co-Authored-By: Claude Sonnet 4.6 --- documentation/TODO__Agents.md | 10 ++++ .../launcher_cfg_wallpaper.svelte | 54 +++++++++---------- 2 files changed, 35 insertions(+), 29 deletions(-) diff --git a/documentation/TODO__Agents.md b/documentation/TODO__Agents.md index de2ff30a..6f18ec5a 100644 --- a/documentation/TODO__Agents.md +++ b/documentation/TODO__Agents.md @@ -63,6 +63,16 @@ guessing defaults. - [ ] **[Launcher] End-to-end test on macOS** — test pptx and key opens on a real podium Mac before May 26 setup day. Verify: file copies to tmp correctly, script fires, app opens in slideshow mode, error fallback works. +- [ ] **[Launcher/Electron] Wallpaper stops applying after several changes (post-CMSC)** — + After setting the wallpaper 3–5 times in a session, macOS silently ignores further `set desktop + picture` calls even though the SvelteKit side reports "Saved & Applied ✓". Restore Default + (`restore_macos_default_wallpaper`) immediately unblocks it; closing/reopening Electron does + not. **Workaround:** use Restore Default, then re-apply. **Root cause:** macOS caches the + current wallpaper path and skips the AppleScript call when the downloaded file lands at the + same temp path. **Fix (post-CMSC):** in the Electron `set_wallpaper` handler + (`aether_app_native_electron`), append a timestamp or random suffix to the temp filename on + every download so macOS always sees a new path (e.g. `wallpaper_1748123456.jpg` instead of + `wallpaper.jpg`). --- diff --git a/src/routes/events/[event_id]/(launcher)/cfg_components/launcher_cfg_wallpaper.svelte b/src/routes/events/[event_id]/(launcher)/cfg_components/launcher_cfg_wallpaper.svelte index d1e12588..1e7f3dce 100644 --- a/src/routes/events/[event_id]/(launcher)/cfg_components/launcher_cfg_wallpaper.svelte +++ b/src/routes/events/[event_id]/(launcher)/cfg_components/launcher_cfg_wallpaper.svelte @@ -145,7 +145,7 @@ async function handle_apply(): Promise<{ success: boolean; linux_test?: boolean account_id: String($ae_api.account_id ?? '') }); - if (result?.success && (result as any).linux_test_mode) { + if (result?.success && (result as { linux_test_mode?: boolean }).linux_test_mode) { linux_test_popup_data = result as Record; linux_test_popup_open = true; return { success: true, linux_test: true }; @@ -227,20 +227,18 @@ const section_description = $derived( {/if} -
+
-
-

Primary Display

-
+
+

Primary Display

+
{#each PRIMARY_PRESETS as preset (preset.value)} {/each} @@ -249,27 +247,25 @@ const section_description = $derived( type="url" bind:value={url_input} placeholder="https://… or select a preset above" - class="input input-sm preset-tonal-surface h-7 w-full text-[10px]" /> + class="input input-sm preset-tonal-surface h-8 w-full text-[10px]" /> {#if is_applied} -

Applied ✓

+

Applied ✓

{/if}
-
-

+

+

External / Projector (optional)

-
+
{#each EXTERNAL_PRESETS as preset (preset.value)} {/each} @@ -278,18 +274,18 @@ const section_description = $derived( type="url" bind:value={url_external_input} placeholder="Blank = use primary on all displays" - class="input input-sm preset-tonal-surface h-7 w-full text-[10px]" /> + class="input input-sm preset-tonal-surface h-8 w-full text-[10px]" />
-
+
{#if $ae_loc.is_native || $ae_loc.edit_mode} @@ -297,15 +293,15 @@ const section_description = $derived( type="button" onclick={handle_restore_default} title="Restore macOS default wallpaper" - class="btn btn-sm preset-tonal-surface h-8 px-2.5 opacity-60 hover:opacity-100"> - + class="btn preset-tonal-surface ring-surface-500/50 h-10 w-10 ring-1 opacity-75 hover:opacity-100"> + {/if}
{#if status}
@@ -320,19 +316,19 @@ const section_description = $derived( {#if linux_test_popup_open && linux_test_popup_data} -