{"id":"6a4cc40f3cff77fb6166909b","title":"2026 07 07","path":"how-to/committee/release-notes/2026-07-07","contentMarkdown":"# 07-Jul-2026 — More reliable direct-to-inbox email routing [ref #307](https://github.com/nbarrett/ngx-ramblers/issues/307)\n\n## [build 752](https://github.com/nbarrett/ngx-ramblers/actions/runs/28854735024) — [commit 3daeaf1](https://github.com/nbarrett/ngx-ramblers/commit/3daeaf14b3981bfe6376bc17003070e6c3897a1f)\n\n_____\n\n## What's new\nCloudflare direct-to-inbox routing now behaves consistently from setup through live delivery. Committee mailbox routing is pushed to site-specific Cloudflare workers, inbound messages are stored under the correct role or general mailbox, replies stay attached to the direct-inbox connection, and shared committee settings refresh across connected admin clients.\n\n## At a glance\n- Direct inbox setup routes committee addresses to a site-specific Cloudflare worker.\n- Live inbound mail posts to the Fly origin instead of looping back through the public Cloudflare-hosted domain.\n- Unmatched catch-all mail lands in the general inbox rather than being silently discarded.\n- Committee settings changes propagate to connected clients without requiring a manual reload.\n- The direct-delivery setup success alert has clearer spacing in the admin UI.\n\n## Technical changes\n- Derive Cloudflare ingress aliases from committee roles and add general mailbox fallback handling.\n- Generate per-site inbox router workers with explicit webhook URLs and shared router secrets.\n- Accept both shared router and per-site inbound webhook signatures on the inbox endpoint.\n- Store outbound reply writebacks against the mailbox connection provider.\n- Broadcast config updates over websockets and refresh committee settings consumers.","contentHtml":"<h1>07-Jul-2026 — More reliable direct-to-inbox email routing <a href=\"https://github.com/nbarrett/ngx-ramblers/issues/307\">ref #307</a></h1>\n<h2><a href=\"https://github.com/nbarrett/ngx-ramblers/actions/runs/28854735024\">build 752</a> — <a href=\"https://github.com/nbarrett/ngx-ramblers/commit/3daeaf14b3981bfe6376bc17003070e6c3897a1f\">commit 3daeaf1</a></h2>\n<hr>\n<h2>What&#39;s new</h2>\n<p>Cloudflare direct-to-inbox routing now behaves consistently from setup through live delivery. Committee mailbox routing is pushed to site-specific Cloudflare workers, inbound messages are stored under the correct role or general mailbox, replies stay attached to the direct-inbox connection, and shared committee settings refresh across connected admin clients.</p>\n<h2>At a glance</h2>\n<ul>\n<li>Direct inbox setup routes committee addresses to a site-specific Cloudflare worker.</li>\n<li>Live inbound mail posts to the Fly origin instead of looping back through the public Cloudflare-hosted domain.</li>\n<li>Unmatched catch-all mail lands in the general inbox rather than being silently discarded.</li>\n<li>Committee settings changes propagate to connected clients without requiring a manual reload.</li>\n<li>The direct-delivery setup success alert has clearer spacing in the admin UI.</li>\n</ul>\n<h2>Technical changes</h2>\n<ul>\n<li>Derive Cloudflare ingress aliases from committee roles and add general mailbox fallback handling.</li>\n<li>Generate per-site inbox router workers with explicit webhook URLs and shared router secrets.</li>\n<li>Accept both shared router and per-site inbound webhook signatures on the inbox endpoint.</li>\n<li>Store outbound reply writebacks against the mailbox connection provider.</li>\n<li>Broadcast config updates over websockets and refresh committee settings consumers.</li>\n</ul>\n"}