Skip to content

T-12: Confirmation sheet 'In this / New window / Cancel' with Remember #210

@kirich1409

Description

@kirich1409

Part of EPIC #193. Depends on #203, #209, #204.

Description

Reducer flow: requestOpenProject(url, disposition: ProjectOpenDisposition?). When disposition == nil, the selected project is not the one currently open in this window, and at least one other project window is open — show a sheet with three buttons and a "Remember choice" toggle. Saved choice persists in @AppStorage("projectOpenDisposition"). Option+click in the menu overrides the saved choice and always shows the sheet (disposition = .forceAsk).

Acceptance Criteria

  • Sheet renders correctly on macOS 26
  • "In this window" reuses the existing closeProjectAlert when active sessions are present
  • "In a new window" calls openWindow(value: newProjectID)
  • "Cancel" is a no-op
  • "Remember choice" checkbox: when checked with "In this window", subsequent opens use .currentWindow automatically
  • Option+click override: always shows the prompt, ignoring the saved preference
  • Prompt does NOT appear when no other project windows are open — the project just opens
  • Unit tests for the reducer sheet state machine

Module / Layer

Relay / WindowFeature + ProjectOpenDisposition domain

Complexity

Large

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions