Skip to content

Release Cockpit newsletter with verified Staging delivery and Next.js security fix - #215

Merged
jannikbln merged 1 commit into
productionfrom
deploy/main-to-production
Oct 10, 2026
Merged

jannikbln merged 1 commit into
productionfrom
deploy/main-to-production

Conversation

@github-actions

@github-actions github-actions Bot commented Oct 10, 2026 •

Copy link
Copy Markdown

Production release verified on 10 October 2026. PR #215 is merged, and https://cockpit.start-berlin.com/newsletter serves commit f9603cb. Production pipeline passed all 479 tests, migrations, deployment promotion, commit verification and Inngest synchronization. Direct test delivery and a real one-recipient broadcast from Production reached the approved QA mailbox in Gmail's inbox; SPF, DKIM and DMARC pass. The broadcast records one delivery and zero bounces. Production upload, autosave, scheduling, cancellation and preference links were rechecked. No future QA send remains.

Cockpit gains a newsletter app for Growth: authors can compose and preview issues, upload images to Vercel Blob, send direct test emails, select existing Resend segments, schedule or cancel broadcasts, and inspect delivery analytics. Department heads, co-leads, Legal Board positions and admins also have access; inactive accounts are excluded.

Writing assistance is removed completely, including its server action, OpenAI SDK and environment variables. The Images and Writing help settings cards are removed. The redundant status strip below Email preview is removed as well. Image upload remains supported. Test emails resolve first-name placeholders with or without a fallback.

The release also carries the separate Next.js security fix: Next 16.3.8, patched Sharp/libheif, consistent preview dependencies and React Email 6.9.2. Referrals, existing Cockpit schemas, membership rules and Inngest functions are unchanged. The newsletter only adds migrations 0059 and 0060; both were generated from the schema and applied by the Staging pipeline.

Validation:

  • 479 tests pass. TypeScript and the local production build pass. Changed files pass Biome; the full repository has existing warnings without lint errors.
  • Cockpit-Staging exercised autosave and reload, Blob upload and public CDN access, mobile mail preview, Markdown export, contact sync and segment membership, sandbox group import and an isolated real CSV import.
  • Real direct test emails and a one-recipient broadcast reached the approved QA mailbox in Gmail's inbox. SPF, DKIM and DMARC pass. The broadcast is personalized, contains HTML and plain text, includes unsubscribe headers, and records one delivery with zero bounces.
  • A real scheduled broadcast was canceled through Cockpit. Resend confirms no remaining schedule. Empty-segment preflight and unauthenticated upload/presence requests are rejected.
  • The final plain first-name placeholder regression email also reached Gmail's inbox on Staging commit f1cf9f6, with no remaining placeholder, the uploaded image, and passing SPF/DKIM/DMARC. The final preview cleanup is deployed and browser-verified on Staging commit 0ac1480. Email preview now leads directly into the email frame without the redundant strip.

Final Staging pipeline: Run 38057133375. Build and all 479 tests, database migration step, domain commit verification and Inngest synchronization passed. The release branch has the identical file tree as Main commit 0ac1480. Production deployment and post-release checks are complete.

Deployment configuration is scoped to start-berlin/cockpit. Staging remains live. Production's newsletter mode is prepared as live with explicit operator approval; the authorized Production deployment is complete. Other preview branches remain sandbox. The existing Production workflow builds first, requires the Production gate for migrations, then publishes the new application.

The newsletter's default segment is still empty. Growth must choose the intended audience and preserve its consent before the first regular issue. Custom tracking DNS is incomplete; tested shared Resend tracking URLs work. The patched production dependency audit has no critical findings but retains existing moderate/high findings. The full audit additionally has two dev-tool critical findings outside this fix. Outlook rendering was not tested live.

Full review and migration hashes: Pre-release review. Additive tables can remain during an application rollback. Cancel any newly scheduled live broadcasts before rolling back.

@coderabbitai

coderabbitai Bot commented Oct 10, 2026 •

Copy link
Copy Markdown
Contributor

Important

Review skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration
  • Configuration used: Repository: startberlin/cockpit/.coderabbit.yaml
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: c493281c-da7f-4e03-9fc9-0165e1633703

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions
github-actions Bot force-pushed the deploy/main-to-production branch from b9eadbb to 4634d4f Compare October 10, 2026 12:39
@github-actions
github-actions Bot force-pushed the deploy/main-to-production branch from 4634d4f to 4f7e401 Compare October 10, 2026 13:36
@jannikbln jannikbln changed the title Deploy main → production Release Cockpit newsletter with verified Staging delivery and Next.js security fix Oct 10, 2026
@github-actions
github-actions Bot force-pushed the deploy/main-to-production branch from 4f7e401 to 97535ba Compare October 10, 2026 13:50
@github-actions github-actions Bot changed the title Release Cockpit newsletter with verified Staging delivery and Next.js security fix Deploy main → production Oct 10, 2026
@jannikbln jannikbln changed the title Deploy main → production Release Cockpit newsletter with verified Staging delivery and Next.js security fix Oct 10, 2026
@jannikbln
jannikbln merged commit f9603cb into production Oct 10, 2026
3 checks passed
@jannikbln
jannikbln deleted the deploy/main-to-production branch October 10, 2026 17:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant