Commit Graph
28 Commits
Author SHA1 Message Date
Cursor AgentandSerhii Dziupin 9cccc8d667 Load provider OAuth methods on reconnect, not only add mode.
Reconnect previously showed only the API key field because
provider.auth() ran solely in add-provider mode. Also keep the
original OpenCode method index when listing OAuth options.

Co-authored-by: Serhii Dziupin <makeittech@users.noreply.github.com>
2026-08-03 12:47:12 +00:00
Cursor AgentandSerhii Dziupin 395e08c683 Document deferred OpenCode restart contract and drop dead helper.
Add config-mutation-response.js to owning docs, describe restartDeferred
and external requiresManualRestart on /api/config/reload, and remove the
unused buildConfigMutationResponse export.

Co-authored-by: Serhii Dziupin <makeittech@users.noreply.github.com>
2026-08-03 12:03:37 +00:00
Cursor AgentandSerhii Dziupin 3cb02439ea Add German pendingRestart locale keys after main merge.
de.settings.ts came from main without Apply & Restart strings;
add translations so i18n key parity stays intact.

Co-authored-by: Serhii Dziupin <makeittech@users.noreply.github.com>
2026-08-03 09:52:24 +00:00
Cursor AgentandSerhii Dziupin c070b9c53b Merge origin/main into deferred OpenCode restart branch.
Resolve skills store conflicts by keeping repository-local directory
resolution from main and deferred-restart handling from this branch.

Co-authored-by: Serhii Dziupin <makeittech@users.noreply.github.com>
2026-08-03 09:26:57 +00:00
Cursor AgentandSerhii Dziupin 0cde9e9413 Fix deferred restart review findings.
Drop phantom pending records when provider disconnect removes nothing
and when Behavior AGENTS.md payloads are not deferred. Clear the Apply
badge after external OpenCode manual-restart guidance. Align skills and
commands save toasts with deferred restart feedback, and fix French
OpenCode elision.

Co-authored-by: Serhii Dziupin <makeittech@users.noreply.github.com>
2026-08-03 08:56:05 +00:00
Cursor AgentandSerhii Dziupin 7c27a39cf4 Force confirm dialog action widths with inline 40%.
Keep text → buttons → checkbox stack and avoid DialogFooter
row layout; use inline width so the pair stays nearly full-width.

Co-authored-by: Serhii Dziupin <makeittech@users.noreply.github.com>
2026-08-03 08:51:17 +00:00
Cursor AgentandSerhii Dziupin fbdc0830db Enforce equal 40% widths for confirm dialog actions.
Wrap Cancel and Apply & Restart in fixed-percentage containers so
Button content sizing cannot skew the centered pair.

Co-authored-by: Serhii Dziupin <makeittech@users.noreply.github.com>
2026-08-03 08:29:58 +00:00
Cursor AgentandSerhii Dziupin 576791d024 fix: invalidate skills cache with loadSkills directory key
performConfigRefresh passed client-directory-first path into
invalidateSkillsLoadCache, missing the active-project cache key used by
loadSkills after the repository-local skills discovery fix.

Co-authored-by: Serhii Dziupin <makeittech@users.noreply.github.com>
2026-08-03 08:23:37 +00:00
Cursor AgentandSerhii Dziupin 12715c6e73 Fix Apply & Restart confirm dialog vertical stack.
Stop using DialogFooter (sm:flex-row) so layout is text, then
centered ~40% action buttons, then the don't-show-again checkbox.

Co-authored-by: Serhii Dziupin <makeittech@users.noreply.github.com>
2026-08-03 08:15:26 +00:00
Cursor AgentandSerhii Dziupin 4956a133d3 Make Apply & Restart confirm actions nearly full-width.
Keep Cancel and Apply & Restart at about 40% each and centered,
with the don't-show-again checkbox stacked underneath.

Co-authored-by: Serhii Dziupin <makeittech@users.noreply.github.com>
2026-08-03 08:06:19 +00:00
Cursor AgentandSerhii Dziupin 7014374837 Restyle Apply & Restart confirm dialog actions
Center nearly full-width Cancel and Apply buttons and move the
don't-show-again checkbox below them for a clearer decision layout.

Co-authored-by: Serhii Dziupin <makeittech@users.noreply.github.com>
2026-08-03 08:00:58 +00:00
Cursor AgentandSerhii Dziupin 72b0d9b90f Shorten Apply & Restart action label
Drop OpenCode from the Settings footer apply button and confirm title so
the action fits the narrow nav and stays concise.

Co-authored-by: Serhii Dziupin <makeittech@users.noreply.github.com>
2026-08-03 07:35:31 +00:00
Cursor AgentandSerhii Dziupin 096f2fa52c Move Apply & Restart into Settings footer with confirm
Replace the top-right pending CTA with a primary footer action that
replaces Reload OpenCode when changes are pending, and warn that running
chats will stop unless the user opts out of the confirmation.

Co-authored-by: Serhii Dziupin <makeittech@users.noreply.github.com>
2026-08-03 07:25:10 +00:00
Cursor AgentandSerhii Dziupin 190fbeedb4 Improve pending OpenCode restart counter contrast
Place a high-contrast count badge first on the Apply & Restart action so
pending settings changes remain obvious in the Settings chrome.

Co-authored-by: Serhii Dziupin <makeittech@users.noreply.github.com>
2026-08-03 07:10:41 +00:00
Cursor AgentandSerhii Dziupin 57819dd164 Accumulate OpenCode settings restarts behind Apply & Restart
Defer OpenCode reloads after settings mutations, track pending changes,
and expose a top-right Apply & Restart OpenCode action with a counter so
sessions stay available until the user explicitly applies.

Co-authored-by: Serhii Dziupin <makeittech@users.noreply.github.com>
2026-08-03 06:56:38 +00:00
Cursor AgentandSerhii Dziupin 775da6e9f4 Defer OpenCode restarts for config mutations
Co-authored-by: Serhii Dziupin <makeittech@users.noreply.github.com>
2026-08-03 06:40:01 +00:00
Cursor AgentandSerhii Dziupin 049600df72 fix: discover repository-local .agents skills in Settings
Skills listing ignored the active project when the OpenCode client
directory was unset, so project `.agents/skills` files were created but
never shown. Prefer the active project path (matching Commands/Agents)
and soft-fall back to it on skill API routes when directory is omitted.

Co-authored-by: Serhii Dziupin <makeittech@users.noreply.github.com>
2026-08-02 12:57:51 +00:00
Cursor AgentandSerhii Dziupin d839c8b0f8 fix(git): pin simple-git to project path for session discovery
simple-git without baseDir inherits process.cwd(), so launching
OpenChamber from a neutral directory (e.g. $HOME) and opening a git
project elsewhere produced repeated "not a git repository" status
errors and could abort project/session enumeration. Always require an
explicit baseDir, soft-handle non-repo GitErrors on status/check
routes, and cover non-git, foreign-cwd, and nested-repo cases.

Co-authored-by: Serhii Dziupin <makeittech@users.noreply.github.com>
2026-07-31 09:53:09 +00:00
Cursor AgentandSerhii Dziupin be572c1692 fix(files): address autosave migration and review regressions
Seed omitted autoSaveEnabled from the hydrated client preference (including
legacy localStorage) instead of resetting everyone to enabled. Restore SVG
non-editable flags, treat clean draft saves as success, and throw again from
disposed content-cache owners while keeping runtime-switch cache invalidation.

Co-authored-by: Serhii Dziupin <makeittech@users.noreply.github.com>
2026-07-30 11:29:37 +00:00
Cursor AgentandSerhii Dziupin fc4db0c656 fix(files): keep text opens working after content-cache dispose
React Strict Mode disposed the memoized content-cache owner while the
provider kept reusing it, so validateContextFileOpen threw before any
/api/fs/read and toasted "Failed to open file" for notes.txt. Binaries
still opened because they skip the pre-read. Serve uncached reads from
disposed owners, clear cache on runtime switch without deactivating, and
own the cache lifecycle in an effect.

Co-authored-by: Serhii Dziupin <makeittech@users.noreply.github.com>
2026-07-30 09:02:14 +00:00
Cursor AgentandSerhii Dziupin d35cf957ac fix(files): pass directory into context panel binary open guard
Scope context-file open validation to the active project directory so
binary opens resolve against the correct workspace root.

Co-authored-by: Serhii Dziupin <makeittech@users.noreply.github.com>
2026-07-30 08:22:10 +00:00
Cursor AgentandSerhii Dziupin 4f30a00814 fix(files): let context panel open binaries into FilesView safely
Skip UTF-8 pre-read for known binary/image/PDF paths so the shared
editor can show preview or cannot-preview instead of failing open or
decoding binaries as text.

Co-authored-by: Serhii Dziupin <makeittech@users.noreply.github.com>
2026-07-30 07:05:34 +00:00
Cursor AgentandSerhii Dziupin d79908cc9e test(ui): cover autoSaveEnabled settings sync round-trip
Ensure the new persisted editor autosave flag applies from server
settings, autosaves through appearanceAutoSave, and resets to true when
omitted from an authoritative snapshot.

Co-authored-by: Serhii Dziupin <makeittech@users.noreply.github.com>
2026-07-30 06:39:57 +00:00
Cursor AgentandSerhii Dziupin 5b727ed53c fix(files): prevent autosave data loss on load lag and binary files
Guard FilesView autosave until the selected file has finished loading,
refuse binary/PDF/office/archive text saves, and add a persisted global
autoSaveEnabled setting (default true) under Settings → General.

Co-authored-by: Serhii Dziupin <makeittech@users.noreply.github.com>
2026-07-30 06:37:47 +00:00
Cursor AgentandSerhii Dziupin 0caff15b3e fix(desktop): Linux AppImage tray menu and system file-manager icons
Resize Linux tray icons so StatusNotifier hosts show them, add Show/Hide/Close
context-menu actions, and resolve FreeDesktop theme icons for Open-in apps
(including the default file manager) instead of skipping Linux icon fetch.

Co-authored-by: Serhii Dziupin <makeittech@users.noreply.github.com>
2026-07-28 17:57:44 +00:00
Cursor AgentandSerhii Dziupin f172119921 chore(deps): remove unused react-syntax-highlighter
react-syntax-highlighter (and its @types) is no longer imported anywhere —
code highlighting is handled by the Shiki web worker. Drop the dead deps.

Co-authored-by: Serhii Dziupin <makeittech@users.noreply.github.com>
2026-06-26 11:26:11 +00:00
Cursor AgentandSerhii Dziupin 05dd270a9a perf(ui): lazy-load html-to-image and snapDOM
Both are only needed on explicit user actions (export message as image,
capture preview annotation screenshot). Defer them with dynamic import so
~140 KB leaves the eager app-shell graph.

Co-authored-by: Serhii Dziupin <makeittech@users.noreply.github.com>
2026-06-26 11:26:11 +00:00
Cursor AgentandSerhii Dziupin 3d27c0a0ca perf(build): fix bun .bun chunk parsing and isolate Vite preload helper
The manualChunks package-name parser used the first node_modules/ segment,
which under bun's isolated install (.bun/<pkg>@<ver>/node_modules/<pkg>) is
always '.bun'. This collapsed nearly every dependency — including lazy-only
heavy libs (Shiki langs/themes, transformers, katex, mermaid, elkjs, etc.) —
into one 18.5 MB eager 'vendor-.bun' chunk, defeating all code splitting.

- Resolve the real package from the LAST node_modules/ segment.
- Pin Vite's __vitePreload helper to its own chunk so Rollup stops
  co-locating it inside vendor-shiki and dragging Shiki core + the 629 KB
  oniguruma engine into the eager bootstrap.
- Drop the now-dead react-syntax-highlighter chunk rule.

Eager bootstrap graph drops from ~18.5 MB to ~0.44 MB.

Co-authored-by: Serhii Dziupin <makeittech@users.noreply.github.com>
2026-06-26 11:26:11 +00:00