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
kjhq and artac
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
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
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