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
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-Hawkins and Isaac 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
chutastic and Bohdan 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
lyxxx and Bohdan 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-Hawkins and Isaac 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-Hawkins and Isaac 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-Hawkins and Isaac 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-Hawkins and Isaac 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-Hawkins and Isaac 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-Hawkins and Isaac 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-Hawkins and Isaac 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-Hawkins and Isaac 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-Hawkins and Isaac 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
kjhq and artac
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
kostazol and Konstantin 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-Hawkins and Isaac 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
Isaac Sanchez-Hawkins and Isaac Sanchez
3228e7f45f
fix(vscode): clear activity snapshot on stop ( #1201 )
...
Co-authored-by: Isaac Sanchez <isanchez-hawkins@arize.com >
2026-05-12 11:12:01 +03:00
Isaac Sanchez-Hawkins and Isaac Sanchez
2b514e4cb9
test(input): restore FileReader mock ( #1200 )
...
Co-authored-by: Isaac Sanchez <isanchez-hawkins@arize.com >
2026-05-12 11:11:34 +03:00
Isaac Sanchez-Hawkins and Isaac Sanchez
12160a101d
fix(git): label stash icon buttons ( #1199 )
...
Co-authored-by: Isaac Sanchez <isanchez-hawkins@arize.com >
2026-05-12 11:11:12 +03:00
Isaac Sanchez-Hawkins and Isaac Sanchez
1f6cea50ed
fix(tasks): preserve timestamps when listing ( #1198 )
...
Co-authored-by: Isaac Sanchez <isanchez-hawkins@arize.com >
2026-05-12 11:10:56 +03:00
Isaac Sanchez-Hawkins and Isaac Sanchez
51356b4195
fix(projects): use fallback icon MIME ( #1197 )
...
Co-authored-by: Isaac Sanchez <isanchez-hawkins@arize.com >
2026-05-12 11:10:39 +03:00
Isaac Sanchez-Hawkins and Isaac Sanchez
75d78b6113
fix(vscode): clean up disposed chat webviews ( #1196 )
...
* fix(vscode): clean up disposed chat webviews
* fix(vscode): scope disposed webview streams
---------
Co-authored-by: Isaac Sanchez <isanchez-hawkins@arize.com >
2026-05-12 11:10:27 +03:00
Isaac Sanchez-Hawkins and Isaac Sanchez
51e1967f68
fix(sessions): isolate folder save temp files ( #1195 )
...
* fix(sessions): isolate folder save temp files
* fix(sessions): remove failed save temp files
---------
Co-authored-by: Isaac Sanchez <isanchez-hawkins@arize.com >
2026-05-12 11:10:06 +03:00
Isaac Sanchez-Hawkins and Isaac Sanchez
736e33ab67
fix(vscode): cancel activity watcher retries on stop ( #1194 )
...
Co-authored-by: Isaac Sanchez <isanchez-hawkins@arize.com >
2026-05-12 11:09:49 +03:00
Isaac Sanchez-Hawkins and Isaac Sanchez
f7c5144c62
fix(sync): settle failed attachment reads ( #1193 )
...
Co-authored-by: Isaac Sanchez <isanchez-hawkins@arize.com >
2026-05-12 11:09:31 +03:00
Isaac Sanchez-Hawkins and Isaac Sanchez
f4ec7d6c1b
fix(ui): prevent duplicate long press timers ( #1192 )
...
* fix(ui): prevent duplicate long press timers
* fix(ui): clear long press on touch cancel
---------
Co-authored-by: Isaac Sanchez <isanchez-hawkins@arize.com >
2026-05-12 11:07:40 +03:00
Isaac Sanchez-Hawkins and Isaac Sanchez
b94afbc6ef
fix(opencode): unref provider tracker interval ( #1191 )
...
Co-authored-by: Isaac Sanchez <isanchez-hawkins@arize.com >
2026-05-12 11:07:24 +03:00
Isaac Sanchez-Hawkins and Isaac Sanchez
de72811cf1
fix(ui): support legacy PWA media listeners ( #1190 )
...
Co-authored-by: Isaac Sanchez <isanchez-hawkins@arize.com >
2026-05-12 11:07:04 +03:00
Isaac Sanchez-Hawkins and Isaac Sanchez
7e1801e97a
fix(push): mark visibility hidden on pagehide ( #1189 )
...
Co-authored-by: Isaac Sanchez <isanchez-hawkins@arize.com >
2026-05-12 11:06:51 +03:00
Isaac Sanchez-Hawkins and Isaac Sanchez
f2ce138e86
fix(vscode): include mtime in fs stat proxy ( #1188 )
...
Co-authored-by: Isaac Sanchez <isanchez-hawkins@arize.com >
2026-05-12 11:06:40 +03:00
Isaac Sanchez-Hawkins and Isaac Sanchez
222d1b7f51
fix(tts): clamp generated summaries ( #1187 )
...
* fix(tts): clamp generated summaries
* fix(tts): preserve non-finite summary limits
* test(tts): stub fetch without vitest globals
---------
Co-authored-by: Isaac Sanchez <isanchez-hawkins@arize.com >
2026-05-12 11:06:21 +03:00
Isaac Sanchez-Hawkins and Isaac Sanchez
bb5a6fb83b
fix(sessions): update changed share URLs ( #1184 )
...
Co-authored-by: Isaac Sanchez <isanchez-hawkins@arize.com >
2026-05-12 11:05:54 +03:00