Per-account token-failure isolation is now live on the matrix daemon, so a bad credential entered via this form can no longer take down the agent's whole matrix session — remove the experimental notice (+ its now-unused CSS). Also relabel the account list 'configured accounts' -> 'provisioned accounts' to match the v1 read path (lists accounts with a stored token; a config-declared-but-unprovisioned account appears once provisioned through the form). Docs + module header updated to match.
81 lines
3.5 KiB
HTML
81 lines
3.5 KiB
HTML
<!doctype html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<title>hyperhive // M4TR1X ACC0UNTS</title>
|
|
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
|
|
<link rel="stylesheet" href="/static/colors.css">
|
|
<link rel="stylesheet" href="/static/theme.css">
|
|
<link rel="stylesheet" href="/static/common.css">
|
|
<link rel="stylesheet" href="/static/matrix-accounts.css">
|
|
</head>
|
|
<body class="ma-shell">
|
|
|
|
<!-- Minimal chrome: back link + title, same pattern as settings.html /
|
|
core.html. Back link points to the H0M3 hub (served at /). -->
|
|
<header class="page-header">
|
|
<a class="page-back" href="/">← home</a>
|
|
<span class="page-title">M4TR1X ACC0UNTS</span>
|
|
</header>
|
|
|
|
<main class="ma-main">
|
|
<p class="meta">provision or log in an <strong>external</strong> matrix account for an agent and store its access token. the token is written to the agent's <code>matrixAccounts.<account>.tokenFile</code> by the host coordinator — it is never displayed back on this page.</p>
|
|
|
|
<h3>◇ agent</h3>
|
|
<label class="ma-field">
|
|
<span>agent</span>
|
|
<select id="ma-agent"></select>
|
|
</label>
|
|
|
|
<h3>◇ provisioned accounts</h3>
|
|
<p class="meta">accounts that have a stored token (provision one below to add it here); a config-declared account that hasn't been provisioned yet won't appear until it has a token. status reflects whether a <em>token is stored</em>, not a live session — a true online/offline indicator is a follow-up that needs the daemon's account registry.</p>
|
|
<div id="ma-list" class="ma-list"><p class="meta">select an agent to see its matrix accounts.</p></div>
|
|
|
|
<h3>◇ provision / log in</h3>
|
|
<form id="ma-form" class="ma-form" autocomplete="off">
|
|
<label class="ma-field">
|
|
<span>account name</span>
|
|
<input type="text" name="account" placeholder="e.g. public" required>
|
|
</label>
|
|
<label class="ma-field">
|
|
<span>homeserver</span>
|
|
<input type="text" name="homeserver" placeholder="https://matrix.org" required>
|
|
</label>
|
|
|
|
<fieldset class="ma-mode">
|
|
<legend>login method</legend>
|
|
<label><input type="radio" name="mode" value="password" checked> password</label>
|
|
<label><input type="radio" name="mode" value="token"> existing token</label>
|
|
</fieldset>
|
|
|
|
<div id="ma-pw-fields" class="ma-modefields">
|
|
<label class="ma-field">
|
|
<span>user id</span>
|
|
<input type="text" name="user_id" placeholder="@user:matrix.org" autocomplete="username">
|
|
</label>
|
|
<label class="ma-field">
|
|
<span>password</span>
|
|
<input type="password" name="password" autocomplete="new-password">
|
|
</label>
|
|
</div>
|
|
|
|
<div id="ma-token-fields" class="ma-modefields" hidden>
|
|
<label class="ma-field">
|
|
<span>access token</span>
|
|
<input type="password" name="token" autocomplete="off">
|
|
</label>
|
|
<label class="ma-field">
|
|
<span>user id <span class="meta">(optional — derived via whoami)</span></span>
|
|
<input type="text" name="user_id" placeholder="@user:matrix.org">
|
|
</label>
|
|
</div>
|
|
|
|
<button type="submit" class="btn btn-spawn">log in & store token</button>
|
|
<p id="ma-result" class="ma-result" aria-live="polite"></p>
|
|
</form>
|
|
</main>
|
|
|
|
<script type="module" src="/static/matrix-accounts.js" defer></script>
|
|
</body>
|
|
</html>
|