2026.08.21.04 — /login in the chat, account switching, and a spotlight that reaches the plugins
First release in three with a SCHEMA CHANGE. anthropic_accounts is new, and without the push the account switcher's route fails on a missing relation the first time the usage panel is opened — so the plan names db:push as a step rather than leaving it to be inferred from the diff. alpha already runs this code, deployed by hand as a preview. The plan says its pull will be a no-op and to run the rest anyway, so it does not read as a skipped host. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,51 @@
|
|||||||
|
# 2026.08.21.04
|
||||||
|
|
||||||
|
`/login` in the chat window, switching between Anthropic accounts from the usage pills, and a Spotlight
|
||||||
|
that can actually reach the plugins.
|
||||||
|
|
||||||
|
**This release has a SCHEMA CHANGE.** The previous two did not, and said so; this one adds
|
||||||
|
`anthropic_accounts`. Without the push, `GET /api/claude-auth/accounts` fails on a missing relation the
|
||||||
|
first time the usage panel is opened — so `bun db:push` is a step here, not an optional tidy.
|
||||||
|
|
||||||
|
No dependency change: nothing in `deploy/2026.08.21.03..HEAD` touches `package.json` dependencies or
|
||||||
|
`bun.lock`. Do not run `bun install`.
|
||||||
|
|
||||||
|
## What is in it
|
||||||
|
|
||||||
|
- **`/login` works in the chat composer.** `claude auth login` behaves the same through plain pipes as
|
||||||
|
through a terminal, so it is a subprocess with two reads and one write — no pty. Copy-link beside the
|
||||||
|
open-link button, because opening it here opens it in the browser already signed into the account you are
|
||||||
|
leaving.
|
||||||
|
- **Account switching from the usage pills.** `anthropic_accounts` keeps each login's OAuth credential
|
||||||
|
encrypted under a per-account key from the secret store, so a switch needs no browser round trip. An
|
||||||
|
account with no saved credential still gets a chip you can read — cached percentages and a correct reset
|
||||||
|
time — marked as needing `/login`.
|
||||||
|
- **Spotlight reached eight items.** Core filled all eight slots, so on a populated server every plugin was
|
||||||
|
unreachable. The cap is gone, rows draw the dock's own tiles, and the settings list went from nine
|
||||||
|
hand-written rows to twenty read off the screens that declare them.
|
||||||
|
- The ephemeral pane opens from the markup rather than an effect.
|
||||||
|
|
||||||
|
## Every host
|
||||||
|
|
||||||
|
1. `git pull --ff-only`
|
||||||
|
2. **`bun db:push`** — new this release, see above
|
||||||
|
3. `bun run plugins:update`
|
||||||
|
4. `pm2 restart officer`
|
||||||
|
|
||||||
|
`officer` only; no sidecar changed. Restarting it rebuilds the SPA, which is what ships the frontend.
|
||||||
|
|
||||||
|
**`alpha` is already at this code**, deployed by hand as a preview before the tag. Its pull will be a
|
||||||
|
no-op and that is expected — run the remaining steps anyway rather than skipping the host, so its
|
||||||
|
`restart_time` moves with everyone else's.
|
||||||
|
|
||||||
|
**On `macbookpro`, append to the PATH for `bun`** — `export PATH=$PATH:/opt/homebrew/bin` — and run `pm2`
|
||||||
|
as a separate command. `docs/servers.md` has the detail; replacing the PATH is what broke `pm2` on an
|
||||||
|
earlier deploy.
|
||||||
|
|
||||||
|
## Then check
|
||||||
|
|
||||||
|
`pm2 jlist`: `officer` is `online` and `restart_time` moved. Nothing else restarted by step 4 — note that
|
||||||
|
step 3 restarts every plugin's sidecar on its own, which is the script's behaviour and worth recording
|
||||||
|
rather than omitting.
|
||||||
|
|
||||||
|
`scripts/deploy-claim.sh state 2026.08.21.04` says `done`.
|
||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "officer",
|
"name": "officer",
|
||||||
"version": "2026.08.21.03",
|
"version": "2026.08.21.04",
|
||||||
"private": true,
|
"private": true,
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"workspaces": [
|
"workspaces": [
|
||||||
|
|||||||
Reference in New Issue
Block a user