Commit Graph
972 Commits
Author SHA1 Message Date
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-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 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
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 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
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
Isaac Sanchez-HawkinsandIsaac 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-HawkinsandIsaac 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-HawkinsandIsaac 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-HawkinsandIsaac 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-HawkinsandIsaac 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-HawkinsandIsaac 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-HawkinsandIsaac 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-HawkinsandIsaac 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-HawkinsandIsaac 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-HawkinsandIsaac 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-HawkinsandIsaac 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-HawkinsandIsaac 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-HawkinsandIsaac 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-HawkinsandIsaac 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-HawkinsandIsaac 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-HawkinsandIsaac 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-HawkinsandIsaac 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-HawkinsandIsaac 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-HawkinsandIsaac 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-HawkinsandIsaac 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-HawkinsandIsaac 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-HawkinsandIsaac 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-HawkinsandIsaac 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-HawkinsandIsaac 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-HawkinsandIsaac 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-HawkinsandIsaac 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-HawkinsandIsaac 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-HawkinsandIsaac 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