Skip to content

Window and popover conventions

Current macOS conventions:

Interaction Convention
Anchored transient menu Native NSPopover
Server or session settings Separate React window
Direct action modal response Separate React action-display window
Notification modal request Inline fallback in message/detail rail
Global application settings Separate keyed React window opened from the application menu
Permanent local session note Separate keyed React window
Connection/application banner Message/detail-area rail
Session inline/banner/modal Active ChatPane rail
Compact config dropdown or rich session-action list Native NSPopover

Do not introduce React Native Modal for desktop notification flows; the current macOS runtime does not provide a reliable implementation. Direct action modal responses use ActionDisplayWindow, opened through the generic DesktopWindowManager.openReactWindow() path. Its body is bounded and scrollable for lengthy content.