Skip to content

feat(ui): composer + settings + cross-platform folder picker#5

Open
amellini wants to merge 1 commit intoPinperepette:mainfrom
amellini:features/interface
Open

feat(ui): composer + settings + cross-platform folder picker#5
amellini wants to merge 1 commit intoPinperepette:mainfrom
amellini:features/interface

Conversation

@amellini
Copy link
Copy Markdown

@amellini amellini commented May 5, 2026

Composer
• Fix - not rendering as bullet after Shift+Enter — bound
Shift+Enter to ProseMirror splitBlock (creates a real new
paragraph instead of a hard break).
• Fix Enter swallowing list continuation — keymap is now
context-aware: lets Milkdown handle Enter inside list items.
• Fix black input area — scoped .composer .ProseMirror.editor
override resolves a class collision with the Monaco panel rule.
• New bar layout: [hint] ───── [clear] [model ▾] [send].
Clear runs resetSession; model dropdown lists the available
models with short label + full id, with reset-to-default.

Header
• New HeaderCommandPalette with searchable /login /model /clear
/usage /cost /init /permissions /status /ask and inline args.

Folder picker /api/pick-folder
• Now cross-platform: macOS osascript, Windows PowerShell
FolderBrowserDialog (-STA + TopMost parent), Linux zenity.
• Client splits paths on both / and \ for Windows segments.

Settings modal
• Per-row red trash icon for delete (Lucide-style SVG); removed
the central "delete project" button.
• Click-outside-to-close disabled to prevent silent loss of
unsaved inputs.
• List item changed to div+role="button" (a button cannot nest
another button).

Composer
  • Fix `- ` not rendering as bullet after Shift+Enter — bound
    Shift+Enter to ProseMirror splitBlock (creates a real new
    paragraph instead of a hard break).
  • Fix Enter swallowing list continuation — keymap is now
    context-aware: lets Milkdown handle Enter inside list items.
  • Fix black input area — scoped `.composer .ProseMirror.editor`
    override resolves a class collision with the Monaco panel rule.
  • New bar layout: [hint] ───── [clear] [model ▾] [send].
    Clear runs resetSession; model dropdown lists the available
    models with short label + full id, with reset-to-default.

Header
  • New HeaderCommandPalette with searchable /login /model /clear
    /usage /cost /init /permissions /status /ask and inline args.

Folder picker `/api/pick-folder`
  • Now cross-platform: macOS osascript, Windows PowerShell
    FolderBrowserDialog (-STA + TopMost parent), Linux zenity.
  • Client splits paths on both `/` and `\` for Windows segments.

Settings modal
  • Per-row red trash icon for delete (Lucide-style SVG); removed
    the central "delete project" button.
  • Click-outside-to-close disabled to prevent silent loss of
    unsaved inputs.
  • List item changed to div+role="button" (a button cannot nest
    another button).
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