Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6a7c0bcad8 | ||
|
|
d8d589ccb2 |
2 changed files with 5 additions and 2 deletions
|
|
@ -214,7 +214,7 @@ title). Its own esbuild bundle (`matrix-accounts.js`); no SSE — it reads
|
|||
`/api/state` once for the agent picker and otherwise works off two
|
||||
purpose-built endpoints.
|
||||
|
||||
An agent picker (populated from `state.agents`) drives a list of that
|
||||
An agent picker (populated from `state.containers`, the live roster) drives a list of that
|
||||
agent's configured accounts — name, homeserver, and a token-status dot —
|
||||
read from `GET /api/matrix-accounts?agent=<name>` →
|
||||
`{ accounts: [ { name, homeserver, token_present } ] }`. The status
|
||||
|
|
|
|||
|
|
@ -31,7 +31,10 @@ async function loadState() {
|
|||
if (!resp.ok) return;
|
||||
const s = await resp.json();
|
||||
renderServerWarnings(s.server_warnings);
|
||||
agents = (s.agents || [])
|
||||
// `/api/state` exposes the live roster under `containers` (each entry an
|
||||
// object carrying `.name`); there is no top-level `agents` field, so the
|
||||
// picker stays compatible with both string + object shapes defensively.
|
||||
agents = (s.containers || [])
|
||||
.map((a) => (typeof a === 'string' ? a : a && a.name))
|
||||
.filter(Boolean)
|
||||
.sort();
|
||||
|
|
|
|||
Loading…
Reference in a new issue