Lane 9 page 4c: AI models, AI usage & speed, Discord, Email, Instance health (#735) #881
Loading…
Reference in a new issue
No description provided.
Delete branch "build/lane9-4c-pages"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Part of #735 (lane 9). Stacked on #873 (4b). It merges with that stack as part of the train, and its diff against 4b is only this page.
What it builds
Legacy
BotSettingshad 49 fields on one tab. This PR splits it into sections, each at its own address, and adds two new pages.AI models (
/admin/ai)AI usage & speed (
/admin/usage)AdminHardwareProfileandAdminAiUsageported into the kit;Discord (
/admin/discord)GET /admin/settings/bot/identity.There is no token field (D139).
Email (
/admin/email){sent, error}rather than queuing.Instance health (
/admin/health), its first screenfree/busy/stuck) and which secrets this server can read;#872 item 2: Users, Campaigns and Audit get a
min-width/nowrapdate column at 390 px. All three tables were render-checked.BotSettings,AiCapabilityPanelandNotificationSettingsstay in legacypages/Admin.jsxfor now. It is unrouted but still has tests, and 4d deletes the whole file in one sweep.Departures and follow-ups
#879 holds three follow-ups this page surfaced:
audit_encrypted_settingsyet..kvat phone width. It needs a stacking rule; there are local workarounds inAdminAi/AdminUsageuntil then.#872 item 1 (the "kept until" date) is still separate.
Checks
AdminAi,AdminUsage,AdminDiscord,AdminEmail,AdminHealth).changelog.d/fragment.🤖 Generated with Claude Code
Render-checked all five page 4c sections at 2560/1440/1024/390 in light and dark (a throwaway, uncommitted harness with fixture data, the same approach 4b used). It found three real bugs, all fixed here: - .verdict (the Test row's and Discord's answer line) was `display: flex`, which lays each text fragment out as its own flex item instead of wrapping them as a sentence — "Signed in as QuestBoard#0420 · in 2 servers" fractured into disconnected lines at 390px. It is `inline-block` now, which wraps like prose. - AdminAi's and AdminUsage's `<dl className="kv">` blocks squeezed the value column to a sliver at 390px once a label ran long enough ("A 3½-hour session, five voices"), wrapping technical strings like "local_whisper · large-v3" one character per line. Both are stacked paragraphs now. - Instance health's stuck line read "Nothing has finished in 4 minutes ago" (both "in" and "ago"); it says "in 4 minutes" now, matching the drawing. Also caught that the render harness itself needed `.app`'s `container-type` to make `@container app (max-width: 640px)` fire at all — without it every phone-only rule in the kit (including the leafbar) silently never triggered, which would have hidden the .kv and .verdict bugs above rather than showing them. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>The Transcribing line dropped result.asr.basis entirely when the capability-panel rewrite moved away from <dl className="kv">, so nothing on the page carried D148's accepted wording ("measured from the last recordings") — the drawing's "a 30-second clip" would have gone unreplaced by anything rather than by the plainer words the owner accepted. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>