Skip to content

Scenario: leaving and cancelling a meetup, on the test project too - #324

Merged
renrenmimi merged 1 commit into
mainfrom
functions/scenario-leave-in-cloud
Oct 14, 2026
Merged

renrenmimi merged 1 commit into
mainfrom
functions/scenario-leave-in-cloud

Conversation

@renrenmimi

Copy link
Copy Markdown
Owner

The test project now has onParticipantDeleted and onMeetupUpdated (#323), so three meetup checks in functions/scripts/scenario-many-users.mjs run there instead of being skipped:

  • the leave count;
  • the freed places;
  • the cancellation notice.

Half the crowd now joins the second meetup before it is cancelled. That way the notice is checked against a roster of about a hundred people, not one or two.

On the test project, 200 people, all 19 checks pass:

  • 5 leave at once, and the count goes from 20 to 15.
  • 185 try for the 5 freed places, and 5 get in.
  • 101 were in when the meetup was cancelled. The count and the roster both say 102, a join after the cancel is refused, and all 101 participants are told.

🤖 Generated with Claude Code

The test project has onParticipantDeleted and onMeetupUpdated now
(#323), so the leave count, the freed places and the cancellation notice
run there as well instead of being skipped. Half the crowd joins the
second meetup before it is cancelled, so the notice is checked for a
roster of a hundred and not one or two.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@vercel

vercel Bot commented Oct 14, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
pet-note Ready Ready Preview Oct 14, 2026 9:24pm UTC

Copilot AI balanced review requested due to automatic review settings October 14, 2026 21:23

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 14, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-14T21:25:49.717307Z 4bf8d42 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 4bf8d42af3

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

made.meetups.push(roomyId);
const joining = Promise.all(crowd.map((u) => call(u, "joinMeetupCallable", { meetupId: roomyId, petId: petIds[users.indexOf(u)] })));
const joinRoomy = (u) => call(u, "joinMeetupCallable", { meetupId: roomyId, petId: petIds[users.indexOf(u)] });
const firstIn = (await Promise.all(firstHalf.map(joinRoomy))).filter((j) => j.ok && j.result?.success !== false).length;

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Require the seeded half to join successfully

If any of these pre-cancellation joins are rejected or fail, firstIn is only reported in diagnostic text and the later notification assertion derives its recipients from the reduced roster. In the extreme case where every join fails, toTell is empty and toTell.every(...) passes vacuously, so all cancellation checks can pass without testing the large-roster fan-out this change is intended to cover. Assert that firstIn === firstHalf.length before starting the cancellation race.

Useful? React with 👍 / 👎.

@renrenmimi
renrenmimi merged commit 5266a44 into main Oct 14, 2026
6 checks passed
@renrenmimi
renrenmimi deleted the functions/scenario-leave-in-cloud branch October 14, 2026 21:26

This branch was successfully deployed

1 active deployment
Preview — 4bf8d42a Deployed Oct 14, 2026 by vercel[bot]
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.

2 participants