@songsid/agend 2.2.0-beta.12 → 2.2.0-beta.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.js +12 -6
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +1 -0
- package/dist/config.js +2 -1
- package/dist/config.js.map +1 -1
- package/dist/daemon.js +21 -2
- package/dist/daemon.js.map +1 -1
- package/dist/fleet-manager.d.ts +0 -1
- package/dist/fleet-manager.js +20 -36
- package/dist/fleet-manager.js.map +1 -1
- package/dist/locale.js +48 -22
- package/dist/locale.js.map +1 -1
- package/dist/restart-progress.d.ts +0 -2
- package/dist/restart-progress.js +0 -2
- package/dist/restart-progress.js.map +1 -1
- package/dist/topic-commands.d.ts +4 -0
- package/dist/topic-commands.js +9 -2
- package/dist/topic-commands.js.map +1 -1
- package/dist/transcript-sources.js +6 -1
- package/dist/transcript-sources.js.map +1 -1
- package/dist/ui/chat-strings.js +10 -10
- package/dist/ui/chat-tour.js +17 -14
- package/dist/ui/panel-chat.js +9 -9
- package/dist/ui/panel-fleet.js +15 -2
- package/dist/ui/panel-log.js +2 -2
- package/dist/ui/panel-needs.js +10 -7
- package/dist/ui/panel-settings.js +9 -5
- package/dist/ui/settings-dialogs.js +2 -2
- package/dist/ui/settings-model.js +3 -1
- package/dist/ui/settings-strings.js +8 -8
- package/dist/ui/shared/app.css +3 -2
- package/dist/ui/shared/header-tools.js +5 -4
- package/dist/ui/shared/signin.js +15 -9
- package/dist/ui/shared/ui-icons.js +1 -0
- package/dist/ui/signin.html +8 -3
- package/dist/update-launch.js +12 -6
- package/dist/update-launch.js.map +1 -1
- package/package.json +1 -1
package/dist/ui/shared/signin.js
CHANGED
|
@@ -11,10 +11,12 @@
|
|
|
11
11
|
const $ = (id) => document.getElementById(id);
|
|
12
12
|
const T = {
|
|
13
13
|
en: {
|
|
14
|
-
checking: "Checking your session…", title: "Sign in to AgEnD", lead: "Enter
|
|
14
|
+
checking: "Checking your session…", title: "Sign in to AgEnD", lead: "Enter your sign-in code.",
|
|
15
15
|
label: "One-time code", submit: "Sign in", working: "Signing in…",
|
|
16
|
-
hint: "Send /web
|
|
17
|
-
|
|
16
|
+
hint: "No code? Send /web in General, then press a sign-in button to get one.",
|
|
17
|
+
nobot: "No chat bot?", nobot_body: "Ask the operator to run agend web --code on the AgEnD computer.",
|
|
18
|
+
refused: "The code is invalid or no longer works. Send /web in General, then press a sign-in button for a new code.",
|
|
19
|
+
unconfirmed: "Sign-in could not be confirmed. Get a new code and try again; if it keeps failing, contact the operator.",
|
|
18
20
|
paused: "Too many wrong codes — sign-in is paused for a few minutes.",
|
|
19
21
|
network: "Could not reach AgEnD. Check the connection and try again.",
|
|
20
22
|
resend: "Send me a new code", resent: "A new code was sent to you privately in chat. Enter it above.",
|
|
@@ -22,10 +24,12 @@
|
|
|
22
24
|
resend_refused: "A new code could not be sent. Ask for one with /web.",
|
|
23
25
|
},
|
|
24
26
|
"zh-TW": {
|
|
25
|
-
checking: "正在確認登入狀態…", title: "登入 AgEnD", lead: "
|
|
27
|
+
checking: "正在確認登入狀態…", title: "登入 AgEnD", lead: "輸入登入碼。",
|
|
26
28
|
label: "一次性登入碼", submit: "登入", working: "登入中…",
|
|
27
|
-
hint: "
|
|
28
|
-
|
|
29
|
+
hint: "沒收到?在 General 傳 /web,再按登入按鈕取碼。",
|
|
30
|
+
nobot: "沒有聊天 bot?", nobot_body: "請管理員在 AgEnD 電腦執行 agend web --code。",
|
|
31
|
+
refused: "登入碼無效或已失效。請在 General 傳 /web,再按登入按鈕取新碼。",
|
|
32
|
+
unconfirmed: "登入暫時無法確認。請重新取碼再試;若仍失敗,請聯絡管理員。",
|
|
29
33
|
paused: "錯誤次數過多,登入暫停幾分鐘。",
|
|
30
34
|
network: "連不上 AgEnD,請檢查連線後再試。",
|
|
31
35
|
resend: "傳一組新的登入碼給我", resent: "新的登入碼已私訊給你,請在上方輸入。",
|
|
@@ -47,8 +51,8 @@
|
|
|
47
51
|
history.replaceState(null, "", here.pathname + here.search + here.hash);
|
|
48
52
|
}
|
|
49
53
|
} catch { /* nothing to clean */ }
|
|
50
|
-
// The command in the
|
|
51
|
-
// and a word, alpha.2 sweep); the text around it is text.
|
|
54
|
+
// The command in the "No chat bot?" help is a <code> that never breaks across lines (a break inside "--code" reads as
|
|
55
|
+
// two dashes and a word, alpha.2 sweep); the text around it is text.
|
|
52
56
|
const CMD = "agend web --code";
|
|
53
57
|
document.querySelectorAll("[data-i18n]").forEach((el) => {
|
|
54
58
|
const text = t(el.getAttribute("data-i18n"));
|
|
@@ -163,7 +167,9 @@
|
|
|
163
167
|
body: JSON.stringify({ code: $("code").value }),
|
|
164
168
|
});
|
|
165
169
|
if (r.ok) { clearBounce(); location.replace(nextTarget()); return; }
|
|
166
|
-
|
|
170
|
+
// #1854: a 5xx is the server failing to confirm the sign-in (503: a public link's notice did not go out), not a
|
|
171
|
+
// wrong code — say so. The code is spent either way: the way on is a new one.
|
|
172
|
+
msg.textContent = r.status === 429 ? t("paused") : r.status >= 500 ? t("unconfirmed") : t("refused");
|
|
167
173
|
} catch {
|
|
168
174
|
msg.textContent = t("network");
|
|
169
175
|
}
|
|
@@ -54,6 +54,7 @@ const P = {
|
|
|
54
54
|
panel: () => html`<rect x="3" y="4" width="18" height="16" rx="2"/><path d="M14 4v16"/>`,
|
|
55
55
|
back: () => html`<path d="M19 12H5M12 19l-7-7 7-7"/>`,
|
|
56
56
|
forward: () => html`<path d="M5 12h14M12 5l7 7-7 7"/>`,
|
|
57
|
+
book: () => html`<path d="M4 19.5A2.5 2.5 0 0 1 6.5 17H20V3H6.5A2.5 2.5 0 0 0 4 5.5z"/><path d="M4 19.5A2.5 2.5 0 0 0 6.5 22H20v-5"/>`,
|
|
57
58
|
external: () => html`<path d="M14 4h6v6M20 4l-9 9"/><path d="M18 14v5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h5"/>`,
|
|
58
59
|
};
|
|
59
60
|
|
package/dist/ui/signin.html
CHANGED
|
@@ -32,7 +32,11 @@
|
|
|
32
32
|
#msg { min-height: 1.5em; margin-top: 14px; font-size: var(--fs-sm); color: var(--danger); }
|
|
33
33
|
#msg.ok { color: var(--text-2); }
|
|
34
34
|
.hint { margin-top: 18px; font-size: var(--fs-xs); color: var(--text-3); }
|
|
35
|
-
.hint code { white-space: nowrap; font-family: var(--font-mono); }
|
|
35
|
+
.hint code, .help code { white-space: nowrap; font-family: var(--font-mono); }
|
|
36
|
+
/* #1854: the operator's way in (no chat bot) — closed until asked for. */
|
|
37
|
+
.help { margin-top: 8px; font-size: var(--fs-xs); color: var(--text-3); }
|
|
38
|
+
.help summary { cursor: pointer; width: fit-content; }
|
|
39
|
+
.help p { margin: 6px 0 0; color: var(--text-3); }
|
|
36
40
|
[hidden] { display: none !important; }
|
|
37
41
|
</style>
|
|
38
42
|
</head>
|
|
@@ -42,14 +46,15 @@
|
|
|
42
46
|
<div id="checking" data-i18n="checking">Checking your session…</div>
|
|
43
47
|
<form id="form" hidden autocomplete="off">
|
|
44
48
|
<h1 data-i18n="title">Sign in to AgEnD</h1>
|
|
45
|
-
<p data-i18n="lead">Enter
|
|
49
|
+
<p data-i18n="lead">Enter your sign-in code.</p>
|
|
46
50
|
<label for="code" data-i18n="label">One-time code</label>
|
|
47
51
|
<input id="code" name="code" inputmode="text" autocomplete="one-time-code" autocapitalize="characters"
|
|
48
52
|
autocorrect="off" spellcheck="false" maxlength="12" placeholder="XXXX-XXXX" required>
|
|
49
53
|
<button id="go" type="submit" data-i18n="submit">Sign in</button>
|
|
50
54
|
<button id="resend" type="button" class="secondary" hidden data-i18n="resend">Send me a new code</button>
|
|
51
55
|
<div id="msg" role="alert" aria-live="polite"></div>
|
|
52
|
-
<div class="hint" data-i18n="hint">Send /web
|
|
56
|
+
<div class="hint" data-i18n="hint">No code? Send /web in General, then press a sign-in button to get one.</div>
|
|
57
|
+
<details class="help"><summary data-i18n="nobot">No chat bot?</summary><p data-i18n="nobot_body">Ask the operator to run <code>agend web --code</code> on the AgEnD computer.</p></details>
|
|
53
58
|
</form>
|
|
54
59
|
<noscript>This page needs JavaScript to sign you in.</noscript>
|
|
55
60
|
</main>
|
package/dist/update-launch.js
CHANGED
|
@@ -7,6 +7,7 @@ import { basename, dirname, isAbsolute, join } from "node:path";
|
|
|
7
7
|
import { promisify } from "node:util";
|
|
8
8
|
import { updateCommand } from "./update-dispatch.js";
|
|
9
9
|
import { maskSecrets } from "./log-steps.js";
|
|
10
|
+
import { t } from "./locale.js";
|
|
10
11
|
/** How many bytes to read from the tail of the log when extracting a cause after the updater exits. */
|
|
11
12
|
const CAUSE_TAIL_BYTES = 8 * 1024;
|
|
12
13
|
/** How many bytes to cap the update.log file at (across all runs). */
|
|
@@ -70,7 +71,7 @@ export function updateFixHint(output, opts = {}) {
|
|
|
70
71
|
const ours = named && isAbsolute(named) && !/['"\s\\`$]/.test(named)
|
|
71
72
|
&& basename(dirname(named)) === "@songsid" && /^\.agend[A-Za-z0-9._-]*$/.test(basename(named));
|
|
72
73
|
if (ours)
|
|
73
|
-
return
|
|
74
|
+
return t("update.failure.remove_staging", `\`rm -rf '${named}' && agend update\``);
|
|
74
75
|
return null;
|
|
75
76
|
}
|
|
76
77
|
if (/systemd does not know /.test(output))
|
|
@@ -234,15 +235,20 @@ agendPath) {
|
|
|
234
235
|
reported = true;
|
|
235
236
|
const tail = logPath != null && logOffset != null ? readRunTail(logPath, logOffset) : null;
|
|
236
237
|
const cause = tail === null ? null : extractUpdateCause(tail);
|
|
237
|
-
const logNote = logPath ? ` Full log: ${logPath}.` : "";
|
|
238
|
-
const detail = cause ? ` Cause: ${cause}.${logNote}` : logNote;
|
|
239
238
|
const fix = updateFixHint(tail ?? "", { agendGone: agendAtLaunch && !existsSync(agendPath) });
|
|
240
|
-
|
|
239
|
+
// The persisted marker caps this text at 300 chars: keep the action and log before raw diagnostics.
|
|
240
|
+
fail([
|
|
241
|
+
fix ? t("update.failure.fix", fix) : t("update.failure.shell"),
|
|
242
|
+
...(logPath ? [t("update.failure.log", logPath)] : []),
|
|
243
|
+
t("update.failure.summary", reason),
|
|
244
|
+
...(cause ? [t("update.failure.cause", cause)] : []),
|
|
245
|
+
].join(" "));
|
|
241
246
|
};
|
|
242
|
-
child.once("error", () => report("
|
|
247
|
+
child.once("error", () => report(t("update.failure.launch")));
|
|
243
248
|
child.once("exit", (code, signal) => {
|
|
244
249
|
if (signal || (code !== 0 && code !== 75)) {
|
|
245
|
-
report(signal ? "
|
|
250
|
+
report(signal ? t("update.failure.interrupted")
|
|
251
|
+
: code == null ? t("update.failure.no_status") : t("update.failure.exit", code));
|
|
246
252
|
}
|
|
247
253
|
});
|
|
248
254
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-launch.js","sourceRoot":"","sources":["../src/update-launch.ts"],"names":[],"mappings":"AAAA,yFAAyF;AACzF,OAAO,EAAE,QAAQ,EAAqB,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAa,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7H,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"update-launch.js","sourceRoot":"","sources":["../src/update-launch.ts"],"names":[],"mappings":"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"}
|