-
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