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
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
ef2dc8751d
chore: updated opencode sdk version to 1.4.48
2026-05-13 15:59:49 +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
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
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
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
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
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
Isaac Sanchez-Hawkins and Isaac Sanchez
e50a484633
fix(sync): drop orphan session parts ( #1183 )
...
* fix(sync): drop orphan session parts
* fix(sync): guard missing part cache
---------
Co-authored-by: Isaac Sanchez <isanchez-hawkins@arize.com >
2026-05-12 11:05:37 +03:00
Isaac Sanchez-Hawkins and Isaac Sanchez
7506b736dd
fix(git): label branch rename buttons ( #1239 )
...
Co-authored-by: Isaac Sanchez <isanchez-hawkins@arize.com >
2026-05-12 11:03:26 +03:00
Isaac Sanchez-Hawkins and Isaac Sanchez
ebf87f64dc
fix(ui): label session rename buttons ( #1238 )
...
Co-authored-by: Isaac Sanchez <isanchez-hawkins@arize.com >
2026-05-12 11:02:53 +03:00
Isaac Sanchez-Hawkins and Isaac Sanchez
109aecf3de
fix(sync): advance sidebar recency after streams ( #1232 )
...
Co-authored-by: Isaac Sanchez <isanchez-hawkins@arize.com >
2026-05-12 11:01:20 +03:00
Isaac Sanchez-Hawkins and Isaac Sanchez
65c54411de
fix(sync): fetch sessions in active directory ( #1231 )
...
Co-authored-by: Isaac Sanchez <isanchez-hawkins@arize.com >
2026-05-12 11:01:10 +03:00
Isaac Sanchez-Hawkins and Isaac Sanchez
416a11dcce
fix(ui): recover from corrupt chunk reload markers ( #1230 )
...
* fix(ui): recover from corrupt chunk reload markers
* test(ui): clarify chunk recovery assertions
---------
Co-authored-by: Isaac Sanchez <isanchez-hawkins@arize.com >
2026-05-12 11:00:58 +03:00
Isaac Sanchez-Hawkins and Isaac Sanchez
75ad1d31b5
fix(tasks): avoid weekday checkbox double toggle ( #1225 )
...
* fix(tasks): avoid weekday checkbox double toggle
* fix(tasks): preserve weekday hover affordance
* fix(tasks): remove redundant weekday hover class
---------
Co-authored-by: Isaac Sanchez <isanchez-hawkins@arize.com >
2026-05-12 11:00:21 +03:00
Isaac Sanchez-Hawkins and Isaac Sanchez
e0ef318751
fix(ui): clamp text loop index ( #1221 )
...
* fix(ui): clamp text loop index
* fix(ui): report clamped text loop index
---------
Co-authored-by: Isaac Sanchez <isanchez-hawkins@arize.com >
2026-05-12 11:00:02 +03:00
Isaac Sanchez-Hawkins and Isaac Sanchez
707ac6f408
fix(desktop): finish empty app scans ( #1222 )
...
* fix(desktop): finish empty app scans
* fix(desktop): keep app scan retries active after failures
---------
Co-authored-by: Isaac Sanchez <isanchez-hawkins@arize.com >
2026-05-12 10:58:16 +03:00
Isaac Sanchez-Hawkins and Isaac Sanchez
eb5b1de9b7
test(sync): shorten websocket fallback test ( #1211 )
...
* test(sync): shorten websocket fallback test
* test(sync): avoid duplicate fallback cleanup
---------
Co-authored-by: Isaac Sanchez <isanchez-hawkins@arize.com >
2026-05-12 10:57:27 +03:00
Isaac Sanchez-Hawkins and Isaac Sanchez
f1317d7f71
fix(status): classify multiedit as editing ( #1209 )
...
* fix(status): classify multiedit as editing
* fix(status): preserve multiedit status phrase
---------
Co-authored-by: Isaac Sanchez <isanchez-hawkins@arize.com >
2026-05-12 10:57:04 +03:00
Isaac Sanchez-Hawkins and Isaac Sanchez
291ff98f18
fix(files): match Windows prefixes case-insensitively ( #1208 )
...
* fix(files): match Windows prefixes case-insensitively
* fix(files): remove Windows paths case-insensitively
---------
Co-authored-by: Isaac Sanchez <isanchez-hawkins@arize.com >
2026-05-12 10:56:53 +03:00
Isaac Sanchez-Hawkins and Isaac Sanchez
5e6207606c
fix(files): ignore tab paths outside root ( #1207 )
...
Co-authored-by: Isaac Sanchez <isanchez-hawkins@arize.com >
2026-05-12 10:56:27 +03:00
Isaac Sanchez-Hawkins and Isaac Sanchez
edd984c08f
fix(i18n): retry failed locale loads ( #1206 )
...
* fix(i18n): retry failed locale loads
* test(i18n): reset locale cache in retry test
---------
Co-authored-by: Isaac Sanchez <isanchez-hawkins@arize.com >
2026-05-12 10:56:17 +03:00
Bohdan Triapitsyn
c38727efc9
release v1.10.4
2026-05-09 01:18:33 +03:00
Bohdan Triapitsyn
3039645096
fix: improve Mini Chat session controls
...
Removed duplicate Mini Chat launch action from the closed-sidebar header
Enabled opening Mini Chat from draft sessions via the header PiP action
Added read-only context usage info to existing Mini Chat sessions
2026-05-08 23:58:02 +03:00
Isaac Sanchez-Hawkins and Isaac Sanchez
15f2179274
fix(files): guard pending navigation ( #1172 )
...
* fix(files): guard pending navigation
* fix(files): avoid pending navigation re-entry
---------
Co-authored-by: Isaac Sanchez <isanchez-hawkins@arize.com >
2026-05-08 23:37:27 +03:00
Isaac Sanchez-Hawkins and Isaac Sanchez
f524880c94
fix(terminal): track SSE opens per attempt ( #1171 )
...
Co-authored-by: Isaac Sanchez <isanchez-hawkins@arize.com >
2026-05-08 23:34:03 +03:00
Isaac Sanchez-Hawkins and Isaac Sanchez
c550d02dc8
fix(terminal): clean up idle websocket ( #1170 )
...
* fix(terminal): clean up idle websocket
* fix(terminal): simplify active reconnect state
---------
Co-authored-by: Isaac Sanchez <isanchez-hawkins@arize.com >
2026-05-08 23:27:27 +03:00
Isaac Sanchez-Hawkins and Isaac Sanchez
26caa33319
fix(files): ignore stale text loads ( #1169 )
...
* fix(files): ignore stale text loads
* fix(files): clear loading on directory read error
---------
Co-authored-by: Isaac Sanchez <isanchez-hawkins@arize.com >
2026-05-08 23:18:15 +03:00
Isaac Sanchez-Hawkins and Isaac Sanchez
d7f8045e82
fix(files): stop navigation when save fails ( #1168 )
...
Co-authored-by: Isaac Sanchez <isanchez-hawkins@arize.com >
2026-05-08 23:16:18 +03:00
Isaac Sanchez-Hawkins and Isaac Sanchez
9715b6c23c
fix(sync): preserve part update ordering ( #1167 )
...
* fix(sync): preserve part update ordering
* test(sync): wait for pipeline delivery
---------
Co-authored-by: Isaac Sanchez <isanchez-hawkins@arize.com >
2026-05-08 23:14:07 +03:00