Commit Graph
100 Commits
Author SHA1 Message Date
Bohdan Triapitsyn 2459ce13ff fix(chat): collapse model controls to icon-only on narrow widths
Bump @container/model-controls thresholds so labels disappear before
they would ellipsis-truncate. Hide order: agent (< 22rem), variant
(< 14rem), model (< 10rem). VS Code keeps its tighter thresholds.
2026-05-08 19:41:03 +03:00
Bohdan Triapitsyn 1a0f3bea8e fix: allow PR worktrees from existing local branches
Use existing local PR branches instead of blocking worktree creation
Only block PR branches already checked out in another worktree
Clarify local branch validation messages across locales
2026-05-08 16:59:31 +03:00
Bohdan Triapitsyn a591f63ed2 release v1.10.3 2026-05-08 16:26:07 +03:00
Bohdan Triapitsyn c827d6b8df fix: restore messages after redo
Refetches session messages before applying redo
Aligns undo/redo navigation with OpenCode behavior
Keeps restored messages visible after unrevert
2026-05-08 14:53:48 +03:00
Bohdan Triapitsyn d659929685 fix(chat): tighten auto-follow release thresholds
Bottom-zone threshold now scales with the scroll container's clientHeight
rather than window.innerHeight. The threshold is meant to mirror the empty
spacer at the end of the chat, but what users perceive as "the empty tail"
is relative to the visible chat area, not the whole viewport — on desktop
the chat is shorter than the window because of the input row below it.
This keeps the scroll-to-bottom button hidden until the user has actually
scrolled past the spacer they see, regardless of viewport size.

Wheel and touch release detection no longer treats every nested
[data-scrollable] as a blocker. The old check returned true for any
nested scrollable ancestor, so wheel-up over a code block already at its
own scrollTop=0 produced no effect — the inner element could not consume
the gesture and the outer chat refused to release auto-follow. The new
check returns true only when the nested element can actually scroll up
(scrollTop > 0); otherwise the gesture bubbles to the chat and releases
auto-follow as expected.
2026-05-08 14:31:16 +03:00
Bohdan Triapitsyn 0ea573f766 refactor: redesign chat scroll system
The previous system layered three hooks (useScrollEngine, useChatScrollManager,
useChatTimelineController) with overlapping responsibilities, four parallel
ResizeObservers/MutationObservers, and six entry points to "scroll to bottom"
(force-flag combinations, persistent follow loops, materialization recovery).
This produced bugs where users could not break free of auto-follow during
streaming: scrollbar drag, keyboard scrolling and find-in-page were not
detected as user intent, and observers kept restarting the follow loop on
every DOM mutation.

The new architecture replaces the two low-level hooks with a single
useChatAutoFollow that owns scroll behaviour end to end:

- One state: 'following' or 'released'. No follow modes, no pin flags,
  no marker pixels.
- One scroll writer: a lerp loop that runs only while the session is
  streaming and state is 'following'. Idle sessions never write scrollTop
  programmatically.
- One user-intent detector: wheel up, touch drag down, keyboard
  (PageUp / Home / ArrowUp), pointerdown on the OverlayScrollbar thumb,
  and explicit releaseAutoFollow() calls all flip the state to 'released'.
- A 1.2s grace period after explicit release: re-pin will not auto-engage
  inside this window, so a small wheel up cannot snap the user back even
  while they remain near the bottom spacer.
- Re-pin and the scroll-to-bottom button share the same threshold: the
  height of the empty bottom spacer (10vh on desktop, 40px on mobile).
  Released users see the button only after they have scrolled past the
  spacer that already exists at the end of the chat.
- Save/restore of scroll position uses ratio mapping, debounced at 150ms
  on user-driven scroll events; programmatic writes are masked via a short
  window so they never persist as user positions.
- Container reattachment is detected via a useLayoutEffect probe over
  scrollRef.current. Listeners and observers re-bind when ChatViewport
  mounts after hydration or after the first message promotes a draft
  session into a real chat.
- A pending-restore queue replays restoreSnapshot once the scroll
  container appears, fixing the case where a hydrating session landed at
  the top instead of the bottom.

Removed: useScrollEngine.ts, useChatScrollManager.ts, the persistent
follow loop with its own ResizeObserver+MutationObserver pair, the
materialization-recovery .finally resume that yanked idle users to the
bottom on transient sync gaps, and the openchamber:session-reselected
event (re-select still works through the existing onSessionSelected
callback). The openchamber:chat-force-scroll-bottom event remains for
synthetic-message paths like git-message generation.

