Skip to content

keep settings open during window drag - #9018

Closed
morgmart wants to merge 1 commit into
mainfrom
morganm/fix-settings-window-drag-close
Closed

keep settings open during window drag#9018
morgmart wants to merge 1 commit into
mainfrom
morganm/fix-settings-window-drag-close

Conversation

@morgmart

@morgmart morgmart commented May 5, 2026

Copy link
Copy Markdown
Collaborator

Category: fix
User Impact: Moving the app window while settings is open no longer closes settings unexpectedly.
Problem: The settings backdrop closed on any backdrop click, so a drag gesture outside the settings panel could be interpreted as a dismissal click. That made the app feel like it returned to Home when the user was only trying to move the window.
Solution: Split the backdrop into its own Tauri drag region behind the settings panel and make backdrop dismissal drag-aware. A normal backdrop click still closes settings, but pointer movement that looks like a window drag leaves settings open.

File changes

ui/goose2/src/features/settings/ui/SettingsModal.tsx
Adds drag-threshold handling for backdrop dismissal and isolates the Tauri drag region to the backdrop layer so settings controls do not become draggable window chrome.

ui/goose2/src/features/settings/ui/tests/SettingsModal.test.tsx
Adds regression coverage for normal backdrop click dismissal and drag-like pointer movement that should keep settings open.

  1. Open Settings in goose2.
  2. Drag the app window from the backdrop/outside-panel area while settings is open.
  3. Confirm Settings stays open and the app does not return to Home.
  4. Click the backdrop without dragging and confirm Settings still closes.
  5. Press Escape or the close button and confirm normal close behavior still works.

Focused verification

  • pnpm --dir ui/goose2 exec vitest run src/features/settings/ui/__tests__/SettingsModal.test.tsx
  • pnpm --dir ui/goose2 exec biome check src/features/settings/ui/SettingsModal.tsx src/features/settings/ui/__tests__/SettingsModal.test.tsx
  • git diff --check

Full goose2 pre-push/typecheck remains blocked by existing unrelated SDK definition mismatches on main such as missing GoosePreferencesRead, GooseDefaultsRead, and ProviderConfigChangeResponse exports.

Screenshots/Demos

Not captured in this pass.

Signed-off-by: morgmart <98432065+morgmart@users.noreply.github.com>
@morgmart
morgmart marked this pull request as draft May 5, 2026 18:45
@morgmart

morgmart commented May 6, 2026

Copy link
Copy Markdown
Collaborator Author

🤖 Closing this as superseded by the full-page Settings work in PR #9047. The drag-close bug lived in the old SettingsModal backdrop path; that modal no longer exists on the full-page settings branch, and Settings now renders inside the normal app shell/top bar drag region.

@morgmart morgmart closed this May 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant