- Add BranchPickerDialog component to browse branches across all projects
- Filter out branches that already have worktrees
- Show commit hash and ahead/behind indicators for each branch
- Add createWorktreeSessionForBranch() for specific project/branch
- Add worktree and branch picker buttons in sidebar project header
Co-authored-by: Bohdan Triapitsyn <artmore@protonmail.com>
Add gitmoji toggle in Git settings to enable emoji support
Show Add gitmoji button in commit section when feature is enabled
Display gitmoji picker dialog with searchable emoji list
Add a dedicated button to create new worktree sessions directly from the
project header. The button appears on hover (alongside the existing menu)
for git repositories, making the worktree feature more discoverable.
- Add onNewWorktreeSession prop to SortableProjectItem
- Show git branch icon button between menu and new session button
- Button only visible for git repositories
- Uses same hover behavior as the existing project menu
Replace the subtle pulse animation with a visible 3x3 grid loader
that appears before the session name when a session is actively
processing. This provides clearer visual feedback of session activity.
- Add new GridLoader component (pure CSS, no dependencies)
- Show loader in sidebar when session phase is 'busy' or 'cooldown'
Enable opening the session dropdown menu via right-click, providing
a more native desktop experience. The three-dot menu button continues
to work as before.
Add copy diagnostics button in About dialog.
Button copies report with OpenChamber state, OpenCode health, directories, and projects.
Show success or error toasts after copying attempt.
This fixes a race condition where the client watchdog timeout (25s) was shorter than the server heartbeat interval (30s).
Changes:
- Server: Decreased heartbeat interval from 30s to 15s to send keepalives more frequently.
- Client: Increased stale connection threshold from 25s to 45s to allow for 3 missed heartbeats before reconnecting.
This ensures stable connections during long subagent tasks where no text generation occurs.
Co-authored-by: OpenCode Test <test@opencode.ai>
* feat: add Files tab for browsing workspace files
- Add Files tab between Diff and Terminal in header
- Implement hierarchical file tree with expand/collapse
- Add fuzzy search with debouncing and relevance ranking
- Support gitignore filtering via `git check-ignore` (web + desktop)
- Add syntax highlighting for 150+ file types
- Add image preview (SVG, PNG, JPG, etc.)
- Add line numbers, wrap toggle, and copy button
- Desktop: split-pane layout matching DiffView
- Mobile: drill-in navigation with full-width sidebar
- Update help dialog with Cmd+3 shortcut
- Increase header breakpoint to 940px for new tab
* feat: enhance context and session stores to track agent/model/variant choices for historical sessions
* feat: implement line selection and commenting functionality in FilesView
Add command to open active session in editor panel.
Introduce editor view mode for displaying sessions alongside files.
Update toolbar navigation for editor and sidebar modes.
On iOS devices, when the keyboard is open, there's a home indicator bar
(approximately 34px tall) at the bottom of the keyboard that needs additional
safe area padding.
Changes:
- Add --oc-keyboard-home-indicator CSS variable
- Add ios-keyboard-safe-area class for keyboard open state
- Detect iOS userAgent and set keyboard home indicator height
- Apply ios-keyboard-safe-area class to ChatInput when keyboard is open
Co-authored-by: Jovines <jovines@qq.com>
* fix(upload): increase attachment size limit to 50mb
Raises body limits in web proxy and desktop app. Adds client-side size checks and better 413 error handling.
* fix(client): auto-compress large images to avoid server body limits
Adds client-side compression for images >1MB. Resizes to max 2048px and converts large PNGs to JPEG. Adds detailed logging for debugging.
* chore: remove debug logs from client and proxy
Add support for token-based git authentication in identity profiles.
Enable discovery and import of credentials from ~/.git-credentials file.
Introduce remote URL-based filtering for token identities in git view.
* types: add commitMessageModel to DesktopSettings
* store: add commitMessageModel state and fetch logic
* lib: implement persistence for commitMessageModel setting
* ui: create GitSettings component for model selection
* ui: add Git section to OpenChamber settings sidebar
* ui: register GitSectionContent in OpenChamberPage
* server: use commitMessageModel setting for AI generation
* tauri: sanitize commitMessageModel in settings commands
* tauri: use commitMessageModel for desktop message generation
* build: update lockfile and package configuration
* refactor(openchamber): improve default model parsing with fallback logic
* feat(openchamber): improve model selection fallback logic
* refactor: move worktree settings into git section
* refactor(openchamber): merge worktree into git section
* refactor[worktree]: simplify empty state layout
* revert: rollback bun.lock and package.json to main
* feat(git): restrict model selection to OpenCode provider