Net change: ~1300 lines removed, two hooks replaced with one, one
observer pair instead of four.
2026-05-08 14:20:16 +03:00
Bohdan Triapitsyn e1ff21bc0a feat: add Electron Mini Chat windows (#1161)
Add dedicated Electron Mini Chat windows for focused chat sessions without the full desktop shell. Mini Chat can open existing sessions or draft sessions, supports pinning above other windows, transfers sessions or drafts back to the main window, and deduplicates existing-session windows.

Expose Mini Chat entry points from the main header, session sidebar, command palette, and `mod+alt+n`. Add a dedicated Vite entry and React runtime so the compact surface can stay isolated from full-app chrome while still sharing chat, sync, theme, locale, model, agent, and worktree behavior.

Keep Mini Chat behavior scoped to the compact surface:
- limit assistant/user message actions to the appropriate Mini Chat set
- hide workspace changed-files UI in Mini Chat
- keep draft worktree selection and streaming directory state in sync
- mark sessions viewed while they are open in Mini Chat
- support Mini Chat-specific keyboard shortcuts for input focus, model selection, thinking variant cycling, favorite model cycling, and opening new Mini Chat drafts

Harden Electron integration by gating Mini Chat controls on desktop IPC availability, restricting pin/unpin IPC to Mini Chat windows, and only closing Mini Chat after the main window handoff succeeds.
2026-05-08 12:22:59 +03:00
Bohdan Triapitsyn 8410c41b01 perf: show Electron splash window sooner
Shows the Electron window earlier during startup
Uses the existing splash SVG while the local runtime starts
2026-05-08 00:17:32 +03:00
Bohdan Triapitsyn 686fec7419 release v1.10.2 2026-05-07 23:54:35 +03:00
Bohdan Triapitsyn d5b3590901 fix: prevent live chat from snapping to latest
Keeps manual scroll position during active sessions
Avoids forced resume after missing chat data recovery
2026-05-07 23:03:46 +03:00
Bohdan Triapitsyn 0b0bb11d36 fix: clarify conflict and response style prompts
Conflict resolution prompts now ask for an analysis-first strategy
Response style instructions are wrapped as system reminders
Prompt templates stay separate from reminder formatting
2026-05-07 23:03:46 +03:00
Bohdan Triapitsyn 35d95c3044 fix: allow scrolling during streaming
User scroll-up now unpins active chat streaming
Auto-follow no longer snaps back after trusted upward scrolls
2026-05-07 23:03:46 +03:00
Bohdan Triapitsyn 585e2a55f1 fix: suppress inherited subagent notifications
Subagent completion notifications respect notification settings
Permission auto-accept now suppresses notifications for known child sessions
Server notification checks use OpenCode session parent semantics
2026-05-07 23:03:46 +03:00
Bohdan Triapitsyn add73ad687 fix: keep terminal shortcuts working without blanking chat
Terminal toggle shortcuts work while the terminal is focused
Hiding an expanded terminal no longer leaves a blank page
2026-05-07 23:03:46 +03:00
Bohdan Triapitsyn e892346c6b refactor: stabilize live chat sync materialization (#1132)
Canonicalize session message/part materialization across load, prefetch, reconnect, and recovery paths so OpenChamber restores session snapshots through one consistent merge flow.

Preserve live assistant streaming text when stale or delayed snapshots arrive, while still replacing optimistic user parts with confirmed server snapshots to avoid duplicated user messages.

Narrow recovery triggers to explicit incomplete snapshot signals instead of broad session-event fallbacks, reducing unnecessary session refetches during active streaming.

Keep turn windowing aligned with parented assistant replies and add regression coverage for materialization gaps, stale snapshot protection, optimistic user replacement, reconnect recovery, and turn grouping.
2026-05-07 18:57:44 +03:00
Bohdan Triapitsyn ff830d3812 fix: protect live session sync caches 2026-05-07 12:30:30 +03:00
Bohdan Triapitsyn 07edd6e9b9 fix: stabilize chat turn projection 2026-05-07 12:10:04 +03:00
Bohdan Triapitsyn 4cc2f1bff6 refactor: split vscode into a dedicated app root
Renders VS Code through its own app entrypoint
Keeps shared app effects focused and reusable
Avoids importing the full desktop app root in VS Code
2026-05-07 01:31:17 +03:00
Bohdan Triapitsyn c902dea89e fix: prevent mobile session row action overlap
Hide quick archive action on mobile session rows
Restore mobile row spacing for the existing menu action
2026-05-07 01:13:35 +03:00
Bohdan Triapitsyn d764ad6872 feat: add repository cloning to project setup
Add project can clone repositories into a chosen folder
Command palette now opens the add project flow
Clone flow supports selecting Git identities
2026-05-07 01:10:17 +03:00
Bohdan Triapitsyn fd3557e5c3 feat: improve preview proxy behavior
Sort dev-server false positive preview errors
Improves preview URL rewriting and navigation handling
Syncs app theme into preview iFrames
2026-05-07 00:02:01 +03:00
Bohdan Triapitsyn 8fb6cd1de3 chore: update screenshot references 2026-05-06 23:17:23 +03:00
Bohdan Triapitsyn 633edb27c3 release v1.10.1 2026-05-06 20:03:29 +03:00
Bohdan Triapitsyn de9aa05bae perf: reduce sync recovery message fetch size
Limits reconnect and repair message fetches to recent messages
Reduces repeated bandwidth for large tool outputs
Keeps normal session loading unchanged
2026-05-06 19:58:28 +03:00
Bohdan Triapitsyn 966eb5a1e2 chore: update opencode sdk version 2026-05-06 19:46:01 +03:00
Bohdan Triapitsyn c9289eb24f feat: add stash access in clean git state
Show a Stashes button when the working tree is clean
Keep stash management available even without visible file changes
2026-05-06 15:13:38 +03:00
Bohdan Triapitsyn dbc06dd6fa perf: reduce duplicate app initialization and heavy view imports
Deduplicates concurrent app initialization in the config store
Lazy-loads VS Code-only app surfaces
Avoids broad view barrel imports for better chunk isolation
2026-05-06 02:43:13 +03:00
Bohdan Triapitsyn 170d334921 feat: add manual save mode to file editor
Added a persistent autosave toggle for file editing
Manual save mode applies across current and future opened files
Updated localized toolbar labels
2026-05-06 02:27:07 +03:00
Bohdan Triapitsyn b18886598c fix: validate configured OpenCode binary (#1120)
* Validate configured OpenCode binary

* fix: keep WSL OpenCode startup failures retryable

Avoids misclassifying transient WSL resolution failures as invalid binary config
Adds regression coverage for WSL strict-mode handling
Cleans up temporary test directories
Fix for #1119 issue
2026-05-06 02:06:16 +03:00
Bohdan Triapitsyn a02f0cd7c7 fix: improve git operation progress banner
Replace placeholder conflict text with localized copy
Split in-progress operation details and actions into clearer rows
Keep merge and rebase status messages consistent
2026-05-06 01:58:36 +03:00
Bohdan Triapitsyn 6a749ed259 fix: suppress expected missing directory logs
Stops noisy stack traces for missing directory probes
Preserves existing 404 behavior for absent directories
2026-05-06 01:51:14 +03:00
Bohdan Triapitsyn 105443aac2 style: refine git header tab sizing
Compact the Git tab row beside sync
Tune tab height for a cleaner header
2026-05-06 01:46:33 +03:00
Bohdan Triapitsyn a6582bbcff fix: expand git history dialog height
Give the history dialog more vertical space
Let the commit list fill the dialog height
2026-05-06 01:34:58 +03:00
Bohdan Triapitsyn 9af3b49e7b fix: remove duplicate clean-state sync action
Keep sync available only in the Git header
Simplify the clean working tree empty state
2026-05-06 01:31:23 +03:00
Bohdan Triapitsyn 0546de31f6 refactor: streamline git sidebar header
Move action tabs into the Git header with sync beside them
Merge worktree actions into the Update tab
Place stash access next to changed files
2026-05-06 01:29:01 +03:00
Bohdan Triapitsyn 6b25fd7d20 fix: show pull request unavailable state
Replace the empty PR tab with a clear unavailable message
Explain when pull request actions are available
2026-05-06 00:55:56 +03:00
Bohdan Triapitsyn 89f0e0a0e6 fix: show sync loading during commit sync
Keep the header sync button busy while commit & sync finishes
Avoid showing pending push counts during the sync step
2026-05-06 00:49:32 +03:00
Bohdan Triapitsyn cce782a62b fix: simplify existing pull request header
Reflow PR status and checks into a cleaner two-row header
Remove the remote selector from existing PRs
Keep remote context as read-only tracking info
2026-05-06 00:46:40 +03:00
Bohdan Triapitsyn 32929d592e fix: make branch updates use latest remote refs
Fetch remote targets before merge or rebase
Prefer remote branch targets over stale local branches
Fix Update copy and branch search input
2026-05-06 00:32:55 +03:00
Bohdan Triapitsyn 8540f51395 fix: make commit sync use safe sync flow
Rename commit push action to Commit & sync
Use fetch and rebase before pushing committed changes
Keep sync result toasts consistent
2026-05-06 00:12:39 +03:00
Bohdan Triapitsyn 16c349417f style: simplify git header controls
Show sync counters only when needed
Use an icon-only identity selector
2026-05-05 23:57:42 +03:00
Bohdan Triapitsyn 7b66bca2c5 fix: clarify sync button and result toasts
Show sync label when no remote changes are known
Report pulled file counts in sync success toasts
Count pulled files correctly in VS Code sync
2026-05-05 23:53:21 +03:00
Bohdan Triapitsyn 93267927ff feat: add git stash management
Add a Stashes dialog with create, apply, pop, and drop actions
Include untracked files automatically when stashing
Show file counts for current changes and stash entries
2026-05-05 23:39:20 +03:00
Bohdan Triapitsyn c80c2b62a8 feat: add one-click git sync button
Combine fetch, pull with rebase, and push into one sync action
Keep remote dropdown focused on safe fetch actions
Block sync when uncommitted changes would conflict with rebase
2026-05-05 20:45:31 +03:00
Bohdan Triapitsyn ddfd2db0b8 fix: keep button text unselectable outside markdown
Restore non-selectable text for app buttons
Keep markdown file links selectable
2026-05-05 20:45:31 +03:00
Bohdan Triapitsyn a49e2ce1ae perf: optimize markdown file link detection
Only mark existing files as openable links
Avoid file-link behavior while messages stream
Limit file existence checks to 4 concurrent requests
2026-05-05 19:21:44 +03:00
Bohdan Triapitsyn fd6635a963 fix: prevent generate button flicker during git refresh
Keep Generate enabled during changed-file refreshes
Preserve existing blockers for generation and commits
2026-05-05 19:00:35 +03:00
Bohdan Triapitsyn 6dd322ddbe fix: reduce local server status overhead 2026-05-05 18:47:00 +03:00
Bohdan Triapitsyn 495b9d56d2 release v1.10.0 2026-05-05 01:39:33 +03:00
Bohdan Triapitsyn eadff4e338 fix: resolve message action lint warning
Added the missing hook dependency for message action rendering
Lint and type-check now pass cleanly
2026-05-05 01:26:37 +03:00
Bohdan Triapitsyn 7fc22bc69b feat: auto-detect OpenCode CLI on onboarding screen
Polls every 2.5s and transitions automatically once the CLI is reachable
Advanced settings and troubleshooting moved into collapsible accordions
New i18n keys added for status indicator and section titles across 6 locales
2026-05-05 00:41:30 +03:00
Bohdan Triapitsyn 581f7c34dc fix: align iPad PWA window controls spacing
Adds tablet standalone PWA detection
Aligns header and sidebar action padding
Extends safe-area handling for tablet PWAs
2026-05-04 00:04:29 +03:00
Bohdan Triapitsyn fc2f4746e5 fix: avoid iPad PWA traffic light overlap
Adds tablet standalone PWA detection
Reuses macOS traffic-light header spacing
Protects session sidebar and multirun headers
2026-05-03 21:39:30 +03:00
Bohdan Triapitsyn 9964dcdb99 fix(cli): tolerate legacy daemon flag (#1097) 2026-05-03 21:38:45 +03:00
Bohdan Triapitsyn 6595322f1a fix: show tablet actions without hover
Makes hover-only controls visible on tablets
Preserves existing mobile and desktop layouts
Covers chat, session sidebar, file, tab, and picker actions
2026-05-03 17:19:55 +03:00
Bohdan Triapitsyn 43f98e0344 feat(ui): add recent section toggle 2026-05-03 16:32:14 +03:00
Bohdan Triapitsyn 5614012acb fix(ui): keep streaming deltas through pipeline 2026-05-03 13:42:50 +03:00
Bohdan Triapitsyn f810a3316c fix(ui): prevent streaming text flicker and first-chunk loss 2026-05-03 02:32:05 +03:00
Bohdan Triapitsyn 4ad5d2f4b7 fix(ui): tolerate invalid message parts 2026-05-01 15:08:44 +03:00
Bohdan Triapitsyn a077735bcf fix: keep chat pinned during delayed rendering
Keeps long historical sessions scrolled to the bottom after load
Preserves bottom follow while assistant responses grow
2026-05-01 14:13:18 +03:00
Bohdan Triapitsyn d820e25ea1 fix: keep generated prompts scrolled into view
Force chat to bottom on normal sends
Scroll generated commit prompts into view
Preserve saved scroll restore for passive navigation
2026-05-01 13:48:07 +03:00
Bohdan Triapitsyn c924e85a29 feat(settings): add response style presets 2026-05-01 01:27:31 +03:00
Bohdan Triapitsyn f96374c738 fix(ui): remove unused lint leftovers 2026-04-30 23:47:43 +03:00
Bohdan Triapitsyn 68ef6a0b18 fix(settings): contain settings page scrolling 2026-04-30 23:45:17 +03:00
Bohdan Triapitsyn 123805a112 style(ui): disable text selection on buttons 2026-04-30 23:08:59 +03:00
Bohdan Triapitsyn 41cc8e556f fix(git): cap fetch/pull remotes dropdown size and reposition
Constrain width and add scroll so long remote URL lists stay inside the
dropdown, and anchor it to the left of the trigger to match the chat
input model picker.
2026-04-30 22:54:37 +03:00
Bohdan Triapitsyn 63da6e6292 feat(ui): unify overlay animations and trim tooltip delays
Use base-ui's transition-status pattern (data-starting-style /
data-ending-style) for Dialog, DropdownMenu, Select, Tooltip and Popover
so open/close animate consistently at 150ms ease-out without flicker.
Wrap dialog popups in a centered flex container so the scale animation
no longer fights with translate-based positioning, and switch
PendingChangesBar to a real Popover so it actually animates closed.

Convert ScheduledTaskEditorDialog from raw Radix to the shared Dialog
wrapper, give ScheduledTasksDialog a stable min-height to prevent layout
shift mid-animation, and reset NewWorktreeDialog form state on open
instead of close so fields don't empty during the close transition.

Drop tooltip delay from 700ms to 300ms globally and remove all
per-component overrides except the model/variant/agent selectors in the
chat input (600ms).
2026-04-30 22:41:33 +03:00
Bohdan Triapitsyn 24533dfe32 feat(palette): unify quick open into command palette with multi-source search
Merge file picker into command palette. Single Cmd+P entry searches
files, sessions, settings pages and commands; groups re-order by best
fuzzy score per source. Sessions show branch labels; git status is
lazily fetched for all session directories on open.

Drop QuickOpenDialog and Cmd+K shortcut.
2026-04-30 18:37:37 +03:00
Bohdan Triapitsyn 57eec76a7b fix: polish VS Code chat actions and bash tool text
Hide multi-run action in VS Code chat
Remove rounded bash tool text surfaces
2026-04-30 14:19:20 +03:00
Bohdan Triapitsyn 8152bd7808 perf: reduce desktop quit risk polling
Refresh quit risk only when quitting
Use in-process status for Electron local server
Avoid repeated scheduled task status scans
2026-04-30 13:54:58 +03:00
Bohdan Triapitsyn bbd83d60c6 fix: use valid Zen summaries for notes 2026-04-30 13:07:37 +03:00
Bohdan Triapitsyn 90c8c948f8 chore: update changelogs with unreleased changes 2026-04-30 12:22:49 +03:00
Bohdan Triapitsyn 371eac9db3 fix: stabilize remote preview proxy 2026-04-30 12:22:49 +03:00
Bohdan Triapitsyn 6cb5e4342f fix(chat): soften aborted turn message 2026-04-30 00:51:28 +03:00
Bohdan Triapitsyn e6c7cc5589 feat(chat): add wide layout setting 2026-04-30 00:45:25 +03:00
Bohdan Triapitsyn e9edfa5302 fix: proxy preview app requests 2026-04-30 00:29:35 +03:00
Bohdan Triapitsyn fb66542d87 fix: rewrite preview module imports 2026-04-30 00:21:25 +03:00
Bohdan Triapitsyn 17650becc0 release v1.9.10 2026-04-28 17:45:58 +03:00
Bohdan Triapitsyn 6186688e17 fix: polish pinned session indicators
Pinned recent sessions stay at top when already recent
Default session rows align activity, pin, and chevron indicators
Pinned icon no longer crowds session titles
2026-04-28 17:12:49 +03:00
Bohdan Triapitsyn 41369fa5f2 fix: align chat error message icon
Centers the error icon with message text
Improves error text wrapping
2026-04-28 16:37:15 +03:00
Bohdan Triapitsyn 958ffe063e fix: stabilize older message loading 2026-04-28 16:26:35 +03:00
Bohdan Triapitsyn 8861f79708 fix: default app language to English
Stop auto-detecting locale from system/browser on first launch
Use saved language preference when users explicitly choose one
2026-04-28 15:40:21 +03:00
Bohdan Triapitsyn 3ae3c526cf fix: show tab close action on icon hover
Close action now replaces the tab icon on hover
Tabs without icons keep the existing close fallback
2026-04-28 15:23:40 +03:00
Bohdan Triapitsyn 4f51abddf4 fix: improve external file and path handling
Open external context files read-only
Preserve leading-dot paths in UI
Keep workspace write operations guarded
2026-04-28 14:06:25 +03:00
Bohdan Triapitsyn 15338be265 fix: align git changes tree controls
Use consistent checkboxes for files and folders
Align tree row indentation
Use folder icons for expandable directories
2026-04-28 13:00:50 +03:00
Bohdan Triapitsyn 72e706972a fix: harden managed OpenCode startup 2026-04-28 12:35:00 +03:00
Bohdan Triapitsyn ccab4f49df fix: preserve shell PATH for managed OpenCode
Restores shell-first PATH resolution for desktop-launched OpenCode
Keeps app PATH entries as fallback
Adds coverage for managed OpenCode PATH merging
2026-04-28 01:19:12 +03:00
Bohdan Triapitsyn 6f2ffdb2d6 fix: adjustments to vesper themes 2026-04-27 23:12:58 +03:00
Bohdan Triapitsyn f8e29ded94 fix: ignore stale downgrade update suggestions
Prevents older reported versions from showing as updates
Falls back to registry data when update API is stale
2026-04-27 22:48:57 +03:00
Bohdan Triapitsyn d2121cee8c fix: allow linking GitHub issues in session drafts
Use current working directory for issue lookup before active project fallback
Prevent false "Not Found" errors when draft context differs from selected project
2026-04-27 18:44:05 +03:00
Bohdan Triapitsyn 390db58cc8 fix: add VS Code quota support for MiniMax and Ollama (fix for #1051)
Adds MiniMax coding plan quota support
Adds Ollama Cloud quota support
Detects configured providers in VS Code
2026-04-27 18:44:05 +03:00
Bohdan Triapitsyn c83986cd94 feat: improve project directory picker
Adds command-palette style project browsing
Keeps native Finder picker as optional desktop action
Supports disabled existing projects and create-and-add paths
2026-04-27 15:45:14 +03:00
Bohdan Triapitsyn 54a09914ac fix: open project action links in browser
Project action URLs now open in the system browser from Electron
Adds a safe Electron shell bridge for external HTTP links
2026-04-27 14:24:20 +03:00
Bohdan Triapitsyn b5c58320cf feat: rename workspace review command
Renamed OpenChamber review command to /workspace-review
Kept built-in /review available separately
Updated autocomplete and localized settings copy
2026-04-26 23:15:35 +03:00
Bohdan Triapitsyn 67f082988c release v1.9.9 2026-04-26 20:49:28 +03:00
Bohdan Triapitsyn 6a8f90ac53 fix: restore per-file file view switching
Adds preview/edit toggle for regular text files
Respects default preview setting on first open
Keeps per-file view choices during session
2026-04-26 20:39:45 +03:00
Bohdan Triapitsyn 177631f123 fix: improve VS Code header context and settings visibility
Show language selection in VS Code settings
Display context usage in the VS Code chat header
Keep VS Code header usage controls visible in expanded layouts
2026-04-26 20:20:23 +03:00
Bohdan Triapitsyn 799998c5f8 feat: add selectable interface and code fonts (10 for each)
Adds separate UI and code font choices in settings
Applies font changes immediately
Lazy-loads selected remote fonts
2026-04-26 18:48:43 +03:00
Bohdan Triapitsyn a3b300f7a9 feat: add keyboard turn navigation
Navigate chat turns with ArrowUp and ArrowDown
Only triggers when the chat area is focused
Supports scrolling to the latest visible turn
2026-04-26 18:17:13 +03:00
Bohdan Triapitsyn c8eb9a6c5f feat: widen chat content area
Chat messages use more horizontal space
Chat input keeps its previous max width
2026-04-26 18:04:42 +03:00