From e74dc7a3889100bd64aa17c4413271121abe74ec Mon Sep 17 00:00:00 2001 From: Scott Idem Date: Tue, 12 May 2026 12:49:50 -0400 Subject: [PATCH] fix(launcher): skip post_delay sleep when no post_script MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The sleep step was running unconditionally, meaning files that open with the 'default' catch-all profile (zip, unknown ext, etc.) would wait 2 seconds for no reason — there's no AppleScript to prepare for. Gate the sleep inside the post_script check so it only delays when there's actually automation to run after app launch. Also update the test mode popup to show '0ms — skipped (no post_script)' and display post_delay_ms as '(default: 2000ms)' when unset. --- .../events/[event_id]/(launcher)/launcher_file_cont.svelte | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/routes/events/[event_id]/(launcher)/launcher_file_cont.svelte b/src/routes/events/[event_id]/(launcher)/launcher_file_cont.svelte index 187ee6fa..cc703d98 100644 --- a/src/routes/events/[event_id]/(launcher)/launcher_file_cont.svelte +++ b/src/routes/events/[event_id]/(launcher)/launcher_file_cont.svelte @@ -267,7 +267,8 @@ async function handle_open_file() { } // --- Step 5: Wait for app to load before running post-script --- - if (open_ok) { + // Only delay if there is actually a post_script to run — no point waiting for nothing. + if (open_ok && profile.post_script) { const delay = profile.post_delay_ms ?? 2000; open_file_status_message = `Waiting for ${profile.app}...`; await sleep(delay); @@ -700,7 +701,7 @@ function prevent_default(fn: (event: T) => void) { {#if test_mode_popup_data.display_override}
display_override (cfg_json): {test_mode_popup_data.display_override}
{/if} -
post_delay_ms: {test_mode_popup_data.profile.post_delay_ms ?? 2000}
+
post_delay_ms: {test_mode_popup_data.profile.post_delay_ms ?? '(default: 2000ms)'}
@@ -735,7 +736,7 @@ function prevent_default(fn: (event: T) => void) {
Steps 5–6 — Wait + Post-Script
-
sleep({test_mode_popup_data.profile.post_delay_ms ?? 2000}ms)
+
sleep({test_mode_popup_data.profile.post_script ? (test_mode_popup_data.profile.post_delay_ms ?? 2000) : 0}ms){test_mode_popup_data.profile.post_script ? '' : ' — skipped (no post_script)'}
{#if test_mode_popup_data.profile.post_script} {#if test_mode_popup_data.profile.post_script.startsWith('shell:')}
native.run_cmd() [shell prefix]