Add Save-as-plan action on assistant messages that writes a markdown plan
into the project plans directory and suggests a title from the text. Plan
view opens a specific saved plan via targetPath, supports inline edits, and
can kick off improve or implement flows in a new or worktree session.
Ship the matching hidden magic prompts (plan.todo/improve/implement) so the
instructions applied by these flows are visible and editable in the Magic
Prompts page.
Remove the plan editor font override, CodeMirror now uses the app font stack.
* feat: add chat option for user message rendering mode
* feat: add chat option to toggle sticky user header
* feat(ui): overhaul context panel with reusable tabs and embedded session chat
Enable parallel context workflows with persistent tabbed views and isolated session chat while reducing resize and background runtime overhead.
* feat: polish context panel and git sidebar tabs
Refined context panel tab behavior and visuals for smoother switching and resizing
Reused the new tabs component in right sidebar and git sidebar with fit layout
Improved git section spacing, selection controls, and bulk revert confirmation flow
* feat: open diff files in editor at changed lines
Add edit actions in diff views to open files at the first changed line
Support per-file open-in-editor from All Files headers and icon-only action in single-file view
Improve file jump UX with load-aware navigation and reduced visual blink during line targeting
* fix: stabilize pill tabs and prevent git commit pathspec failures
Unified sortable tab variants to match animated styling behavior with responsive spacing and cleaner sidebar chrome
Fixed active tab pill measurement so size/position recalculates correctly when dropdowns reopen
Commit API now filters stale file paths before staging to avoid pathspec errors on deleted files
* fix: align user message action row spacing and hover behavior
* fix: persist user message view preferences in settings
Save plain-text and sticky-header toggles to settings.json when changed
Restore both chat display preferences from settings.json on startup
Validate and accept both preference fields in the settings API
* fix: improve git and sidebar tab layout on mobile
* fix: refine mobile user message action row spacing
Show mobile user-message actions in a consistent external row for sticky and non-sticky modes
Tune button row height and vertical position to match both mobile variants
Reduce sticky-header gradient tail and tighten assistant gap after user messages
* fix: improve chat action hover zones and mobile top shadow logic
Expand desktop trigger area so user action buttons reveal across the full row
Add sticky-header phantom hover row so inline actions appear from the whole button lane
Hide chat top scroll shadow on mobile only when sticky user headers are enabled
* fix: remove commit message input scrollbar flicker
Added optional scrollbar class support to shared textarea wrapper.
Disabled overlay scrollbar for Git commit message input.
Kept auto-resize behavior while preventing one-line empty-state micro-scroll.
* feat: make model provider groups collapsible in selector
Add collapsible provider headers in the chat model dropdown
Persist expanded/collapsed provider state across sessions
Refine provider header UX with inline chevrons and no hover highlight
* feat: arrange chat settings into a compact two-column layout
Places User Message Rendering next to Mermaid Rendering.
Places Diff Layout next to Diff View Mode.
Reduces right-column spacing to better match other settings sections.
* fix: show worktree branch edit controls in draft sessions
Detect worktree mode from current directory when session metadata is not yet bound
Enable immediate branch rename UI in Git sidebar without session switching
* feat: add beta badge to side panel menu action
* fix(plan-comments): restore embedded inline comment widgets in Plan view
Reinstate CodeMirror block-widget comments so plan annotations stay anchored to selected lines and preserve drag/selection behavior without floating overlays.
* fix(file-comments): return Files editor comments to embedded widgets
Use inline block widgets for file drafts while keeping full-path draft scoping, so similarly named files no longer risk comment collisions.
* fix(diff-comments): render inline comments through annotation portals
Replace absolute floating positioning with annotation-target portals to keep diff comments attached to their lines across shadow DOM updates.
* chore(comments): remove deprecated floating comment hook
Drop the unused floating-comment implementation now that plan, file, and diff views all use embedded comment rendering paths.
* fix(codemirror): expose gutter width as CSS variable
Measure the current CodeMirror gutter and publish --oc-editor-gutter-width on the editor host so inline widgets can size to the visible code area without hardcoded dimensions.
* fix(context-panel): publish panel width for embedded widgets
Set --oc-context-panel-width on the context panel in both docked and expanded modes so comment widgets can follow the active panel width dynamically.
* fix(file-comments): constrain inline input to editor content width
Use context-panel and editor-gutter CSS variables to cap comment input width to the visible editor content area, keeping action buttons fully visible in no-wrap mode.
* fix(file-comments): constrain inline comment cards to content area
Apply the same variable-based width cap to saved comment cards so card actions stay visible when long lines force horizontal scrolling.
* fix(diff-comments): stabilize new comment annotation identity
Derive new-comment annotation ids from selection side and line range, and reuse that id for portal target lookup and keys to avoid remount glitches.
* feat: show current branch in empty chat state
* fix: display current git branch for worktrees and update them with branch change
* refactor: improve read tool output parsing with structured data
* feat: add support for message part delta events
* fix(chat): improve streaming rendering, scroll behavior, and assistant action visibility
* feat: Add mermaid diagram support to chat markdown rendering
* fix: update table download functionality to include success notification and remove unused MarkdownRenderer import
* refactor: streamline Streamdown component props for improved readability
* fix: preserve Streamdown code-block markers and use native Tauri cache clearing
* feat: add context overview panel to view conversation details
* feat: tabbed right sidebar, context panel, floating diff comments
* fix: auto-close left sidebar when context panel opens
- Increase default context panel width from 520 to 600 pixels
- Increase sidebar minimum width from 200 to 300 pixels
- Replace collapsible component with custom button in diff view
* refactoring: rework sidebars, tabs, and file tree layout
- Rewrite AnimatedTabs as segment-style with sliding indicator
- Upgrade SidebarFilesTree to match FilesView features (context menus,
git status, file icons, CRUD dialogs, fuzzy search ranking)
- Restructure FilesView header: tabs row + actions row, remove breadcrumbs
- Show relative path in context panel header, track active tab
- Allow left sidebar to stay open alongside context panel
- Hide diff/files tabs from header on desktop (mobile-only)
- Move chevron after group name in session sidebar
- Compact tab heights in right sidebar and git view
- Size PreviewToggleButton to match other action buttons
- Remove directory loading spinner from folder icons
* feat: add project icon and color customization
- Enable users to assign custom icons to projects
- Allow users to choose accent colors for projects
- Stabilize repo status UI during project switching
* feat: add scroll fade indicators to editor tabs
* style: reduce spacing and icon sizes in header
* style: adjust tab component padding from uniform to vertical-horizontal
* feat: Add session state indicators to project tabs
* feat: Enhance session status handling and improve UI responsiveness
* fix: preserve upstream tracking on branch rename
* fix: improve initial remote selection for pull requests
- Uses saved remote name from previous session when available
- Selects remote based on tracking branch when possible
- Falls back to origin or first available remote
* perf(diff): faster highlight, stable stacked scroll
- split/unified Pierre worker pools; prefer shiki-wasm
- align diff CSS line-height; disable scroll anchoring; drop WebKit compositing hacks
- harden stacked pin/align (cancel on user scroll/input); prevent overscroll
- make overlay scrollbar MutationObserver optional; disable for diff container
* feat: handle binary files in diff view
* fix: adjust project tabs layout and drag regions
* style: update drag overlay visual styling
* feat: enable number keys to switch projects in the sidebar
* fix: recognize octet-stream as text-based MIME type
* feat: add keyboard navigation to context panel
* feat: add session pinning to sidebar
- Pin important sessions to keep them at the top
- Pinned sessions persist across browser sessions
* refactor: move context usage display from chat input to header