Skip to content

Add the third anniversary party - #412

Open
spencerc99 wants to merge 12 commits into
mainfrom
wip/party-3
Open

Add the third anniversary party#412
spencerc99 wants to merge 12 commits into
mainfrom
wip/party-3

Conversation

@spencerc99

Copy link
Copy Markdown
Owner

Summary

  • Add a versioned /party/3/ anniversary page with shared cake, balloons, wishes, pennants, candles, cursors, presence, and a two-person party popper.
  • Add an intentionally unlinked /party/3/balloons/ workshop for building shared balloon creations.
  • Keep persistent artifacts in shared state, active popper holds in awareness, and transient effects in PlayHTML events.
  • Add the party artwork, responsive layout, sound effects, card and seal palettes, and customizable name tags.

Verification

  • bunx vitest run party/3/partyState.test.ts
  • bunx tsc -p extension/website
  • focused ESLint with ESLINT_USE_FLAT_CONFIG=false
  • bun run build in extension/website
  • bun run check:extension-website
  • Two Chrome participants verified remote cursors, 2 here, synchronized party and workshop state, persistent reloads, and the paired popper event and confetti in both tabs.

PR evidence will be added after the preview deployment is available.

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Aug 25, 2026

Copy link
Copy Markdown

Deploying we-were-online-website with  Cloudflare Pages  Cloudflare Pages

Latest commit: fbd5c5d
Status: ✅  Deploy successful!
Preview URL: https://d2220f39.we-were-online-website.pages.dev
Branch Preview URL: https://wip-party-3.we-were-online-website.pages.dev

View logs

@pkg-pr-new

pkg-pr-new Bot commented Aug 25, 2026

Copy link
Copy Markdown

Open in StackBlitz

bun add https://pkg.pr.new/@playhtml/common@412
bun add https://pkg.pr.new/playhtml@412
bun add https://pkg.pr.new/@playhtml/react@412

commit: fbd5c5d

@spencerc99

spencerc99 commented Aug 25, 2026

Copy link
Copy Markdown
Owner Author

Preview evidence

Recomposes the party journey and improves its popper, card maker, typography, input, and keyboard experience.

Open preview · Review all evidence · Commit fbd5c5d

Entrance, cake, and balloon stand

Entrance, cake, and balloon stand

The opening view keeps the copy on the wall and leads from cake to balloons and the two-person popper without a persistent hint.

Open captured page · 1280×720

Message pile and exit

Message pile and exit

The empty pile invites the first card; all design and signing controls fit above the footer beside a clear visual endpoint.

Open captured page · 1280×720

Published by PR Evidence. Media is temporary and is removed after retention expires.

@spencerc99

Copy link
Copy Markdown
Owner Author

Code review

  • P1 — Dragging a balloon or workshop segment also runs its click action. PartyPage.tsx:700 clears drag during pointerup, so the subsequent click reaches the action at lines 779–808 after the drag guard has disappeared. The workshop repeats the same sequence at BalloonWorkshop.tsx:160 and lines 377–388. A drag therefore also inflates, deflates, or can pop the item. Preserve a completed-gesture flag through the click and suppress that click, or resolve click versus drag entirely in pointerup.
  • P1 — Workshop events never update the other participant's event line. BalloonWorkshop.tsx:88 dispatches eventPayload: { message } but its listener expects to receive another outer eventPayload object. The runtime extracts eventPayload and passes it directly to listeners at packages/playhtml/src/index.ts:607, so remote listeners receive { message } and the current check always sees undefined. Type the listener payload as { message?: string } and read payload.message.
  • P1 — The new party route is outside strict TypeScript verification and already contains definite type errors. extension/website/tsconfig.json:29 includes only src, while this PR adds its sources under party/3. Including that route surfaces errors such as reading the missing PopperAwareness.holdId at PartyPage.tsx:1223, passing an arbitrary string to the readonly color tuple at line 196, and using ES2021 replaceAll under the ES2020 lib at partyState.ts:212. Expand the website TypeScript project to cover the route and fix the surfaced errors.

@spencerc99

Copy link
Copy Markdown
Owner Author

Code review

No issues found. Verified that the prior findings are resolved and checked the fix delta for regressions and project-instruction compliance.

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