@t3b/hub-guard 0.10.0 → 0.10.1
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/README.md +3 -0
- package/dist/memos.d.ts +1 -1
- package/dist/memos.js +2 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -308,6 +308,9 @@ const r2 = await guard.memoAct(session, "reply", id, { text, lang: "ar" });
|
|
|
308
308
|
|
|
309
309
|
## Changes
|
|
310
310
|
|
|
311
|
+
- **0.10.1** (owner, 2026-10-11): the memo window's Arabic button reads **تمت القراءة و تم إبلاغي** (was "قرأت وأوافق"). Nothing else
|
|
312
|
+
changes but one fix: the accept button wraps onto a second line on a narrow screen instead of running past its card
|
|
313
|
+
(found by the Stores Sync session at 390 px). An app on 0.10.0 keeps working and shows the old words until it takes 0.10.1.
|
|
311
314
|
- **0.10.0** (WORKFLOWS §22, D-088): memos - the pass's and the 15-minute check's `memos` (the waiting number) is kept in
|
|
312
315
|
the session (`session.memos`, `readMemoCount`); `guard.memoBell`, `guard.memoData`, `guard.memoAct`, `memoFragment`,
|
|
313
316
|
`MEMO_TEXTS` (Arabic and English), `memosCall`; for the module that holds the memos `verifyMemosCall`, `memosRefusal`
|
package/dist/memos.d.ts
CHANGED
|
@@ -43,7 +43,7 @@ export declare const MEMO_TEXTS: {
|
|
|
43
43
|
readonly state_read: "مقروء";
|
|
44
44
|
readonly state_accepted: "تمت الموافقة";
|
|
45
45
|
readonly state_withdrawn: "مسحوب";
|
|
46
|
-
readonly accept: "
|
|
46
|
+
readonly accept: "تمت القراءة و تم إبلاغي";
|
|
47
47
|
readonly accepted_on: "تمت الموافقة";
|
|
48
48
|
readonly accept_note: "ضغطة واحدة، تُسجَّل مع الوقت واسم هذا التطبيق.";
|
|
49
49
|
readonly replies: "ردودك";
|
package/dist/memos.js
CHANGED
|
@@ -44,7 +44,7 @@ export const MEMO_TEXTS = {
|
|
|
44
44
|
state_read: "مقروء",
|
|
45
45
|
state_accepted: "تمت الموافقة",
|
|
46
46
|
state_withdrawn: "مسحوب",
|
|
47
|
-
accept: "قرأت وأوافق"
|
|
47
|
+
accept: "تمت القراءة و تم إبلاغي", // owner 2026-10-11 (was "قرأت وأوافق")
|
|
48
48
|
accepted_on: "تمت الموافقة",
|
|
49
49
|
accept_note: "ضغطة واحدة، تُسجَّل مع الوقت واسم هذا التطبيق.",
|
|
50
50
|
replies: "ردودك",
|
|
@@ -190,7 +190,7 @@ export function memoFragment(data, opts = {}) {
|
|
|
190
190
|
? `<div class="alert success" role="status"><div class="txt"><b>${t("accepted_on")} · ${esc(memoText(lang === "ar" ? "en" : "ar", "accept"))}</b>${o.accepted_at ? esc(memoWhen(o.accepted_at)) : ""}</div></div>`
|
|
191
191
|
: o.state === "withdrawn"
|
|
192
192
|
? `<div class="alert info" role="status"><div class="txt">${t("state_withdrawn")}</div></div>`
|
|
193
|
-
: `<form method="post" action="${esc(`${base}/${encodeURIComponent(o.id)}/accept`)}" style="display: flex; gap: var(--s-3); align-items: center; flex-wrap: wrap; padding-block: var(--s-3); border-block: 1px solid var(--line)"><button type="submit" class="btn btn-primary" style="font-size: var(--fs-body); padding-block: var(--s-3)">${t("accept")} · ${esc(memoText(lang === "ar" ? "en" : "ar", "accept"))}</button><span class="help-2">${t("accept_note")}</span></form>`) +
|
|
193
|
+
: `<form method="post" action="${esc(`${base}/${encodeURIComponent(o.id)}/accept`)}" style="display: flex; gap: var(--s-3); align-items: center; flex-wrap: wrap; padding-block: var(--s-3); border-block: 1px solid var(--line)"><button type="submit" class="btn btn-primary" style="font-size: var(--fs-body); padding-block: var(--s-3); white-space: normal; block-size: auto; min-block-size: var(--touch-min, 44px); max-inline-size: 100%; text-align: center; line-height: 1.4;">${t("accept")} · ${esc(memoText(lang === "ar" ? "en" : "ar", "accept"))}</button><span class="help-2">${t("accept_note")}</span></form>`) +
|
|
194
194
|
`<div style="display: grid; gap: var(--s-3); margin-block-start: var(--s-4)"><div class="section-head"><h3 style="margin: 0">${t("replies")} <span class="help-2" style="font-weight: 400">· ${t("replies_note")}</span></h3></div>` +
|
|
195
195
|
o.replies
|
|
196
196
|
.map((r) => `<div style="border-inline-start: 3px solid var(--line); padding-inline-start: var(--s-3); display: grid; gap: 4px; font-size: var(--fs-body-sm)"><span class="help-2">${esc(memoWhen(r.at))}</span><span style="white-space: pre-line">${esc(r.text)}</span></div>` +
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@t3b/hub-guard",
|
|
3
|
-
"version": "0.10.
|
|
3
|
+
"version": "0.10.1",
|
|
4
4
|
"description": "The3Beez Hub guard: a module opens only by a Hub-signed ticket and refuses everything else. No key from the Hub: towards the Hub the app shows its own Vercel ID; from the Hub it accepts only what is signed by the key the Hub publishes. Entry route, refusal page, module session, idle rule, 15-minute re-check, Cloudflare Access proof, broker and audit clients, manifest and health answers for the Hub only, the memo bell and window (0.10.0). Web Crypto only: runs in Node 20+ and in edge runtimes.",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"type": "module",
|