chore: v2.8.73 — Artifacts folder bar restyled; hidden live profile gets a stand-in

- Artifacts: folders are rounded chips with a count badge; rename/delete are
  icons beside the picked folder (double-click renames); New folder is a
  dashed chip; the empty-folder hint mentions drag and drop.
- GET /api/pricing/quota: every Claude row carries its accountUuid.
- Settings → Profiles and the status bar's Usage panel: a profile hidden in
  this browser is left out of the Usage panel too; when the live login is
  hidden, the first visible profile is shown in its place (Logged in now,
  "in use", the % used chip with that profile's own usage). Display only.
This commit is contained in:
2026-11-04 16:14:27 +07:00
parent e21120d51d
commit 59533b997b
16 changed files with 305 additions and 117 deletions
+2
View File
@@ -281,6 +281,8 @@ test("the live row is the account its token belongs to, not the one .claude.json
assert.strictEqual(live.label, "Victor");
assert.strictEqual(live.account, "victor@x.y");
assert.strictEqual(live.ownerUuid, undefined);
assert.strictEqual(live.accountUuid, "uuid-v");
assert.ok(claude.filter((t) => !t.active).every((t) => "accountUuid" in t));
assert.strictEqual(live.plan, "Max");
assert.deepStrictEqual(
claude.filter((t) => !t.active).map((t) => t.label),
+14 -4
View File
@@ -210,8 +210,8 @@ async function claudeQuotas(force, home) {
liveClaude(() => memberClaudeAuth(home))
);
if (!live) return [];
const { ownerUuid: _uuid, ...shown } = live;
return [{ id: "claude", active: true, label: null, ...shown }];
const { ownerUuid, ...shown } = live;
return [{ id: "claude", active: true, label: null, accountUuid: ownerUuid || null, ...shown }];
}
let items = [];
try {
@@ -231,12 +231,22 @@ async function claudeQuotas(force, home) {
id: "claude",
active: false,
label: it.label,
accountUuid: it.accountUuid || null,
...(await cached(`profile:${it.name}`, force, () => profileClaude(it))),
}))
);
if (!live) return others;
const { ownerUuid: _uuid, ...shown } = live;
return [{ id: "claude", active: true, label: mine?.label || null, ...shown }, ...others];
const { ownerUuid, ...shown } = live;
return [
{
id: "claude",
active: true,
label: mine?.label || null,
accountUuid: ownerUuid || mine?.accountUuid || null,
...shown,
},
...others,
];
}
/** The newest `rate_limits` in the last `TAIL_BYTES` of a rollout, or null. */