# 21-Oct-2026 — migrate zone inbox routers and repair delivery setup ([ref #20](https://github.com/nbarrett/ngx-ramblers/issues/20), [#307](https://github.com/nbarrett/ngx-ramblers/issues/307), [#410](https://github.com/nbarrett/ngx-ramblers/issues/410))

## [build 1012](https://github.com/nbarrett/ngx-ramblers/actions/runs/39689061652) — [commit 11cd377](https://github.com/nbarrett/ngx-ramblers/commit/11cd377d41bcac5a0f0592af6f745ab19d89993c)

_____

## What's new

- Sites using Direct to inbox move an existing shared catch-all to their own Cloudflare zone router automatically on startup. Sites sharing a parent zone continue using that zone's single router; Gmail-connected sites, sites without an inbox provider, ordinary forwarding and disabled catch-alls keep their existing settings.
- Switching from Gmail-connected inbox to Direct to inbox publishes this site's zone inbox router and sets the catch-all to deliver unmatched mail here. Gmail polling stops; the Gmail connection stays so you can switch back. A site on a shared parent zone cannot publish a catch-all. Switching back to Gmail resumes polling and leaves the Cloudflare catch-all as it is until you change it in Committee Settings.
- In Committee Settings, an emergency forwarding address is optional for Direct to inbox. An address already recorded on the catch-all is preserved; sites without one stay independent of Gmail and report delivery failures in the worker logs instead of forwarding to an unchosen address.
- The router migration checks origin encryption and repairs Off or Flexible SSL only after verifying a valid Fly certificate for the site's hostname. Existing Full and Full (strict) settings are retained. If configuration, certificates or external services prevent completion, the migration stays pending and can be retried from the migration controls or on a later restart.
- Committee Settings has an Email logs tab after Committee Members. Switch between Email Routing Log and Worker Invocation Log, choose a date range and refresh to inspect incoming mail. The tables fill the space above Save, stretch to the card width, keep the date column visible during sideways scrolling, and show routing explanations under a row without the date column covering them.
- Envelope icons on committee mailboxes copy the address. Catch-all Redeploy refreshes the zone worker and its recorded fallback, moves legacy catch-alls when necessary and reloads the resulting rule in the screen.
- Platform Admin now has a Cloudflare Workers page. Open it to inspect workers across the configured account, see catch-all and address-rule references in the Referenced By column, and follow a worker to Cloudflare. Workers with no email routing references can be deleted after confirm. The site-migration fetch worker is reserved and cannot be deleted from this list.
- In the inbox, use the arrow keys to move between conversations and Delete or Backspace to remove the selected conversation while reading a message. Moving or deleting a grouped conversation includes its related threads, and Undo restores them together. Drag a conversation onto a folder to file it, or onto Deleted to bin it. Deleting a folder asks Keep, Delete or Cancel as small icons under the folder name.
- Accept, Tentative and Decline on a meeting invitation send from Direct to inbox sites through the group's mail, so an RSVP no longer needs a Gmail mailbox.
- Add to Calendar downloads a calendar file built from the invitation instead of opening a linked image. Outlook and Google receive a plain description with links; Calendar.app opens a publish calendar file.