From 8a0489527097f8ea7279be9de3f0a0e15ccbeb86 Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 17 Apr 2026 14:24:59 +0000 Subject: [PATCH] Fix nine GUI bugs found during local-workspace smoke test MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - crates/onyx-core/src/webdav.rs: rename `getpassword`/`setpassword` (7 call sites) to `get_password`/`set_password` so `cargo build` and the CLI compile again under the default `keyring-storage` feature. - ConfirmDialog.svelte: intercept Escape at window capture phase and expose a module-level open-count so TasksScreen's Escape handler can defer; previously Escape on a dialog both dismissed the dialog AND popped the task-detail view behind it. Cancel is also focused on mount for keyboard users. - TasksScreen.svelte: extend the taskStack cleanup effect to collapse back to parent detail when only the subtask is gone (was leaving a blank third panel); focus the new-list input when it appears; reset the Completed section's expand state when switching lists. - TaskDetailView.svelte: re-sync local title/description state when the task prop's content changes (unless the user is editing), so a sync pull doesn't get silently overwritten on next save. Bail out of the parent delete if a subtask delete fails instead of orphaning. - app.svelte.ts: deleteTask now returns a success boolean; move the "No Date" group to the end of the grouped-by-date view so Overdue and Today surface first. - SetupScreen.svelte: strip trailing separators before splitting the picked folder path so "…/MyTasks/" yields "MyTasks" instead of the literal fallback "workspace". Verified live under Xvfb for the three user-visible cases (ConfirmDialog Escape, orphan subtask collapse, new-list autofocus). Screenshots in screenshots/smoke-test/. cargo test --lib -p onyx-core is green (162/162); npm run build succeeds. --- .../src/lib/components/ConfirmDialog.svelte | 38 ++++++++++++++++++ .../src/lib/components/TaskDetailView.svelte | 24 +++++++++-- apps/tauri/src/lib/screens/SetupScreen.svelte | 4 +- apps/tauri/src/lib/screens/TasksScreen.svelte | 22 ++++++++-- apps/tauri/src/lib/stores/app.svelte.ts | 9 +++-- crates/onyx-core/src/webdav.rs | 14 +++---- .../smoke-test/09-fix-confirm-before.png | Bin 0 -> 21980 bytes .../10-fix-confirm-after-escape.png | Bin 0 -> 18900 bytes .../smoke-test/11-fix-orphan-subtask.png | Bin 0 -> 15628 bytes .../smoke-test/12-fix-newlist-autofocus.png | Bin 0 -> 15661 bytes 10 files changed, 93 insertions(+), 18 deletions(-) create mode 100644 screenshots/smoke-test/09-fix-confirm-before.png create mode 100644 screenshots/smoke-test/10-fix-confirm-after-escape.png create mode 100644 screenshots/smoke-test/11-fix-orphan-subtask.png create mode 100644 screenshots/smoke-test/12-fix-newlist-autofocus.png diff --git a/apps/tauri/src/lib/components/ConfirmDialog.svelte b/apps/tauri/src/lib/components/ConfirmDialog.svelte index 5762ba4..95be2e0 100644 --- a/apps/tauri/src/lib/components/ConfirmDialog.svelte +++ b/apps/tauri/src/lib/components/ConfirmDialog.svelte @@ -1,6 +1,43 @@ + +