Commit Graph
421 Commits
Author SHA1 Message Date
Bohdan Triapitsyn 64e6c53719 release v1.6.0 2026-01-29 01:22:21 +02:00
Bohdan Triapitsyn adcc450e80 feat: add message stall detection and soft resync in event stream 2026-01-29 01:12:00 +02:00
Bohdan Triapitsyn bc28fa9ac8 refactor(chat): replace message sync with soft resync scheduling
Remove useMessageSync hook from App initialization
Introduce scheduleSoftResync to respect cooldowns before resyncs
Preserve hasMoreAbove handling and totalAvailableMessages for loading older messages
2026-01-29 01:12:00 +02:00
Bohdan Triapitsyn 9064e8e73f feat: add local branch checks to PR picker and integrate refresh
Enable optimistic local-branch checks for PR heads to disable non-existent branches
Show IntegrateCommitsSection only when upstream tracking is origin-based or applicable
2026-01-29 01:11:45 +02:00
Bohdan Triapitsyn a78ad90d78 chore: updated changelog 2026-01-28 16:14:40 +02:00
Bohdan Triapitsyn 5c8c02fd00 feat: sync clean target worktrees during integration 2026-01-28 14:41:25 +02:00
Bohdan Triapitsyn 3450939013 feat(vscode): add global SSE watcher for session activity
- Add sessionActivityWatcher module that listens to /global/event SSE independently of UI.
- Tracks session activity phases and sends openchamber:session-activity events to webview when UI is active.
2026-01-28 14:27:09 +02:00
Bohdan Triapitsyn 960cdab0fe fix(web): track session activity in global SSE watcher
- Update startGlobalEventWatcher to track session activity phases independently of UI, mirroring Tauri desktop behavior.
- The web server now maintains an always-up-to-date activity cache by listening to SSE events continuously, even when the UI is hidden.
2026-01-28 14:27:09 +02:00
Bohdan Triapitsyn f7d5df3dee fix: return empty result for plans dir when missing 2026-01-28 12:41:06 +02:00
Bohdan Triapitsyn 91e8b9e1f5 fix(ui): prevent memory leak in diff view with many modified files
- Add LRU eviction to diffCache (max 30 entries / 20MB)
- Single-file mode: render only selected diff, not all hidden ones
- Stacked mode: collapse files beyond first 10 by default
- Limit DiffWorkerProvider warmup to 10 files
- Reduce worker pool size (4 to 2) and AST cache (200 to 50)
2026-01-28 12:29:01 +02:00
Bohdan Triapitsyn 8c6eb3c44d release v1.5.9 2026-01-28 02:23:27 +02:00
Bohdan Triapitsyn 84e9391871 feat: add integrate commits to parental branch section and wired UI
Introduce IntegrateCommitsSection to plan and apply commits from source to target branch
Wire the integration panel into GitView so users can run integrate flow from the current worktree
2026-01-28 02:10:40 +02:00
Bohdan Triapitsyn 415b043326 feat: migrate to OpenCode SDK worktrees with per-project config
Add SDK-based worktree management that lists and starts SDK worktrees
Migrate per-project setup to ~/.config/openchamber/<projectId>.json
Deprecate .openchamber legacy paths and adapt UI to new config
2026-01-27 20:00:07 +02:00
Taylor Beeston 63a4c32dfa feat: fullscreen file (#228) 2026-01-27 19:23:33 +02:00
Bohdan Triapitsyn d17b617453 feat: add markdown viewer toggle in PlanView
Enable switching between preview and edit modes for Markdown content
Persist viewer mode in localStorage and restore on load
Render PreviewToggleButton beside the path actions
2026-01-27 12:33:12 +02:00
Bohdan Triapitsyn 829e9f6216 fix(web): handle plans dir errors during listing 2026-01-27 12:17:04 +02:00
Bohdan Triapitsyn b861e4abf1 feat: introduce useEffectiveDirectory hook and adopt across views (#226)
Add a centralized useEffectiveDirectory hook to resolve the active directory
Use the hook across DiffView, FilesView, GitView, and TerminalView
Fix list styling by rendering ul/ol bullets outside
2026-01-27 11:57:56 +02:00
Bohdan Triapitsyn 8b515346bc ci: update PR workflow to bun-based checks 2026-01-27 11:54:05 +02:00
Jovines 5a4c291dc0 feat(ui): add markdown preview toggle for FilesView (#224) 2026-01-27 09:15:00 +02:00
Bohdan Triapitsyn 6656816101 release v1.5.8 2026-01-26 20:05:57 +02:00
Bohdan Triapitsyn b705160c81 feat(vscode): Increase concurrency cap and check deadline to speed file scans for search (#223)
Add gitignore filtering and time budget in file search
Filter results using gitignore when enabled by passing relative paths
Abort searches after the allotted time using timeBudgetMs
2026-01-26 19:59:10 +02:00
Bohdan Triapitsyn 25525d5b1b feat: enhance ClawdHub integration with paging and retry
Add paging support when loading ClawdHub skills
Retry on API errors and throttle for ClawdHub requests
Load source content on source change and show loading indicators
2026-01-26 19:50:11 +02:00
Bohdan Triapitsyn eec170771c fix(ui): render UserTextPart with linkable mentions and wrap
Preserve whitespace and enable text wrapping in user text
Remove Markdown renderer usage for user text
2026-01-26 17:21:49 +02:00
Bohdan Triapitsyn a9952fd8da Refactor permission management across UI components and stores (#221)
* refactor: normalize permission rules and improve command draft handling

Add normalized rule set construction for permissions in Agents pages
Track initial command draft state to detect unsaved changes
Prefill draft fields when duplicating or selecting existing commands

* feat: add global session-level edit mode for agent permissions
2026-01-26 16:09:46 +02:00
Bohdan Triapitsyn 74511abfda Multi-account GitHub auth + UI polish (model logos, markdown, scroll behavior) (#219)
* feat: display provider logos for favorite/recent models

Show provider logo next to model name in favorites and recents
Render provider logos in ModelControls, ModelMultiSelect, and ModelSelector lists
Maintain zero-logo state for other sections to avoid clutter

* feat: render user message as markdown instead of plain text

Render agent mentions as markdown links in user text
Apply inside list style for chat content to fix list rendering
Rely on SimpleMarkdownRenderer for consistent rendering

* fix(openchamber): adjust layout and overscroll behavior

Enable overscroll-auto on overlay containers for smoother scrolling
Move page content to full-width wrapper and preserve section borders
Show AboutSettings inside its own bordered block when visible

* feat: integrate GitHub auth status store and UI

Introduce GitHubAuthStore to track connection status and polling
Show GitHub avatar in header when connected
Guard issue/pr dialogs behind GitHub auth status and show notices

* feat: add GitHub multi-account support

Add API and UI flow to activate a GitHub account
Show and switch between multiple GitHub accounts in header
Persist and normalize accounts list with current selection
2026-01-26 11:28:55 +02:00
Nelson Pires 1de0ebd4fc fix(ui): improve mobile layout for attachments, git & permissions (#218)
* feat: improve file attachment chip layout and truncation

* style(chat): improve PermissionCard layout and sizing

* feat(CommitSection): add mobile-friendly commit & push with tooltip

* style: refine chat file attachments and permission controls

* feat: Add aria-label for Commit & Push button
2026-01-26 01:43:11 +02:00
Bohdan Triapitsyn efe9ad27b7 feat: add text truncation hook and marquee support (#217)
Introduce a hook to detect text truncation for dynamic UI updates
Replace static marquee spans with a reusable marquee component in files and labels
Enable copying of terminal selection on mouse up and touch end
2026-01-26 00:24:40 +02:00
Bohdan Triapitsyn f34027df10 Optimize chat rendering & add web session activity tracking (#214)
* feat: add chat virtualization and turn grouping infrastructure

Implement VirtualMessageList with virtualization and overscan for smooth scrolling
Refactor MessageList to render only visible messages and pass scroll refs
Introduce TurnGroupingContext and provider to stabilize per-turn rendering and reduce re-renders

* feat: add web server session activity endpoint for visibility restore

Add /api/session-activity endpoint to expose tracked session activity
Use web server activity first when restoring visibility, with fallback to global status
Update server SSE to set session phase on activity events

* feat(chat): split TurnGroupingContext into UI/Streaming contexts

Add separate UI state and streaming contexts to reduce re-renders.
Skip animations for items visible in collapsed view when expanding.
Track shown parts in collapsed mode to fade in progressively

* feat(ui): cache turn groups with expand state and guard web activity

Add isExpanded to the turn cache key to trigger updates correctly
Expose isGroupExpanded from UI state so groups reflect expand/collapse
Limit web server session activity fetch to web runtime only
2026-01-25 19:16:26 +02:00
杨巅峰andiiyangdianfeng adbc5af95f feat(ui): add configurable text justification activity setting (#212)
* fix(server): improve external server and error handling

- Skip OpenCode shutdown when using external server
  (OPENCODE_SKIP_START=true)
- Return 404 status for non-existent directories instead of
  empty array
- Move error logging before response handling

* feat(ui): add configurable text justification activity setting

- Replace hardcoded ENABLE_TEXT_JUSTIFICATION_ACTIVITY constant with
  dynamic showTextJustificationActivity setting in useUIStore
- Add toggle UI in Chat settings section (Settings > Chat)
- Add setting to DesktopSettings type for cross-runtime persistence
- Default value is false (matching original constant behavior)

---------

Co-authored-by: iiyangdianfeng <goodydfwow@gmail.com>
2026-01-25 19:09:31 +02:00
Bohdan Triapitsyn 5950a31632 fix: Chrome diff scroll in All Files layout (#213)
Replace nested ScrollableOverlay with simple div in inline diff to fix vertical scroll blocking in Chrome. Add explicit h-full to stacked view flex container and disableHorizontal to main ScrollableOverlay for proper scroll behavior.
2026-01-25 18:52:58 +02:00
Bohdan Triapitsyn f77181a649 fix: gracefully handle missing directories in list operations 2026-01-25 17:21:36 +02:00
Bohdan Triapitsyn f4da45a8ad Add plan mode and plan view with per-session agent context (#210)
* feat: add plan/build mode switching and Plan view tab

Add PlanView view and integrate plan tab into main layout
Introduce plan_enter and plan_exit tools with icons and status strings
Persist per-session agent selections in context to reduce UI flicker during mode switches

* feat: enchanced plan discovery checks in header and plan view

* fix(ui): align PlanView and Header with sessionDirectory logic

Remove dependency on context store in header and compute sessionDirectory from session or currentDirectory
Compute display and repo paths using sessionDirectory for PlanView and update path resolution
Poll plan content every 3 seconds to reflect changes without heavy retries

* feat(ui): improve header tab switching and add copy buttons for plan

Switch header tab navigation to central UI store and auto-switch when plan is unavailable
Show checkmark icon after copying file contents or path with auto-hide timeout
Extend plan view path resolution to prefer session directory when present
2026-01-25 15:52:02 +02:00
Bohdan Triapitsyn 75f781f940 fix(chat): make sendMessage calls fire-and-forget with error handling 2026-01-24 21:11:50 +02:00
Bohdan Triapitsyn 1720a8d6fd feat: add iOS safe area support for PWA header
Introduce CSS variables for safe-area in iOS PWA environments
Apply header padding based on safe-area top to header-safe-area element
2026-01-24 18:37:03 +02:00
Bohdan Triapitsyn 3e809e79b1 release v1.5.7 2026-01-24 18:19:58 +02:00
Bohdan Triapitsyn 0e11ea3f83 feat: extend PR context to include check details
Add check details to PR context via includeCheckDetails flag
Open a checks dialog showing check run summaries and steps
Improve PR lookup for forked repos by matching head branch
2026-01-24 17:59:08 +02:00
Bohdan Triapitsyn b8f57484a5 fix(web): implement atomic write for shared storage
Add atomic write for the shared storage file to prevent race conditions.
Write to a temp file with restricted permissions and atomically rename.
Apply 600 permissions to the final storage file when possible
2026-01-24 15:06:29 +02:00
Bohdan Triapitsyn 4ff085d314 release v1.5.6 2026-01-24 02:34:52 +02:00
Bohdan Triapitsyn 87329ac71f chore: updated docs 2026-01-24 02:28:06 +02:00
Bohdan Triapitsyn ab8a613f9a fix(github): show an Open settings button in not-connected dialogs for quick access 2026-01-24 02:15:16 +02:00
Bohdan Triapitsyn f370ea5d8c feat: add GitHub PR list and context APIs
Add PRs list API with pagination
Provide PR context API with optional diff
Integrate PR picker in session UI
2026-01-24 01:57:35 +02:00
Bohdan Triapitsyn 57f00be773 feat: add GitHub issue picker and API endpoints
Add GitHubIssuePickerDialog UI for selecting issues
Enable new session from GitHub issue from session sidebar
Implement GitHub issues/list/get/comments APIs across desktop, web, and VS Code
2026-01-24 00:30:34 +02:00
Bohdan Triapitsyn da20c647e2 feat(git): improve PR panel (#207) 2026-01-23 19:54:28 +02:00
Nelson Pires 614277eaa1 Fix mobile scrolling for CommandAutocomplete dropdown (#203)
* feat(chat): enable pan-y touch scrolling in CommandAutocomplete

* fix: enable touch scrolling on overlay scrollbar

* chore(ui): remove touch-action and -webkit-overflow-scrolling
2026-01-23 19:42:16 +02:00
Bohdan Triapitsyn 463e9ec4e3 Add GitHub integration for PRs, issues and AI PR description (#205)
* feat: integrate GitHub OAuth device flow across runtimes

Add GitHub OAuth device flow endpoints across runtimes
Introduce GitHubSettings UI panel and sidebar entry
Persist GitHub auth state in per-runtime storage

* feat: add GitHub PR status and PR description generation

Show PR status for the current branch in the Git view
Generate a pull request description from the diff between base and head
Expose prStatus, prCreate, and prMerge APIs in web and desktop clients

* feat: add GitHub PR ready for review

Add API to mark pull requests as ready for review
Show a Ready button for draft PRs and reflect status in UI
Handle token expiration and GraphQL errors when marking ready
2026-01-23 16:08:58 +02:00
Bohdan Triapitsyn 0e715be7d6 release v1.5.5 2026-01-23 01:56:46 +02:00
Bohdan Triapitsyn 71b9ec6e3d fix(ui): improve visibility condition and push notification handling (#199)
Resolve visibility state for beacon reporting to handle focus correctly
Normalize push subscriptions per UI session and send to each endpoint
Suppress push notifications when a visible window exists to avoid redundant alerts
2026-01-23 01:51:22 +02:00
Bohdan Triapitsyn 51922d7b23 ci: switch oc-review workflow to pull_request and enable token 2026-01-23 00:30:17 +02:00
Bohdan Triapitsyn 95e41940f8 fix: adopt plural config dirs for agents, commands, and skills (#198) 2026-01-23 00:27:01 +02:00
Bohdan Triapitsyn 7c36418e23 chore: allow review comments on forks 2026-01-22 22:01:05 +02:00