Repository navigation
[codex] Enable ordinary opt-in for retired test recipients - #9
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Readers now see subscription capacity first, then all status/feedback, then the editable form and explicit cancellation/unsubscribe. Signup, confirmation and management use the same order; retained forms, email copy and automatic visible confirmation remain intact.
Historical test identities prevented their mailboxes from joining the normal reader flow. Add an owner-only, no-send mail-test release action that requires an exact normalized match with the configured target. It preserves test history and quota, invalidates old links, refuses suppression/hard failures/unknown sends, and changes only that role to public unsubscribed. The reader must still request and confirm an ordinary subscription. No real address is hardcoded or committed. Also preserve language/topics alongside an existing live confirmation token when a concurrent legacy request finds missing delivery history; a forced reverse-winner regression proves this ordering.
Validation: 115 local tests (35 base, 61 news/mail, 11 UI, 8 isolated HTTP), TypeScript, content, lint, audit, final build and unchanged bundle budgets passed. The 61-case suite passed 20 bounded runs after the preference regression repair. Synthetic desktop/mobile browser checks cover consistent card order, automatic confirmation, preferences and explicit unsubscribe/cancel; signup layout uses local API mocks. Initial truncated test failure is recorded separately from the reproduced preference race; a local development ProxyWorker startup disconnect was followed by verified 403 and 8/8 ready checks. No production mail was sent.
Publish via the existing public Sites project and then execute only the explicitly authorized no-send role release, with production configuration and schedules retained. v1.0.1 tagging is deferred until the user accepts the deployed result; preserve v1.0.0.