@reddoorla/maintenance 0.88.2 → 0.89.0
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/{announce-GKD5YJNB.js → announce-OJFAS5JT.js} +6 -6
- package/dist/{blux-DN4MI532.js → blux-EATHOHKK.js} +5 -5
- package/dist/{chunk-7UAYMAKR.js → chunk-3VQWSE3F.js} +4 -4
- package/dist/{chunk-A2UNJIKH.js → chunk-5PWB3JHJ.js} +6 -4
- package/dist/chunk-5PWB3JHJ.js.map +1 -0
- package/dist/{chunk-K6SLF6GI.js → chunk-62NYED6E.js} +6 -6
- package/dist/{chunk-B23FFWU4.js → chunk-AEXJDCJN.js} +96 -19
- package/dist/{chunk-B23FFWU4.js.map → chunk-AEXJDCJN.js.map} +1 -1
- package/dist/{chunk-7FFUBF4I.js → chunk-AX22DH6S.js} +2 -2
- package/dist/{chunk-7TMWBXX7.js → chunk-DXKF552B.js} +269 -7
- package/dist/chunk-DXKF552B.js.map +1 -0
- package/dist/{chunk-6I6L3CMX.js → chunk-KGUKL3CV.js} +2 -2
- package/dist/{chunk-ULHPALI5.js → chunk-NDCOOI3V.js} +2 -2
- package/dist/{chunk-GQDDWYU2.js → chunk-QBAAZY7W.js} +1 -1
- package/dist/{chunk-GQDDWYU2.js.map → chunk-QBAAZY7W.js.map} +1 -1
- package/dist/{chunk-KMCZA7CH.js → chunk-QLIUDTY6.js} +2 -2
- package/dist/{chunk-XP5WM2LV.js → chunk-SKI23ZZH.js} +4 -4
- package/dist/chunk-SVAAONYB.js +21 -0
- package/dist/chunk-SVAAONYB.js.map +1 -0
- package/dist/{chunk-DGZWFI2G.js → chunk-VBEKL445.js} +17 -8
- package/dist/chunk-VBEKL445.js.map +1 -0
- package/dist/{chunk-ANJNTAMM.js → chunk-ZOCJBJQV.js} +4 -2
- package/dist/{chunk-J3WEZGIN.js → chunk-ZRI5VRPG.js} +4 -4
- package/dist/cli/bin.js +27 -18
- package/dist/cli/bin.js.map +1 -1
- package/dist/cli/commands/audit.js +5 -5
- package/dist/{db-V6UIS433.js → db-DAJX7NNW.js} +51 -10
- package/dist/db-DAJX7NNW.js.map +1 -0
- package/dist/{digest-2JEAEJK6.js → digest-T6TAZNLF.js} +73 -16
- package/dist/digest-T6TAZNLF.js.map +1 -0
- package/dist/digest-collectors-NI2M3UTC.js +50 -0
- package/dist/digest-state-3KHZF7GD.js +50 -0
- package/dist/digest-state-3KHZF7GD.js.map +1 -0
- package/dist/{dump-EPL7AZFR.js → dump-QK7LNOGC.js} +14 -1
- package/dist/{dump-EPL7AZFR.js.map → dump-QK7LNOGC.js.map} +1 -1
- package/dist/{email-SL7464YI.js → email-LJQT5J7F.js} +6 -7
- package/dist/{email-SL7464YI.js.map → email-LJQT5J7F.js.map} +1 -1
- package/dist/{ensure-site-FU6527OU.js → ensure-site-NSNY2QHN.js} +2 -2
- package/dist/{fleet-state-R5LU7IC3.js → fleet-state-3LQUQHYD.js} +2 -2
- package/dist/{forms-notify-target-SGDGXXK5.js → forms-notify-target-LYSKME5L.js} +2 -2
- package/dist/freeze-A6MUCZU4.js +9 -0
- package/dist/{github-signals-GWGCKEE2.js → github-signals-4YML6NY5.js} +4 -4
- package/dist/{health-mirror-GCDN7BJL.js → health-mirror-7LKC7Q5Z.js} +5 -5
- package/dist/index.d.ts +19 -4
- package/dist/index.js +29 -28
- package/dist/index.js.map +1 -1
- package/dist/{init-FGTYNGUI.js → init-NHKADHB6.js} +7 -7
- package/dist/{launch-5H7LPEGP.js → launch-VQJ4Z35C.js} +6 -6
- package/dist/{orchestrate-JNKCWU5K.js → orchestrate-6HROYTM6.js} +4 -4
- package/dist/{parity-NBYZUBFU.js → parity-623WNFZG.js} +3 -3
- package/dist/{pipeline-WYTXSLHX.js → pipeline-MQJD4CKN.js} +6 -2
- package/dist/{preflight-IMTYDDD4.js → preflight-LIN5NCYU.js} +5 -5
- package/dist/{prismic-ci-MY2U6NN7.js → prismic-ci-PZ5LCPWT.js} +4 -4
- package/dist/{prismic-models-NJN5JORF.js → prismic-models-6OYYZUR5.js} +3 -3
- package/dist/prospect/types.d.ts +27 -0
- package/dist/{prospect-audit-JMBRVXSG.js → prospect-audit-DBBXL7EG.js} +8 -6
- package/dist/prospect-audit-DBBXL7EG.js.map +1 -0
- package/dist/recipes/sync-configs.js +2 -2
- package/dist/{render-VX72AESY.js → render-P3SBUFVB.js} +3 -3
- package/dist/{render-from-row-DOYJDO2L.js → render-from-row-P5CWM3MQ.js} +3 -3
- package/dist/render-from-row-P5CWM3MQ.js.map +1 -0
- package/dist/{report-TALY5P3L.js → report-2N4PXO3L.js} +33 -17
- package/dist/report-2N4PXO3L.js.map +1 -0
- package/dist/{report-mirror-AAK3MXHY.js → report-mirror-3ENU6OOK.js} +5 -5
- package/dist/{selftest-NZTR4SM2.js → selftest-CUX2FIQD.js} +7 -7
- package/dist/{site-mirror-Q763PLGG.js → site-mirror-RQTEAID5.js} +5 -5
- package/dist/{sync-GBFV45WX.js → sync-ESP5ZQUU.js} +3 -3
- package/dist/{sync-configs-34JIA6KZ.js → sync-configs-LVBITPLU.js} +3 -3
- package/dist/usage-UHKU76VK.js +147 -0
- package/dist/usage-UHKU76VK.js.map +1 -0
- package/dist/{write-audits-to-airtable-OBHGR7DQ.js → write-audits-to-airtable-K352LZQY.js} +3 -3
- package/dist/write-audits-to-airtable-K352LZQY.js.map +1 -0
- package/package.json +1 -1
- package/dist/chunk-7TMWBXX7.js.map +0 -1
- package/dist/chunk-A2UNJIKH.js.map +0 -1
- package/dist/chunk-DGZWFI2G.js.map +0 -1
- package/dist/chunk-RUPPWAD6.js +0 -7
- package/dist/chunk-RUPPWAD6.js.map +0 -1
- package/dist/db-V6UIS433.js.map +0 -1
- package/dist/digest-2JEAEJK6.js.map +0 -1
- package/dist/digest-state-CRZRNGDI.js +0 -25
- package/dist/digest-state-CRZRNGDI.js.map +0 -1
- package/dist/prospect-audit-JMBRVXSG.js.map +0 -1
- package/dist/report-TALY5P3L.js.map +0 -1
- /package/dist/{announce-GKD5YJNB.js.map → announce-OJFAS5JT.js.map} +0 -0
- /package/dist/{blux-DN4MI532.js.map → blux-EATHOHKK.js.map} +0 -0
- /package/dist/{chunk-7UAYMAKR.js.map → chunk-3VQWSE3F.js.map} +0 -0
- /package/dist/{chunk-K6SLF6GI.js.map → chunk-62NYED6E.js.map} +0 -0
- /package/dist/{chunk-7FFUBF4I.js.map → chunk-AX22DH6S.js.map} +0 -0
- /package/dist/{chunk-6I6L3CMX.js.map → chunk-KGUKL3CV.js.map} +0 -0
- /package/dist/{chunk-ULHPALI5.js.map → chunk-NDCOOI3V.js.map} +0 -0
- /package/dist/{chunk-KMCZA7CH.js.map → chunk-QLIUDTY6.js.map} +0 -0
- /package/dist/{chunk-XP5WM2LV.js.map → chunk-SKI23ZZH.js.map} +0 -0
- /package/dist/{chunk-ANJNTAMM.js.map → chunk-ZOCJBJQV.js.map} +0 -0
- /package/dist/{chunk-J3WEZGIN.js.map → chunk-ZRI5VRPG.js.map} +0 -0
- /package/dist/{fleet-state-R5LU7IC3.js.map → digest-collectors-NI2M3UTC.js.map} +0 -0
- /package/dist/{ensure-site-FU6527OU.js.map → ensure-site-NSNY2QHN.js.map} +0 -0
- /package/dist/{orchestrate-JNKCWU5K.js.map → fleet-state-3LQUQHYD.js.map} +0 -0
- /package/dist/{forms-notify-target-SGDGXXK5.js.map → forms-notify-target-LYSKME5L.js.map} +0 -0
- /package/dist/{parity-NBYZUBFU.js.map → freeze-A6MUCZU4.js.map} +0 -0
- /package/dist/{github-signals-GWGCKEE2.js.map → github-signals-4YML6NY5.js.map} +0 -0
- /package/dist/{health-mirror-GCDN7BJL.js.map → health-mirror-7LKC7Q5Z.js.map} +0 -0
- /package/dist/{init-FGTYNGUI.js.map → init-NHKADHB6.js.map} +0 -0
- /package/dist/{launch-5H7LPEGP.js.map → launch-VQJ4Z35C.js.map} +0 -0
- /package/dist/{pipeline-WYTXSLHX.js.map → orchestrate-6HROYTM6.js.map} +0 -0
- /package/dist/{render-VX72AESY.js.map → parity-623WNFZG.js.map} +0 -0
- /package/dist/{render-from-row-DOYJDO2L.js.map → pipeline-MQJD4CKN.js.map} +0 -0
- /package/dist/{preflight-IMTYDDD4.js.map → preflight-LIN5NCYU.js.map} +0 -0
- /package/dist/{prismic-ci-MY2U6NN7.js.map → prismic-ci-PZ5LCPWT.js.map} +0 -0
- /package/dist/{prismic-models-NJN5JORF.js.map → prismic-models-6OYYZUR5.js.map} +0 -0
- /package/dist/{write-audits-to-airtable-OBHGR7DQ.js.map → render-P3SBUFVB.js.map} +0 -0
- /package/dist/{report-mirror-AAK3MXHY.js.map → report-mirror-3ENU6OOK.js.map} +0 -0
- /package/dist/{selftest-NZTR4SM2.js.map → selftest-CUX2FIQD.js.map} +0 -0
- /package/dist/{site-mirror-Q763PLGG.js.map → site-mirror-RQTEAID5.js.map} +0 -0
- /package/dist/{sync-GBFV45WX.js.map → sync-ESP5ZQUU.js.map} +0 -0
- /package/dist/{sync-configs-34JIA6KZ.js.map → sync-configs-LVBITPLU.js.map} +0 -0
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
mirrorSiteFields,
|
|
16
16
|
mirrorSiteInsert,
|
|
17
17
|
storeRenderedHtml
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-QBAAZY7W.js";
|
|
19
19
|
import "./chunk-P6AORG32.js";
|
|
20
20
|
import "./chunk-F3JWOPTG.js";
|
|
21
21
|
import "./chunk-VAD43MOR.js";
|
|
@@ -38,4 +38,4 @@ export {
|
|
|
38
38
|
mirrorSiteInsert,
|
|
39
39
|
storeRenderedHtml
|
|
40
40
|
};
|
|
41
|
-
//# sourceMappingURL=fleet-state-
|
|
41
|
+
//# sourceMappingURL=fleet-state-3LQUQHYD.js.map
|
|
@@ -143,7 +143,7 @@ async function runFormsNotifyTargetCommand(site, opts) {
|
|
|
143
143
|
return { output: `--set must be 'on' or 'off' (got '${opts.set}')`, code: 2 };
|
|
144
144
|
}
|
|
145
145
|
try {
|
|
146
|
-
const { makeSiteMirror } = await import("./site-mirror-
|
|
146
|
+
const { makeSiteMirror } = await import("./site-mirror-RQTEAID5.js");
|
|
147
147
|
const result = await formsNotifyTarget({
|
|
148
148
|
siteMirror: await makeSiteMirror(),
|
|
149
149
|
site: site.trim(),
|
|
@@ -163,4 +163,4 @@ export {
|
|
|
163
163
|
formatNotifyTarget,
|
|
164
164
|
runFormsNotifyTargetCommand
|
|
165
165
|
};
|
|
166
|
-
//# sourceMappingURL=forms-notify-target-
|
|
166
|
+
//# sourceMappingURL=forms-notify-target-LYSKME5L.js.map
|
|
@@ -3,9 +3,9 @@ import {
|
|
|
3
3
|
} from "./chunk-PZQ3WED2.js";
|
|
4
4
|
import {
|
|
5
5
|
formatFleetWriteSummary
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-QLIUDTY6.js";
|
|
7
7
|
import "./chunk-7BZUOZPU.js";
|
|
8
|
-
import "./chunk-
|
|
8
|
+
import "./chunk-SVAAONYB.js";
|
|
9
9
|
import {
|
|
10
10
|
detectSignalEvents,
|
|
11
11
|
fleetSweptEvent
|
|
@@ -91,7 +91,7 @@ async function runGitHubSignalsCommand(opts, deps = {}) {
|
|
|
91
91
|
);
|
|
92
92
|
const sweptAt = (/* @__PURE__ */ new Date()).toISOString();
|
|
93
93
|
const makeMirror = deps.makeMirror ?? (async () => {
|
|
94
|
-
const { makeHealthMirrorBestEffort } = await import("./health-mirror-
|
|
94
|
+
const { makeHealthMirrorBestEffort } = await import("./health-mirror-7LKC7Q5Z.js");
|
|
95
95
|
return makeHealthMirrorBestEffort();
|
|
96
96
|
});
|
|
97
97
|
const mirror = await makeMirror();
|
|
@@ -156,4 +156,4 @@ export {
|
|
|
156
156
|
githubSignalsExitCode,
|
|
157
157
|
runGitHubSignalsCommand
|
|
158
158
|
};
|
|
159
|
-
//# sourceMappingURL=github-signals-
|
|
159
|
+
//# sourceMappingURL=github-signals-4YML6NY5.js.map
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
TURSO_IS_AUTHORITATIVE
|
|
3
|
-
} from "./chunk-RUPPWAD6.js";
|
|
4
1
|
import {
|
|
5
2
|
mirrorHealthFields,
|
|
6
3
|
mirrorScheduleFields
|
|
7
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-QBAAZY7W.js";
|
|
5
|
+
import {
|
|
6
|
+
TURSO_IS_AUTHORITATIVE
|
|
7
|
+
} from "./chunk-SVAAONYB.js";
|
|
8
8
|
import "./chunk-P6AORG32.js";
|
|
9
9
|
import "./chunk-F3JWOPTG.js";
|
|
10
10
|
import "./chunk-VAD43MOR.js";
|
|
@@ -43,4 +43,4 @@ export {
|
|
|
43
43
|
makeHealthMirrorBestEffort,
|
|
44
44
|
makeScheduleMirrorBestEffort
|
|
45
45
|
};
|
|
46
|
-
//# sourceMappingURL=health-mirror-
|
|
46
|
+
//# sourceMappingURL=health-mirror-7LKC7Q5Z.js.map
|
package/dist/index.d.ts
CHANGED
|
@@ -129,6 +129,13 @@ type FormSubmitOutcome = {
|
|
|
129
129
|
* `elapsedMs` — is what the budget check must compare against. Undefined
|
|
130
130
|
* when no POST was observed. */
|
|
131
131
|
postElapsedMs?: number;
|
|
132
|
+
/** The probe's filled values were wiped by a client re-render (2026-08-31:
|
|
133
|
+
* a hydration mismatch on reddoor's /contact recreated the form subtree,
|
|
134
|
+
* discarding the fills AND the injected hidden fields, so the click hit an
|
|
135
|
+
* empty form and native `required` validation blocked the submit) and were
|
|
136
|
+
* re-filled once before the click. On a pass this is production proof the
|
|
137
|
+
* wipe happens; on a failure it says one refill wasn't enough. */
|
|
138
|
+
refilled?: boolean;
|
|
132
139
|
} | {
|
|
133
140
|
testModeUndeclared: true;
|
|
134
141
|
};
|
|
@@ -1006,10 +1013,8 @@ interface ReportsTable {
|
|
|
1006
1013
|
*
|
|
1007
1014
|
* `rendered_html` stays deliberately OUT even though the drafting path now
|
|
1008
1015
|
* writes it: bodies go through `storeRenderedHtml`, so a request handler
|
|
1009
|
-
* holding a patch cannot accidentally write megabytes of HTML.
|
|
1010
|
-
|
|
1011
|
-
* and the hourly sync converges those. */
|
|
1012
|
-
type ReportMirrorPatch = Partial<Pick<ReportsTable, "approved_to_send" | "approved_at" | "approved_by" | "send_override" | "override_reason" | "override_by" | "override_at" | "delivery_status" | "commentary" | "draft_ready" | "lighthouse_performance" | "lighthouse_accessibility" | "lighthouse_best_practices" | "lighthouse_seo" | "ga_users_current" | "ga_users_previous" | "search_found_page1" | "search_position" | "completed_on">>;
|
|
1016
|
+
* holding a patch cannot accidentally write megabytes of HTML. */
|
|
1017
|
+
type ReportMirrorPatch = Partial<Pick<ReportsTable, "approved_to_send" | "approved_at" | "approved_by" | "send_override" | "override_reason" | "override_by" | "override_at" | "delivery_status" | "commentary" | "draft_ready" | "lighthouse_performance" | "lighthouse_accessibility" | "lighthouse_best_practices" | "lighthouse_seo" | "ga_users_current" | "ga_users_previous" | "search_found_page1" | "search_position" | "completed_on" | "sent_at" | "resend_message_id">>;
|
|
1013
1018
|
|
|
1014
1019
|
/** #539 Phase 5: the Turso write-through for the Reports write surface.
|
|
1015
1020
|
*
|
|
@@ -1255,6 +1260,13 @@ type OrchestrateOptions = {
|
|
|
1255
1260
|
* updates. Injected rather than defaulted — this function is called directly
|
|
1256
1261
|
* by tests, and a default would open a real libSQL handle inside the suite. */
|
|
1257
1262
|
siteMirror?: SiteMirror;
|
|
1263
|
+
/** #643 (the freeze): Turso write-through for the `Sent at` / `Resend message
|
|
1264
|
+
* ID` stamp. stampSent is what removes a row from listSendableReports, so
|
|
1265
|
+
* once it lands there is no replay left to converge a lost mirror — and the
|
|
1266
|
+
* console's already-sent guards (approve, the commentary lock, re-render)
|
|
1267
|
+
* read `sent_at` from Turso. Injected like siteMirror; the CLI wires it
|
|
1268
|
+
* through `mirrorWrite` so the freeze switch owns the error semantics. */
|
|
1269
|
+
reportSentMirror?: (reportId: string, sentAt: Date, messageId: string | null) => Promise<void>;
|
|
1258
1270
|
};
|
|
1259
1271
|
declare function sendApprovedReports(options?: OrchestrateOptions): Promise<{
|
|
1260
1272
|
output: string;
|
|
@@ -1500,9 +1512,12 @@ type CockpitModel = {
|
|
|
1500
1512
|
/** NEW submissions across the fleet, newest-first (optional for back-compat). */
|
|
1501
1513
|
submissions?: SubmissionEntry[];
|
|
1502
1514
|
/** Fleet spam totals over the window (optional; populated by buildCockpitModel). */
|
|
1515
|
+
/** `computedAt` present ⇒ these came from the nightly roll-up and are up to
|
|
1516
|
+
* 24h old; the strip labels them so a stale number is never read as live. */
|
|
1503
1517
|
spam?: {
|
|
1504
1518
|
caught: number;
|
|
1505
1519
|
through: number;
|
|
1520
|
+
computedAt?: string;
|
|
1506
1521
|
} | null;
|
|
1507
1522
|
/** Recent fleet-activity events for the "Recently" lane (optional for back-compat). */
|
|
1508
1523
|
recent?: RecentEntry[];
|
package/dist/index.js
CHANGED
|
@@ -1,22 +1,23 @@
|
|
|
1
|
-
import "./chunk-ANJNTAMM.js";
|
|
2
1
|
import "./chunk-2SLED3NB.js";
|
|
3
2
|
import {
|
|
4
3
|
draftReportForSite
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import
|
|
7
|
-
approveBlockers
|
|
8
|
-
} from "./chunk-6I6L3CMX.js";
|
|
4
|
+
} from "./chunk-ZRI5VRPG.js";
|
|
5
|
+
import "./chunk-YFAXOD7Z.js";
|
|
9
6
|
import {
|
|
10
|
-
|
|
11
|
-
} from "./chunk-
|
|
7
|
+
upgradeSvelte4to5
|
|
8
|
+
} from "./chunk-Z3KYFUN6.js";
|
|
12
9
|
import {
|
|
13
10
|
DEFAULT_INIT_STEPS,
|
|
14
11
|
a11yFixturesPage,
|
|
15
12
|
init
|
|
16
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-62NYED6E.js";
|
|
14
|
+
import {
|
|
15
|
+
convertToPnpm
|
|
16
|
+
} from "./chunk-XIDUYLSR.js";
|
|
17
17
|
import {
|
|
18
18
|
svelteCodemods
|
|
19
19
|
} from "./chunk-IYSEC543.js";
|
|
20
|
+
import "./chunk-J7SZQUCW.js";
|
|
20
21
|
import "./chunk-BQRFQSGY.js";
|
|
21
22
|
import "./chunk-Y53WOQIJ.js";
|
|
22
23
|
import {
|
|
@@ -24,28 +25,27 @@ import {
|
|
|
24
25
|
selfCaretRange,
|
|
25
26
|
selfPackageVersion
|
|
26
27
|
} from "./chunk-7RJ2HMMJ.js";
|
|
27
|
-
import "./chunk-YFAXOD7Z.js";
|
|
28
28
|
import {
|
|
29
29
|
bumpDeps
|
|
30
30
|
} from "./chunk-2NJQLSEU.js";
|
|
31
31
|
import "./chunk-R53VL3RI.js";
|
|
32
|
+
import "./chunk-ZOCJBJQV.js";
|
|
32
33
|
import {
|
|
33
|
-
|
|
34
|
-
} from "./chunk-
|
|
35
|
-
import "./chunk-J7SZQUCW.js";
|
|
34
|
+
approveBlockers
|
|
35
|
+
} from "./chunk-KGUKL3CV.js";
|
|
36
36
|
import {
|
|
37
|
-
|
|
38
|
-
} from "./chunk-
|
|
37
|
+
findDueReports
|
|
38
|
+
} from "./chunk-PZR4EBPY.js";
|
|
39
39
|
import {
|
|
40
40
|
parseAddresses,
|
|
41
41
|
sendApprovedReports,
|
|
42
42
|
withGlobalCc
|
|
43
|
-
} from "./chunk-
|
|
44
|
-
import "./chunk-BRYXFH77.js";
|
|
45
|
-
import "./chunk-NYUYNYQL.js";
|
|
43
|
+
} from "./chunk-VBEKL445.js";
|
|
46
44
|
import {
|
|
47
45
|
isPendingApproval
|
|
48
46
|
} from "./chunk-F3JWOPTG.js";
|
|
47
|
+
import "./chunk-BRYXFH77.js";
|
|
48
|
+
import "./chunk-NYUYNYQL.js";
|
|
49
49
|
import {
|
|
50
50
|
checklistFor,
|
|
51
51
|
gatingFields,
|
|
@@ -56,14 +56,8 @@ import {
|
|
|
56
56
|
} from "./chunk-PR343K7F.js";
|
|
57
57
|
import "./chunk-IY6256GK.js";
|
|
58
58
|
import "./chunk-HN6I2XWI.js";
|
|
59
|
-
import "./chunk-
|
|
59
|
+
import "./chunk-SKI23ZZH.js";
|
|
60
60
|
import "./chunk-GECESMVS.js";
|
|
61
|
-
import {
|
|
62
|
-
domainFromUrl,
|
|
63
|
-
generateHeaderImage,
|
|
64
|
-
loadHeadline,
|
|
65
|
-
loadPlate
|
|
66
|
-
} from "./chunk-5UINJNAJ.js";
|
|
67
61
|
import {
|
|
68
62
|
BLURRED_CID,
|
|
69
63
|
CHECK_CID,
|
|
@@ -71,6 +65,12 @@ import {
|
|
|
71
65
|
renderReportHtml,
|
|
72
66
|
rendersCommentary
|
|
73
67
|
} from "./chunk-KJGKZLCT.js";
|
|
68
|
+
import {
|
|
69
|
+
domainFromUrl,
|
|
70
|
+
generateHeaderImage,
|
|
71
|
+
loadHeadline,
|
|
72
|
+
loadPlate
|
|
73
|
+
} from "./chunk-5UINJNAJ.js";
|
|
74
74
|
import {
|
|
75
75
|
escapeHtml,
|
|
76
76
|
safeUrl
|
|
@@ -84,9 +84,9 @@ import {
|
|
|
84
84
|
import "./chunk-WEKL2HYJ.js";
|
|
85
85
|
import {
|
|
86
86
|
syncConfigs
|
|
87
|
-
} from "./chunk-
|
|
88
|
-
import "./chunk-73UFRZKY.js";
|
|
87
|
+
} from "./chunk-3VQWSE3F.js";
|
|
89
88
|
import "./chunk-3G25KIWW.js";
|
|
89
|
+
import "./chunk-73UFRZKY.js";
|
|
90
90
|
import "./chunk-OTGB6YQO.js";
|
|
91
91
|
import {
|
|
92
92
|
ALL_AUDIT_NAMES,
|
|
@@ -96,7 +96,7 @@ import {
|
|
|
96
96
|
runAudits,
|
|
97
97
|
runAuditsAcross,
|
|
98
98
|
securityAudit
|
|
99
|
-
} from "./chunk-
|
|
99
|
+
} from "./chunk-AEXJDCJN.js";
|
|
100
100
|
import "./chunk-LKGVSM2O.js";
|
|
101
101
|
import "./chunk-GASBX52O.js";
|
|
102
102
|
import "./chunk-XHHMM5HX.js";
|
|
@@ -1650,7 +1650,8 @@ function renderInboxLane(model) {
|
|
|
1650
1650
|
}).join("");
|
|
1651
1651
|
const overflow = subs.length - shown.length;
|
|
1652
1652
|
const more = overflow > 0 ? `<div class="approve-row subm-more muted"><a href="/submissions">+${overflow} more \u2014 view all submissions</a></div>` : `<div class="approve-row subm-more muted"><a href="/submissions">View all submissions \u2192</a></div>`;
|
|
1653
|
-
const
|
|
1653
|
+
const spamAsOf = spam?.computedAt !== void 0 ? ` \xB7 as of ${escapeHtml(spam.computedAt.slice(0, 16).replace("T", " "))} UTC` : "";
|
|
1654
|
+
const spamLine = hasSpam ? `<div class="spam-rollup muted">\u{1F6E1} Spam (30d) \u2014 caught ${spam.caught} \xB7 through ${spam.through}${spamAsOf}</div>` : "";
|
|
1654
1655
|
const spamInSummary = hasSpam ? " \xB7 \u{1F6E1} Spam (30d)" : "";
|
|
1655
1656
|
const autoFilteredLine = hasAutoFiltered ? `<div class="spam-rollup muted">\u{1F6AB} ${autoFiltered} auto-filtered this week \u2014 <a href="/submissions?status=spam_auto">review</a></div>` : "";
|
|
1656
1657
|
const leads = subs.filter((s) => isLeadFormType(s.formType)).length;
|