fix(frontend): return early from in-flight actions so a double click sends one request #1

Merged
thisilike merged 1 commit from fix/double-submit into main 2026-09-23 15:42:56 +02:00
Owner

Every panel set busy and relied on the disabled button, which lands a frame after a fast double click.

  • discard-latest pops the newest edit on each call, so a double click discarded two edits.
  • A double Enter in the command bar sent the console command twice.

The fix adds an early return to every panel, the command bar, player actions and the directory picker.

NewServerPage needed more than a guard: choose() re-entered itself through loadPackVersions(), so a plain guard would have skipped the inner call. The pack resolve is now a separate, unguarded function, and the Use button keeps busy on across both steps.

Checks: 400 tests pass, svelte-check has 0 errors, and deno fmt --check is clean.

🤖 Generated with Claude Code

Every panel set `busy` and relied on the disabled button, which lands a frame after a fast double click. - `discard-latest` pops the newest edit on each call, so a double click discarded two edits. - A double Enter in the command bar sent the console command twice. The fix adds an early return to every panel, the command bar, player actions and the directory picker. NewServerPage needed more than a guard: `choose()` re-entered itself through `loadPackVersions()`, so a plain guard would have skipped the inner call. The pack resolve is now a separate, unguarded function, and the Use button keeps `busy` on across both steps. Checks: 400 tests pass, svelte-check has 0 errors, and `deno fmt --check` is clean. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Every panel set busy and relied on the disabled button, which lands a
frame after a fast double click. discard-latest pops the newest edit per
call, so a double click discarded two; a double Enter in the command bar
sent the console command twice.

NewServerPage's choose() re-entered itself through loadPackVersions(), so
the pack resolve is split out unguarded and the Use button keeps busy
across both steps.
thisilike deleted branch fix/double-submit 2026-09-23 15:42:56 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
OpsDeck/module_minecraft!1
No description provided.