Skip to content

WEB-MEMBERSHIP — Embed Zeffy membership signup and demonstrate in staging #750

Open

Description

@daliu

Embed the club's supplied Zeffy membership form on Join Us and demonstrate it in an isolated staging preview.

The membership section currently sends visitors to the older Google application. Replace that membership link with the supplied fixed Zeffy loader and iframe fallback, retaining a direct Zeffy link. Preserve the separate activity waiver. Do not infer Firebase membership or payment success from the embedded form.

Acceptance:

  • The form is visible on /joinus at phone and desktop widths.
  • Loader failure shows the fixed iframe fallback, with only one visible form.
  • Client navigation away and back initializes one fresh embed.
  • Staging labels this as the real provider form; no details, waiver acceptance or payment are submitted.
  • No dependency, Firebase backend, Auth, Rules, IAM, Zeffy configuration or production deployment changes.
  • Local regression checks and exact staging artifact/UI evidence are recorded.

Officer impact: visitors can view Zeffy membership signup within Join Us. This changes no account activation or membership authority.
Officer documentation: docs/officers/ZEFFY_MEMBERSHIP.md, OFFICER_START_HERE.md, docs/officers/README.md; data flow described in SYSTEM_DESIGN.md.
Deployment evidence: pending staging Hosting preview and dated browser display checks; production website and backend/provider configuration remain unchanged.

Activity

  1. daliu commented on Oct 19, 2026

    @daliu
    ContributorAuthor

    The Zeffy form is deployed and display-verified in an isolated staging preview. Draft PR: #751

    Preview: https://run-mprc-staging--zeffy-750-nqx3741y.web.app/joinus#membership-signup

    • Deployed source: c750d7bac5905eb25f20b0e5726006e719b06c0b; Hosting version 67290871d20f4d57; all 61 served file hashes match the local artifact.
    • Actual signed-out 390×844 / 1280×720 display, one visible form, one loader, no horizontal page overflow and Home → Join Us remount passed. Dated private screenshots are retained in the originating chat. Fallback is locally tested.
    • Node 20: 28 frontend suites / 1,531 tests pass, plus seven focused checks after the spacing correction and all 16 Hosting checks. Exact lint baseline passes with no new findings.
    • The original artifact rejection was reproduced in a test: the approved Zeffy slug contains the Firebase production project name. Only three exact quoted approved form literals are exempted from that text scan; real production identifiers/endpoints/changed hosts/form suffixes still reject.
    • Preview expires October 25, 2026, 5:50 PM Pacific. Shared staging version 6619f96ac1a39406 is unchanged. Auth-domain synchronization was explicitly disabled.

    Officer impact: Join Us displays the club's Zeffy membership form, with an iframe fallback and direct link. No Firebase account activation or membership sync is added.
    Officer documentation: docs/officers/ZEFFY_MEMBERSHIP.md, OFFICER_START_HERE.md, docs/officers/README.md, and the architecture/data-flow note in SYSTEM_DESIGN.md.
    Deployment evidence: isolated static Firebase Hosting preview only; no Functions, Rules, Auth, IAM, data, provider configuration, production or runmprc.com change. No real details, waiver acceptance, signup or payment were submitted. No workflow was manually dispatched.

    Source is in draft PR review, not merged. Prices/renewal terms and production publication remain separate owner decisions.

  2. daliu commented on Oct 19, 2026

    @daliu
    ContributorAuthor

    October 18 simplified signup staging acceptance

    Join Us now embeds the club's supplied Zeffy membership form and says no MPRC account is needed. It removes the duplicate member-waiver block and public Sign in/My Account navigation. Guests retain the existing activity-waiver form in a separate section; footer Officer access opens an existing-account sign-in/recovery page without registration. Existing admin authorization and legacy private-route redirects remain intact.

    View the staging demo. This is the real Zeffy form; the preview says view only. No details, waiver acceptance, signup, sign-in, recovery request or payment were submitted. No account synchronization or Google SSO is added.

    Validation:

    • Node 20: all 29 frontend suites / 1,535 tests pass, including ordinary-account admin denial, officer sign-in, legacy-registration-to-officer navigation, guest waiver and public navigation coverage.
    • Exact lint gate passes with no new findings: 111 legacy errors and six warnings. Removing the old waiver rendering removes two legacy findings.
    • All 16 Hosting contract tests passed for the embed's narrowly scoped form-literal exception. Actual production identifiers, endpoints, changed hosts and changed form suffixes still reject; environment validation is unchanged.
    • Final deployed executable source 99ca1e328365cfd80a9b8a019d64083c9a47caf1, Hosting version 298cdee311b65eaf; all 61 served files match the build. Later documentation-only commit records acceptance.
    • Signed-out 390×844 phone and 1280×720 desktop: Zeffy display, guest anchor/form target, menu without public login, footer officer page without registration, and return to membership verified. No page horizontal overflow. Fixed the guest button's phone wrapping and checked the hosted result. Screenshots retained in the originating chat.
    • Preview expires October 25, 2026 at 10:31 PM Pacific. Shared staging stays at version 6619f96ac1a39406.

    Officer impact: members enroll through Zeffy; guests have a separate waiver option; officers retain a dedicated website entry. Zeffy prices, terms and waiver settings remain provider content and are not changed or qualified by this display demo.

    Officer documentation: OFFICER_START_HERE.md, docs/officers/README.md, docs/officers/ACCESS_CONTINUITY.md, docs/officers/ZEFFY_MEMBERSHIP.md (including flow map), SYSTEM_DESIGN.md, and docs/MEMBER_LAUNCH_SCOPE.md (prior Firebase member-account/dues plan deferred for this public enrollment).

    Deployment evidence: one isolated Firebase Hosting preview, with Auth-domain synchronization disabled. Shared staging, production/runmprc.com, Functions, Rules, Auth, IAM, data, Zeffy configuration and permissions remain unchanged. No workflow manually dispatched. Draft and unmerged; this is not production-release approval.

    Refs #750.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    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