Commit Graph
4729 Commits
Author SHA1 Message Date
poomscandClaude Fable 5 a5a5b742e4 fix(bar): stop false re-auth on non-default native subscription profiles
Fixes the two collector-side root causes of #1601:

1. Claude per-profile credential reads were file-only, but on macOS Claude
   Code stores the OAuth token for an isolated CLAUDE_CONFIG_DIR in a
   per-directory Keychain item ("Claude Code-credentials-<sha256(dir)[0..8]>").
   The .credentials.json file never exists, so every isolated profile was
   parked with needsReauth:true forever. The reader now falls back to that
   Keychain item (file-first, same security-CLI read the shipped global
   fallback already performs; TTL-gated so it is not on every /summary).

2. Non-default profiles were cache-only forever, so they could never leave
   the parked state even with valid credentials. getNativeAccountRows now
   gives each surface ONE rotating live slot: the stalest eligible
   non-default profile is refreshed per pass, skipping profiles inside
   breaker/reauth cooldowns. Every account converges to real quota within a
   few polls while the per-pass upstream budget stays constant (<= 2 calls
   per surface regardless of profile count). Codex named profiles with valid
   auth but sparse payloads now yield an active quota-less row instead of a
   false needsReauth row.

Non-default rows keep paused:true (dimmed) even when freshly refreshed so
only the default renders active and rows do not flicker between polls.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-08 14:18:00 +07:00
github-actions[bot] 7fb56d62e1 chore(release): 8.8.1-dev.16 2026-08-03 00:28:51 +00:00
Kai (Tam Nhu) Tran eaac5beecb Merge pull request #1682 from nmelo/fix/adopt-diverged-settings
Preserve diverged CCS settings and plugin registry files during reconciliation.
2026-08-02 20:24:32 -04:00
Tam Nhu Tran b022d362dd chore(hardening): refresh filesystem inventory 2026-08-02 20:21:19 -04:00
Tam Nhu Tran 7ae617f0ee fix(shared-manager): preserve diverged files safely 2026-08-02 20:21:09 -04:00
Nelson Melo fa6b27f159 fix(shared-manager): adopt diverged plugin registry files in linkInstancePlugins
The same atomic-rename divergence occurs in the plugins subtree: a
plugin install inside a session rewrites plugins/installed_plugins.json,
replacing the instance-level symlink with a regular file. The per-launch
relink then discarded it, so the plugin was effectively uninstalled on
every relaunch while settings.json still marked it enabled — sessions
then fail with 'Unknown skill: <plugin>:<skill>'.

Move adoptDivergedFileContent to fs-helpers (avoids a circular import)
and apply it to file-type plugin entries before re-linking.
2026-07-31 13:40:23 -04:00
Nelson Melo 481f013ec2 fix(shared-manager): adopt diverged settings.json content before re-linking
Claude Code saves settings.json atomically (temp file + rename), which
replaces the managed shared symlink with a regular file holding the
user's latest changes (see #57). The launch-time relink then deleted
that file without reading it, silently reverting plugin enables and any
other in-session settings change on every profile relaunch.

Adopt the diverged file's content into the canonical ~/.claude file
(with a .bak-ccs-adopt backup) before restoring the symlink, at both
the shared-level and instance-level reconciliation points.

Fixes #1681
2026-07-31 12:14:29 -04:00
github-actions[bot] f532f46c9f chore(release): 8.8.1-dev.15 2026-07-31 14:43:08 +00:00
Kai (Tam Nhu) Tran 0845094c8a Merge pull request #1680 from kaitranntt/kai/chore/ai-review-luna-xhigh
ci(review): configure explicit reasoning effort
2026-07-31 10:38:46 -04:00
Tam Nhu Tran 26c1393c16 ci(review): configure explicit reasoning effort 2026-07-31 10:32:32 -04:00
github-actions[bot] 9f1055c7f1 chore(release): 8.8.1-dev.14 2026-07-29 18:44:34 +00:00
Kai (Tam Nhu) Tran 6e8dd9c721 Merge pull request #1679 from kaitranntt/kai/fix/1660-gemini-auth
fix(cliproxy): probe Gemini OAuth support
2026-07-29 14:40:13 -04:00
Tam Nhu Tran 8d7446e3ff chore(hardening): refresh Gemini auth inventory 2026-07-29 14:24:20 -04:00
Tam Nhu Tran c4fc5e8985 test(cliproxy): cover Gemini OAuth capabilities 2026-07-29 14:24:13 -04:00
Tam Nhu Tran 19c6c3f457 fix(cliproxy): probe Gemini OAuth support 2026-07-29 14:24:12 -04:00
github-actions[bot] af2cb4b9b3 chore(release): 8.8.1-dev.13 2026-07-29 18:23:11 +00:00
Kai (Tam Nhu) Tran bd90056f9b Merge pull request #1678 from kaitranntt/kai/feat/1662-codex-fast-alias
feat(cliproxy): preserve scoped routing rules
2026-07-29 14:18:51 -04:00
Tam Nhu Tran 32c8c7b767 chore(hardening): refresh routing inventory 2026-07-29 14:02:52 -04:00
Tam Nhu Tran 2ce3bfca26 test(cliproxy): cover routing rule preservation 2026-07-29 14:02:40 -04:00
Tam Nhu Tran 9fb2016f90 feat(cliproxy): persist scoped routing rules 2026-07-29 14:02:40 -04:00
github-actions[bot] a77ee1b91a chore(release): 8.8.1-dev.12 2026-07-29 18:01:20 +00:00
Kai (Tam Nhu) Tran 6d754eff36 Merge pull request #1677 from kaitranntt/kai/feat/1651-context-window
feat(cliproxy): expose model context windows
2026-07-29 13:57:05 -04:00
github-actions[bot] d212a3136d chore(release): 8.8.1-dev.11 2026-07-29 17:49:21 +00:00
Tam Nhu Tran cd9569e726 chore(hardening): refresh context window inventory 2026-07-29 13:46:53 -04:00
Tam Nhu Tran c107a6752c test(cliproxy): cover auto compact windows 2026-07-29 13:46:53 -04:00
Tam Nhu Tran b0732613a3 feat(cliproxy): expose model context windows 2026-07-29 13:46:53 -04:00
Kai (Tam Nhu) Tran 236471100c Merge pull request #1676 from kaitranntt/kai/fix/1648-disabled-websearch-steering
fix(websearch): honor disabled steering per launch
2026-07-29 13:44:56 -04:00
github-actions[bot] a2d28f0218 chore(release): 8.8.1-dev.10 2026-07-29 17:36:11 +00:00
Kai (Tam Nhu) Tran a78c3f86c5 Merge pull request #1675 from kaitranntt/kai/fix/1649-claude-quota-probe
fix(cliproxy): classify Claude quota probe 429s
2026-07-29 13:29:51 -04:00
Tam Nhu Tran d6346f0663 chore(hardening): refresh source inventory 2026-07-29 13:28:57 -04:00
Tam Nhu Tran 92fb66c47b test(cliproxy): cover Claude quota probe 429s 2026-07-29 13:22:21 -04:00
Tam Nhu Tran f89f136a1b docs: clarify disabled WebSearch launch behavior 2026-07-29 13:22:21 -04:00
Tam Nhu Tran bdcfc20c0f fix(cliproxy): classify Claude quota probe 429s 2026-07-29 13:22:21 -04:00
Tam Nhu Tran 7786258cb2 chore(lint): refresh throw error baseline 2026-07-29 13:22:21 -04:00
Tam Nhu Tran 9f5706c275 test(websearch): cover disabled launch snapshots 2026-07-29 13:22:21 -04:00
Tam Nhu Tran abc3002e89 fix(websearch): honor disabled steering per launch 2026-07-29 13:22:21 -04:00
github-actions[bot] 09757b418e chore(release): 8.8.1-dev.9 2026-07-29 17:18:37 +00:00
Kai (Tam Nhu) Tran 3ad78b43e7 Merge pull request #1674 from kaitranntt/kai/fix/1670-concurrent-account-locks
fix(cliproxy): retry contended state locks
2026-07-29 13:12:32 -04:00
github-actions[bot] 9539cb0cda chore(release): 8.8.1-dev.8 2026-07-29 17:06:27 +00:00
Kai (Tam Nhu) Tran 16abf18075 Merge pull request #1673 from jeffersongoncalves/feat/i18n-pt-br
feat(i18n): add Brazilian Portuguese (pt-BR) locale
2026-07-29 13:01:58 -04:00
Tam Nhu Tran 348d230298 docs: document Brazilian Portuguese locale 2026-07-29 12:56:42 -04:00
Tam Nhu Tran 0a80dddb9c fix(i18n): complete Brazilian Portuguese locale 2026-07-29 12:54:35 -04:00
Tam Nhu Tran 794983ca13 chore(reports): refresh hardening inventory 2026-07-29 12:53:00 -04:00
Tam Nhu Tran d700030018 test(cliproxy): cover concurrent state writers 2026-07-29 12:52:03 -04:00
Tam Nhu Tran 66794e0732 fix(cliproxy): retry contended state locks 2026-07-29 12:52:03 -04:00
github-actions[bot] fe90591511 chore(release): 8.8.1-dev.7 2026-07-29 16:44:07 +00:00
Kai (Tam Nhu) Tran 558e727312 Merge pull request #1672 from KennethWKZ/feat/claude-opus-5
feat: support Claude Opus 5
2026-07-29 12:39:56 -04:00
Tam Nhu Tran 0629b4a405 test(ui): cover Claude Opus 5 catalog visibility 2026-07-29 12:36:42 -04:00
Tam Nhu Tran af4e4fb353 fix(cliproxy): correct Claude Opus 5 metadata 2026-07-29 12:36:25 -04:00
Jefferson Simão GonçalvesandClaude Sonnet 5 bb2596e296 feat(i18n): add Brazilian Portuguese (pt-BR) locale
Adds a full pt-BR translation of the dashboard UI alongside the
existing en/zh-CN/vi/ja/ko locales, and wires locale detection/
storage to recognize pt-* browser locales.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-27 21:07:38 -03:00