Skip to content

WEB-UX-001A — Publish an exact-delta production header hotfix #457

Description

@daliu

Outcome

Completed on 2026-07-23.

Events, Shop, and My Account now use the shared page-hero layout, with decorative images and enough clearance below the fixed navigation on desktop and mobile. The solution is generalized through the shared Header component so every current and future page using that component receives the same navigation clearance.

Production remains on Netlify for this release. The separate move to controlled Firebase Hosting and automatic protected-branch releases is tracked by #460.

Production release

  • Release PR: Release: deploy exact page-header hotfix to Netlify #461.
  • Control merge commit: 4f67e6cafb975a3f985fefc67f094b3a37526702.
  • Exact hotfix source: ed1b0833f25822cee80c99ded8753722b5608a3f.
  • Exact source tree: 878c6628d961f4484cb49208aef53f1e9f2e3b47.
  • Netlify production deploy: 6a61c544171ea80008307623.
  • Published: 2026-07-23 at 07:41 UTC.
  • Live bundles: main.9ab083e3.js and main.9b75243f.css.
  • Artifact proof: 60 files with SHA-256 digest 7570955c2a00926e5813aef135f1799172cfd046072ac89fb4e492bed0797092.
  • GitHub Actions: PR and post-merge runs passed all five jobs.

The source ref used by the exact-artifact builder was deleted after publication, so a historical retry cannot rebuild the authorized release.

Production verification

  • runmprc.com served the exact public release marker and expected bundles.
  • Events and Shop were visually checked at 1280px desktop and 390x844 mobile sizes.
  • Their images loaded, headings were readable below navigation, and no horizontal overflow was present.
  • Signed-out My Account routing was checked through /account to the image-backed Login page without signing in or accessing member data.
  • Existing shared-header pages retained one page heading and the same generalized clearance.
  • No Firebase, Functions, Firestore Rules, Stripe, provider settings, permissions, customer/member data, or production data changed.

Rollback and post-release safety

  • Prior known-good Netlify deploy: 6a54a3c93db9d300082e1f5f.
  • Exact Git rollback fallback: draft PR Rollback: prepare exact pre-header Netlify artifact #462 at 2f2bbf1abab7f303c09ca27606966cee8b3938cc, based on current main a70545760510ed5e6575919eac9b8111e97f927f.
  • Rollback preview 6a61cf4b22a1580008821ba2 is ready. Its public marker pins the former source/tree, 60 files, digest 72d690a7d1faa5b707fc10ce3c50387d31f7c4745df4d21453c90d4a2a84ebe4, and former live bundles main.58ede287.js / main.cdd8bda4.css.
  • Preferred emergency action: a Netlify owner atomically restores the prior deploy, then verifies the public release marker and routes.
  • Safety PR Release: re-pause temporary Netlify hotfix gate #463 merged as 04d6d2cd88dda0e6ec7e2b6a71514e6ce2e4db25.
  • Netlify recorded that merge as unpublished deploy 6a61ca460c41450008ee531d with state error; the published production deploy remained 6a61c544171ea80008307623.
  • Documentation PR Docs: bind emergency rollback to current main #465 merged as a70545760510ed5e6575919eac9b8111e97f927f, correcting rollback instructions to bind the exact current main rather than the original release merge.
  • Netlify also recorded the documentation merge as unpublished deploy 6a61d10d69aef30007454a71 with state error; the published production deploy again remained unchanged.
  • The temporary exact-release gate is inactive again. Ordinary main merges do not publish the website.

Follow-up

#460 owns the permanent release contract:

feature PR -> main
approved promotion PR -> protected production-web
merge -> automatic exact-SHA Firebase Hosting deploy

Netlify must remain available until that Firebase Hosting cutover, DNS/TLS verification, observation period, and rollback proof are complete.

Officer impact: Events, Shop, and My Account are readable below the fixed navigation and use consistent page titles and decorative hero images. Officers do not need to edit source files, run commands, or handle deployment secrets.

Officer documentation: OFFICER_START_HERE.md, docs/officers/README.md, docs/officers/PUBLISH_AND_CHECK.md, docs/officers/REQUEST_A_CHANGE.md, docs/officers/ACCESS_CONTINUITY.md, and docs/officers/SYSTEM_MAPS.md.

Deployment evidence: Netlify deploy 6a61c544171ea80008307623; public release marker and bundles verified on runmprc.com; desktop/mobile Events and Shop plus signed-out Account routing verified; unpublished skip deploys 6a61ca460c41450008ee531d and 6a61d10d69aef30007454a71; exact rollback preview 6a61cf4b22a1580008821ba2; GitHub Actions release, safety, documentation, and rollback runs passed all five jobs.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions