Commit Graph
1270 Commits
Author SHA1 Message Date
Bohdan Triapitsyn 040b6a9dc6 feat: add OpenCode update notification setting
Adds a setting to show or hide OpenCode update notifications
Dismisses the active update toast when notifications are disabled
Adds localized settings labels
2026-05-15 21:38:57 +03:00
Bohdan Triapitsyn 59bc0c6c06 fix: hide branch selection for non-git projects in draft session 2026-05-15 21:30:21 +03:00
Bohdan Triapitsyn 60f380479a feat: add session switcher to VS Code layout
Open recent sessions from the VS Code header
Add compact session switcher mode
Limit session prefetch to the active directory
2026-05-15 20:22:01 +03:00
Bohdan Triapitsyn b6149614bd feat: add session switcher dropdown in header
Open recent sessions from chat headers
Support session switching in mini chat
Share pinned and active session state
2026-05-15 18:16:09 +03:00
kjhqandartac 81cb31f1fd fix: display selected source label in skills catalog dropdown (#1270)
Co-authored-by: artac <artac@artacs-MacBook-Pro.local>
2026-05-15 18:12:19 +03:00
Bohdan Triapitsyn b79a40adce fix: proxy absolute same-origin preview requests
Fixes Preview backend calls built from window.location.origin
Routes same-origin fetch, XHR, EventSource, and WebSocket requests through the preview proxy
Keeps local full-stack apps working inside the Preview panel
2026-05-15 14:44:35 +03:00
Bohdan Triapitsyn 72216f4276 fix: avoid launching unrelated project actions for preview
Auto-discovery no longer treats a single Project Action as a dev server
Only actions that look like dev, start, preview, or serve commands are used
Prevents lint or other unrelated actions from opening preview
2026-05-15 13:46:18 +03:00
Bohdan Triapitsyn 3e53d7e071 feat: add fusion for multi-run sessions
Adds Run fusion for multi-run-like sessions
Combines sibling outputs into a new fusion session
Adds configurable Fusion prompts in Magic Prompts settings
2026-05-15 13:26:46 +03:00
Bohdan Triapitsyn 713bb6dfb1 feat: add optional multi-run isolation
Adds an Isolate runs toggle for Git projects
Allows Git multi-runs to share the same directory
Keeps non-Git runs unisolated with clear footer info
2026-05-15 11:35:23 +03:00
Bohdan Triapitsyn 29811ec03e fix: show quota reset times in local timezone (#1128)
Formats rate-limit reset timestamps in the client timezone
Keeps server-provided reset labels as fallbacks
Applies consistent reset labels across header, usage, and VS Code views
2026-05-15 01:03:36 +03:00
Bohdan Triapitsyn 7b8861144e fix: prevent tooltip context crashes in chat (#1134)
Keeps VS Code chat from crashing when tooltip context is unavailable
Falls back safely for tooltip triggers and content
2026-05-15 00:48:33 +03:00
Bohdan Triapitsyn ba019c05a6 feat: make agent switching shortcut configurable (#1186)
Adds Cycle Agent to shortcut settings with Tab as the default
Applies custom shortcut in chat input and model selector
Updates help dialog to show saved shortcut values
2026-05-15 00:27:39 +03:00
Bohdan Triapitsyn 8c226afbbb fix: show large git change lists reliably
Avoids empty changes sections when many files are modified
Keeps medium-sized change lists on stable non-virtualized rendering
2026-05-14 23:47:35 +03:00
Bohdan Triapitsyn a1777689e7 feat: support multi-run for non-Git projects
Creates non-Git multi-runs in the same project directory
Shows concise footer info when worktree isolation is unavailable
Displays default model variants with a friendly label
2026-05-14 23:33:10 +03:00
Bohdan Triapitsyn 8056fae275 Reduce React Doctor diagnostics in ModelControls (#1265)
* fix: reduce React Doctor diagnostics in ModelControls (69/88)

* Move EditModeIcon and IconBadge to module scope to prevent remount on every render

EditModeIcon and IconBadge were defined as React.FC inside ModelControls
function body, producing a new component type reference on every render
and forcing React to unmount/remount subtrees. Moves both to module
scope; EditModeIcon no longer closes over editToggleIconClass since all
callers already pass an explicit className prop.
2026-05-14 19:12:33 +03:00
Bohdan Triapitsyn 5e3afa3aa7 chore: add manual testing guidance to React Doctor PRs 2026-05-14 19:11:43 +03:00
Bohdan Triapitsyn 0eb72eb867 chore: add React Doctor maintenance workflow
Adds a React Doctor batching script for targeted diagnostics cleanup
Adds OpenCode commands for cleanup and review follow-up workflows
Ignores generated local React Doctor reports
2026-05-14 18:31:47 +03:00
Bohdan Triapitsyn a4decfd3dd release v1.11.0 2026-05-14 15:36:07 +03:00
Bohdan Triapitsyn 5313494e5a fix: restore agent mentions and child permission auto-accept
Sends tagged agents as OpenCode agent parts
Auto-accepts pending child-session permissions from parent sessions
2026-05-14 15:30:10 +03:00
Bohdan Triapitsyn 34fde831eb fix: make daemon startup ready handoff reliable
Wait longer for slow daemon startup
Fail cleanly when ready handoff does not complete
Avoid orphaned daemon processes after startup timeout
2026-05-14 15:00:25 +03:00
Bohdan Triapitsyn a12be061e3 feat: add OpenCode update and in-app Browser features 2026-05-14 14:45:04 +03:00
Bohdan Triapitsyn 92f1fa7dfe fix: avoid opencode structured output session breakage
Replace server-enforced structured output with local JSON parsing for Git generation
Render generated commit and PR JSON responses as compact chat cards
Tighten generation prompts while preserving active session context
2026-05-14 02:16:52 +03:00
Isaac Sanchez-HawkinsandIsaac Sanchez bac655ddb4 fix(ui): preserve runtime worktree source (#1259)
Co-authored-by: Isaac Sanchez <isanchez-hawkins@arize.com>
2026-05-14 02:06:21 +03:00
Bohdan Triapitsyn ef85c63336 fix: voice input in Electron - local Whisper STT + network error handling
- Add local Whisper STT via Transformers.js with Web Worker (no UI freeze)
- Default sttProvider to 'local' in Electron (browser STT unavailable)
- Fix infinite toast loop: stop auto-restart on network errors
- Add retry limit with exponential backoff for transient STT errors
- Append voice transcript to input field (append-inline), not replace
- Add model catalog with download/load button in Voice Settings
2026-05-14 01:19:52 +03:00
Bohdan Triapitsyn ceb5bbd5dd fix: remove opaque backgrounds from file icons 2026-05-13 19:53:16 +03:00
Bohdan Triapitsyn 7fb5ad0f48 fix: check window focus before summarization to avoid wasted Zen API calls
When notificationMode is 'hidden-only', the isWindowFocused check now
happens before summarization and template resolution, not after. This
prevents costly Zen API calls for notifications that would be skipped
anyway, and eliminates stale notifications arriving after the user has
already read the response and switched away.
2026-05-13 17:43:08 +03:00
Bohdan Triapitsyn ef2dc8751d chore: updated opencode sdk version to 1.4.48 2026-05-13 15:59:49 +03:00
Bohdan Triapitsyn 27c7b87c5f feat: add macOS menu actions for webview reload and restart 2026-05-13 15:57:24 +03:00
a2c88f0142 Sync speech recognition settings across devices (#1217)
* fix: sync STT settings across devices
Persist speech recognition preferences through shared OpenChamber settings so mobile and desktop stay in sync.

* fix bot review

* fix(voice): sync transcribe-on-stop setting

---------

Co-authored-by: Konstantin Zolin <kzolin@alfabank.ru>
Co-authored-by: Bohdan Triapitsyn <artmore@protonmail.com>
2026-05-13 15:45:03 +03:00
c1948fe691 Adds an option to transcribe server STT audio when stopping voice input. (#1219)
* feat(voice): add transcribe-on-stop recognition option

* fix(voice): tighten transcribe-on-stop cleanup

* fix(voice): address transcribe-on-stop review feedback

* fix(voice): scope transcribe-on-stop to server STT

---------

Co-authored-by: Konstantin Zolin <kzolin@alfabank.ru>
Co-authored-by: Bohdan Triapitsyn <artmore@protonmail.com>
2026-05-13 15:30:25 +03:00
chutasticandBohdan Triapitsyn 9347f97a98 fix(ui): persist selection-store state across reloads (#1229)
* fix(ui): persist selection-store state across reloads

* fix(ui): resolve selection store persistence build

---------

Co-authored-by: Bohdan Triapitsyn <artmore@protonmail.com>
2026-05-13 15:06:20 +03:00
11e5ab93a9 fix(quota): guard remaining usage percent (#1242)
* fix(quota): guard remaining usage percent

* test(quota): cover non-finite usage percents

* fix(ui): clean up virtual scroll frame

---------

Co-authored-by: Isaac Sanchez <isanchez-hawkins@arize.com>
Co-authored-by: Bohdan Triapitsyn <artmore@protonmail.com>
2026-05-13 14:51:46 +03:00
Bohdan Triapitsyn eb8b9ed715 perf(ui): cache turn window model and fix virtualized scroll-to-bottom
- Cache turnWindowModel per sessionId to skip rebuild on re-visit
- Compensate scroll position after virtualizer measurement settles
  (RAF-based) so large uncached sessions open at bottom, not top
- Add MessageListHandle.scrollToBottom via virtualizer API
2026-05-13 14:28:29 +03:00
Bohdan Triapitsyn 14357257ae perf(ui): migrate icons to SVG sprite system
Replace @remixicon/react with a shared Icon component that renders
via <use href> references to a single hidden SVG sprite. This reduces
DOM node count by replacing inline SVGs with lightweight references.

- Create Icon component with sprite injection (packages/ui/src/components/icon/)
- Migrate all 164 files from @remixicon/react to Icon component
- Auto-generate sprite data from remixicon bundle (scripts/generate-icon-sprite.mjs)
- Add bun run icons:generate to package.json
- Move @remixicon/react to devDependencies
- Add icon usage instructions to theme-system skill
2026-05-13 13:26:35 +03:00
Jake b4cbd7f0d6 Fix: archived session bulk delete for VS Code extension (#1256)
* fix/archived sessiongroup bulk delete

* Remove in line comment

Signed-off-by: Jake <101855602+jjdubski@users.noreply.github.com>

* small fix for lint

* indentation fix, restore to original

---------

Signed-off-by: Jake <101855602+jjdubski@users.noreply.github.com>
2026-05-13 11:12:30 +03:00
lyxxxandBohdan Triapitsyn 462cebdf95 Fix(queue): auto-send queued messages FIFO (#1254)
* fix(queue): auto-send queued messages FIFO

* test(queue): cover FIFO queued auto-send payload

* test(queue): stub config store in auto-send tests

* fix(test): complete Agent type in queued auto-send test

---------

Co-authored-by: Bohdan Triapitsyn <artmore@protonmail.com>
2026-05-13 10:56:55 +03:00
Isaac Sanchez-HawkinsandIsaac Sanchez 2c25bfc8d7 fix(vscode): skip stale active editor broadcasts (#1246)
Co-authored-by: Isaac Sanchez <isanchez-hawkins@arize.com>
2026-05-13 10:37:11 +03:00
Isaac Sanchez-HawkinsandIsaac Sanchez 58c6a22036 fix(ui): default Button type to button (#1252)
Co-authored-by: Isaac Sanchez <isanchez-hawkins@arize.com>
2026-05-13 10:36:49 +03:00
Isaac Sanchez-HawkinsandIsaac Sanchez 1e1a7e02b7 test(opencode): restore missing PATH cleanly (#1243)
Co-authored-by: Isaac Sanchez <isanchez-hawkins@arize.com>
2026-05-13 10:35:32 +03:00
Isaac Sanchez-HawkinsandIsaac Sanchez d66e077b99 fix(pwa): include root-scoped session shortcuts (#1244)
Co-authored-by: Isaac Sanchez <isanchez-hawkins@arize.com>
2026-05-13 10:35:12 +03:00
Isaac Sanchez-HawkinsandIsaac Sanchez cde9c656e7 fix(vscode): sync agent manager settings saves (#1245)
* fix(vscode): sync agent manager settings saves

* fix(vscode): receive agent manager settings sync

---------

Co-authored-by: Isaac Sanchez <isanchez-hawkins@arize.com>
2026-05-13 10:33:54 +03:00
Isaac Sanchez-HawkinsandIsaac Sanchez 6b52efbd34 fix(vscode): abort SSE reconnect delays (#1248)
* fix(vscode): abort SSE reconnect delays

* fix(vscode): throw abort reason after SSE retry cancel

---------

Co-authored-by: Isaac Sanchez <isanchez-hawkins@arize.com>
2026-05-13 10:33:30 +03:00
Isaac Sanchez-HawkinsandIsaac Sanchez f01391dd72 fix(opencode): broadcast activity idle after cooldown (#1249)
Co-authored-by: Isaac Sanchez <isanchez-hawkins@arize.com>
2026-05-13 10:32:30 +03:00
Isaac Sanchez-HawkinsandIsaac Sanchez 05c5683ecb fix(scheduled-tasks): skip scheduling after stop (#1251)
Co-authored-by: Isaac Sanchez <isanchez-hawkins@arize.com>
2026-05-13 10:32:16 +03:00
Isaac Sanchez-HawkinsandIsaac Sanchez c005c59186 fix(quota): accept epoch reset timestamps (#1241)
* fix(quota): accept epoch reset timestamps

* fix(quota): format epoch reset windows

---------

Co-authored-by: Isaac Sanchez <isanchez-hawkins@arize.com>
2026-05-13 10:30:42 +03:00
kjhqandartac f059bc8dd6 fix: remove GitHub hardcoding and generalize for non-GitHub git providers (#1216)
* fix: remove GitHub hardcoding and generalize for non-GitHub git providers

* fix: guard SSH path extraction against missing colon separator

---------

Co-authored-by: artac <artac@artacs-MacBook-Pro.local>
2026-05-13 10:19:31 +03:00
kostazolandKonstantin Zolin 51c4ec693b Fix (#1218)
Co-authored-by: Konstantin Zolin <kzolin@alfabank.ru>
2026-05-12 14:49:15 +03:00
Bohdan Triapitsyn d587ed7542 perf(ui): enable session timeline virtualization and defer heavy tool content
Virtualize message timeline at 5+ turns. Stabilize virtualizer keys,
add prepend-aware scroll compensation for "Load older", and defer
expanded tool bodies by one animation frame. Tighten initial turn
window to 7 turns for faster session open.
2026-05-12 14:44:53 +03:00
644050824e fix(terminal): reject file cwd values (#1204)
* fix(terminal): reject file cwd values

* test(terminal): remove stale cwd access mock

---------

Co-authored-by: Isaac Sanchez <isanchez-hawkins@arize.com>
Co-authored-by: Bohdan Triapitsyn <artmore@protonmail.com>
2026-05-12 11:30:10 +03:00
Isaac Sanchez-HawkinsandIsaac Sanchez 89630af98d fix(settings): constrain plan path remapping (#1203)
Co-authored-by: Isaac Sanchez <isanchez-hawkins@arize.com>
2026-05-12 11:12:17 +03:00