Commit Graph

  • 4715901413 docs: bump version baseline to 5339656 (HANDOFF retirement + incident lessons) main anonsaber 2026-10-16 23:48:55 +0800
  • 5339656c9b docs: retire HANDOFF-push-401.md; record incident lessons; fix stale baseline claims anonsaber 2026-10-16 23:44:02 +0800
  • 509e44a9a2 docs: bump version baseline to ac0f291 (in-process stream drain) anonsaber 2026-10-16 22:39:33 +0800
  • ac0f291cb1 feat(drain): in-process stream drain; external /worker demoted to optional safety net anonsaber 2026-10-16 22:38:48 +0800
  • 8922975112 docs: bump version baseline to 979b652 (delivery path instrumentation) anonsaber 2026-10-16 18:09:04 +0800
  • 979b652f71 diag(worker): instrument silent delivery paths; fix %/ ? error formatters anonsaber 2026-10-16 18:05:19 +0800
  • 09ddd116ef docs: bump version baseline to bc6d1c9 (StateChange push handling) anonsaber 2026-10-16 12:31:21 +0800
  • bc6d1c9e17 fix(push): accept RFC 8620 StateChange pushes and reconcile on them anonsaber 2026-10-16 12:26:59 +0800
  • ffa53b5bbb diag: instrument jmap_push to log what Stalwart actually sends anonsaber 2026-10-14 19:39:30 +0800
  • 3f8fbb7bdc docs: bump version baseline to 9d4996c (Cache-Control no-store) anonsaber 2026-10-14 11:08:29 +0800
  • 9d4996ca67 feat(worker): add Cache-Control: no-store for all dynamic routes anonsaber 2026-10-14 11:07:10 +0800
  • 66aeb3b9e7 docs: bump version baseline to 34efae8 (Host-header backend label round) anonsaber 2026-10-14 08:48:23 +0800
  • 34efae84ff feat(status): derive `backend` from the request Host header, not a startup env anonsaber 2026-10-14 08:48:11 +0800
  • 26e916b79d docs: bump test/anchor baseline to match the backend-label round anonsaber 2026-10-14 02:46:17 +0800
  • 88f0923e6c feat(status): report per-instance backend label so probes can identify the origin anonsaber 2026-10-14 02:28:06 +0800
  • 6ae8978836 docs: bump version baseline to 3b36fe3 anonsaber 2026-10-13 22:43:29 +0800
  • 3b36fe30ba fix(push): rate-limiter no longer blocks verification; sync stale docs anonsaber 2026-10-13 22:43:29 +0800
  • 09a108bdd7 docs: add push-401 handoff for incoming team anonsaber 2026-10-13 19:45:45 +0800
  • f9160c0dbb fix(push): RFC 8620 §7.2 verification response + best-effort verify API call anonsaber 2026-10-13 09:42:28 +0800
  • 7331cb7d31 fix(push): verification key should never expire (TTL 0) anonsaber 2026-10-12 23:57:24 +0800
  • d452f95485 fix(push): PUSH_SUBSCRIPTION_SECONDS 300→WEEK (604800) anonsaber 2026-10-12 23:42:28 +0800
  • 88ac8594cc feat: immediate push trigger + inline /help + RFC 8620 push verification fix anonsaber 2026-10-12 22:18:29 +0800
  • 21e91765d0 feat(reconcile): filter initial baseline to 7-day unread emails anonsaber 2026-10-12 22:08:51 +0800
  • 1bdda7c471 fix: reconcile lock robustness — TTL 300s→60s, heartbeat 90s→30s, renewal interval 10s anonsaber 2026-10-12 22:03:11 +0800
  • 298d487782 fix: stop swallowing reconcile errors — surface reason in 503 body anonsaber 2026-10-12 17:43:26 +0800
  • d0d1cde465 docs: simplify README prose, break long compound sentences anonsaber 2026-10-10 19:44:14 +0800
  • 2bb061cf28 docs: use --app-domain CLI flag style in cron-drain example anonsaber 2026-10-10 19:30:44 +0800
  • b7e02dd9c8 docs: update cron-drain example to use MW_APP_DOMAIN parameter (auto-prepend https://) anonsaber 2026-10-10 19:27:20 +0800
  • 77bb253cc0 docs: clean remaining deployment.md refs in design docs anonsaber 2026-10-10 19:06:40 +0800
  • 7aedcd4145 docs: merge deployment.md into README, delete deployment files anonsaber 2026-10-10 18:53:43 +0800
  • d5403d8b5b feat(cron): add --app-domain/--worker-domain/--debug-domain CLI flags, auto-prepend https:// anonsaber 2026-10-10 18:12:31 +0800
  • 427c487923 ui: simplify SPA config callout to 3 sentences, align with field hints anonsaber 2026-10-10 17:28:59 +0800
  • bb42243a55 docs: note multi-backend shared-Redis config in README tutorial anonsaber 2026-10-10 17:19:00 +0800
  • 1b459d383c test(config): add idempotence regression for BusinessConfigPatch::apply anonsaber 2026-10-10 17:09:07 +0800
  • da46a8fd4c ui: clarify ambiguous SPA config copy (readback, save feedback, LLM toggle) anonsaber 2026-10-10 17:02:34 +0800
  • 0b58d81193 fix(config): stop the first-save business config panic in apply() anonsaber 2026-10-10 17:01:49 +0800
  • dac4042ace docs: remove unnecessary RUN_MODE mentions from README and reference anonsaber 2026-10-08 21:48:11 +0800
  • 29178cb093 docs: fold quickstart into README, rename gateway→load balancer anonsaber 2026-10-08 21:35:14 +0800
  • 7ed1a086fe docs: add hand-holding quickstart tutorial (EN + ZH) anonsaber 2026-10-08 17:35:35 +0800
  • 74d53ae542 docs: restore indentation the ZWSP cleanup destroyed in design.md anonsaber 2026-10-01 19:04:55 +0800
  • 5f182f97b0 docs: fix facts that the code contradicts, in both languages anonsaber 2026-10-01 18:47:05 +0800
  • 8e92c9de4e docs(zh): restore machine-damaged identifiers in reference.zh-CN.md anonsaber 2026-10-01 18:23:08 +0800
  • ed0f8172eb docs: state the gateway's actual design intent — a free-tier load balancer, not a security layer anonsaber 2026-10-01 17:47:49 +0800
  • 1c1b1e644e worker: add the second origin messageweave-eu-2 to the LB origin list anonsaber 2026-10-01 17:18:35 +0800
  • 09d4e01ec5 docs(deploy): document shared-Redis multi-origin topology and config convergence messageweave 2026-10-01 16:14:15 +0800
  • 42128433ed docs: add the worker bilingual README and name both deployment forms anonsaber 2026-10-01 13:40:39 +0800
  • baa6d8a6a1 docs: reanchor the notify.rs and state.rs line refs the backend moved anonsaber 2026-10-01 11:35:06 +0800
  • 2089a95b79 docs: drop the SPA-footer deploy proof and reanchor notify.rs refs anonsaber 2026-10-01 11:18:07 +0800
  • 0b27ca03a6 ui: drop the build-version display and fix the callback card anonsaber 2026-10-01 11:17:50 +0800
  • b3df7c5d87 feat(push): retire the previous subscription when the callback URL changes anonsaber 2026-10-01 11:17:32 +0800
  • 0c84f8ef56 ui: simplify footer to build version anonsaber 2026-10-01 09:23:33 +0800
  • af89a17f7f feat(auth): extend admin session to 30 minutes anonsaber 2026-10-01 09:19:49 +0800
  • b410dc4257 ui: trim Chinese admin copy anonsaber 2026-10-01 09:11:23 +0800
  • 2752069eb3 docs: fix Chinese technical terminology anonsaber 2026-10-01 03:33:42 +0800
  • e4a0a4b7db docs: translate Chinese document headings anonsaber 2026-10-01 03:21:57 +0800
  • 1d4959a855 feat(worker): redirect HTTP to HTTPS anonsaber 2026-10-01 02:52:01 +0800
  • 94032a1e08 docs: right-size test guidance and Redis wording anonsaber 2026-10-01 02:38:16 +0800
  • 7a27f7ff00 docs: add bilingual guides and callback setup in SPA anonsaber 2026-10-01 02:36:03 +0800
  • 98d62e490c docs(spa): 登录卡文案去重,只改字符串不动结构与逻辑 anonsaber 2026-09-30 23:35:32 +0800
  • f9889288ba docs: 同步 /worker 进 safelist(17 -> 18 条),cron 示例收敛到单一域名 anonsaber 2026-09-30 23:08:57 +0800
  • 6bb57801ac feat(lb): POST /worker 加入路由 safelist,走独立长超时且不故障转移 anonsaber 2026-09-30 23:08:41 +0800
  • fae37b35bc chore(ops): scripts/cron-drain.sh 加可执行位,便于直接 ./ 调用 anonsaber 2026-09-30 22:29:45 +0800
  • 3917b96e71 docs: §4.1 / §6.3.1 指向 scripts/cron-drain.sh anonsaber 2026-09-30 22:24:53 +0800
  • b9b7114fd3 feat(ops): scripts/cron-drain.sh,外部调度脚本,参数全走环境变量 anonsaber 2026-09-30 22:24:41 +0800
  • 89dfe5cf3d feat(lb): /healthz 透传到源站,LB 聚合探针改挂 /healthz-worker anonsaber 2026-09-30 21:36:37 +0800
  • 15fa7f1e35 feat(lb): /healthz 回显版本号 LB_VERSION,确认线上是哪次部署在回答 anonsaber 2026-09-30 20:21:48 +0800
  • 656034d71d fix(lb): 可观测头写入不可变响应头不再把健康的 200 变成 503 anonsaber 2026-09-30 20:02:18 +0800
  • 3d6606d0cd docs: deployment.md §10/§10.9 同步 origin 列表改为 [vars] 明文例外 anonsaber 2026-09-30 19:07:17 +0800
  • aa78c13161 worker: BACKEND_ORIGINS_JSON 写入 wrangler.toml 的 [vars](明文例外) anonsaber 2026-09-30 19:07:17 +0800
  • d7033066e2 docs: §10.9 构建命令改为 npm test,不再要求 npm ci anonsaber 2026-09-30 18:46:04 +0800
  • 7aa880c429 docs: §10.9 构建命令改为 npm ci + npm test anonsaber 2026-09-30 18:08:57 +0800
  • 7737693c2b worker: wrangler 升到 4.144.0,消掉 CI 里的 out-of-date 警告 anonsaber 2026-09-30 18:08:48 +0800
  • e853032445 docs: 修正 §10.9 预览命令的建议——它是必填项,不是留空 anonsaber 2026-09-30 17:10:35 +0800
  • 8d73b73fb5 docs: 新增 §10.9 网页版部署(Dashboard Code Editor / Git 集成) anonsaber 2026-09-30 16:49:04 +0800
  • caa78787a3 worker: 提交 package-lock.json,让 Cloudflare 的 Git 集成走 npm ci anonsaber 2026-09-30 16:47:27 +0800
  • 048bd5d243 docs: 部署章节标出三个会让首次上线直接失败的坑 anonsaber 2026-09-30 16:24:44 +0800
  • 826b41e781 worker: 修掉两个会让 Worker 部署直接失败的配置错误 anonsaber 2026-09-30 16:24:32 +0800
  • baff2dde8d docs: 关闭最后一个缺口(多账户不做),清掉由此暴露的 5 处陈旧指向 anonsaber 2026-09-30 15:12:53 +0800
  • 71336ea6d3 docs: record the real-Redis TTL green light and drop the credential ask anonsaber 2026-09-30 14:52:06 +0800
  • 5c77fab597 test(state): assert the dedup TTL floor as an upper bound, not a window anonsaber 2026-09-30 14:51:58 +0800
  • e9c979bd1a docs: align the oldState wording with the domain doc anonsaber 2026-09-30 14:14:37 +0800
  • 2447106840 docs: describe the reconcile cursor, re-anchor drifted refs, fix three stale claims anonsaber 2026-09-30 14:11:52 +0800
  • ac27e593dd refactor(worker): make the reconcile cursor an explicit mode instead of a sentinel anonsaber 2026-09-30 14:11:31 +0800
  • 655167e862 docs: close the TTL gap, re-anchor drifted code refs, add anchor tooling anonsaber 2026-09-30 13:20:13 +0800
  • e85863e6da refactor: centralize every TTL value in state::ttl and pin it anonsaber 2026-09-30 13:20:00 +0800
  • d8e1226c76 test: make the real-Redis TTL tests runnable against a rediss:// URL anonsaber 2026-09-30 12:45:20 +0800
  • 7d6ea013b4 fix: make the real-Redis TTL test safe to point at a shared database anonsaber 2026-09-30 12:39:21 +0800
  • 0890eb18f0 test: assert the three Redis TTL write points on a real Redis (opt-in) anonsaber 2026-09-30 12:30:57 +0800
  • e130cb1dfb refactor: drop the never-read EmailChanges.destroyed field anonsaber 2026-09-30 12:20:03 +0800
  • bc68c6b241 docs: unblock GATE-DOCS (debug.rs anchors drifted + file over 500 lines) anonsaber 2026-09-30 12:17:04 +0800
  • ae7b0293ab docs: close opengaps item 1 (re-baseline handled in code) anonsaber 2026-09-30 11:53:24 +0800
  • 269c8f6304 fix: re-baseline reconcile when Email/changes no longer replays anonsaber 2026-09-30 11:51:44 +0800
  • 4cff3a7cee fix: bound Redis connect retries so an unreachable host fails fast anonsaber 2026-09-30 10:21:16 +0800
  • 1353745f58 fix: let the Redis connection reconnect instead of dying with the process anonsaber 2026-09-30 09:13:38 +0800
  • 24a3f04dab docs(agents): record the parallel-coordination rules that stopped the rework loop anonsaber 2026-09-30 03:03:59 +0800
  • b764d6dc30 feat: reject stale business-config submits with a 409 anonsaber 2026-09-30 02:56:15 +0800
  • 33a0a8b8ba docs: fix a register_push anchor that pointed into the worker body anonsaber 2026-09-30 02:05:38 +0800
  • 390a850cba docs: make the line-number convention match what is actually in the tree anonsaber 2026-09-30 02:04:39 +0800
  • 166b77eb34 docs: stop maintaining source line numbers in reference.md anonsaber 2026-09-30 02:02:34 +0800
  • e3924a53c1 test: cover business config read-back and partial submit anonsaber 2026-09-30 01:24:42 +0800