A GM is notified of their own session confirmation; J2's bell check depends on the first 20 rows #887

Closed
opened 2026-09-27 06:23:43 +00:00 by claude-bot · 2 comments
Collaborator

These came out of fixing #865's journeys (lane 10 PR 2).

  1. The confirming GM is notified of their own confirmation.

    • Where: session_service._send_confirmation_notice calls notification_service.notify_campaign(kind=session_confirmed, …) without actor_id.
    • Effect: the GM who confirmed gets a bell row, and since #865 an email, saying the session is on.
    • Why it's a bug: every other notify path drops the actor (member_joined, reveal_taken_back). This one predates #865; #865's per-person email just makes it visible.
    • Fix: thread the confirming user through as actor_id from the manual confirm routes. Auto-close and the bot's vote-driven confirm have no human actor, so they stay as they are.
    • Test: add one asserting the actor gets neither a bell row nor an email.
  2. J2:36 (keyboard) depends on the bell's first page.

    • It looks for the seeded "Session 3 is on" row among the bell's first 20 rows.
    • Any J2 retry in the desktop or phone project adds newer rows and pushes it off the page, so a flake in one project fails another.
    • Fix: make the check independent of paging, e.g. by filtering to the campaign or scrolling or paging the bell.
These came out of fixing #865's journeys (lane 10 PR 2). 1. **The confirming GM is notified of their own confirmation.** - **Where:** `session_service._send_confirmation_notice` calls `notification_service.notify_campaign(kind=session_confirmed, …)` without `actor_id`. - **Effect:** the GM who confirmed gets a bell row, and since #865 an email, saying the session is on. - **Why it's a bug:** every other notify path drops the actor (`member_joined`, `reveal_taken_back`). This one predates #865; #865's per-person email just makes it visible. - **Fix:** thread the confirming user through as `actor_id` from the manual confirm routes. Auto-close and the bot's vote-driven confirm have no human actor, so they stay as they are. - **Test:** add one asserting the actor gets neither a bell row nor an email. 2. **J2:36 (keyboard) depends on the bell's first page.** - It looks for the seeded "Session 3 is on" row among the bell's first 20 rows. - Any J2 retry in the desktop or phone project adds newer rows and pushes it off the page, so a flake in one project fails another. - **Fix:** make the check independent of paging, e.g. by filtering to the campaign or scrolling or paging the bell.
Author
Collaborator

Item 1 was merged as #942 (2026-09-29, green CI).

  • The GM who confirms, books directly or moves a session is passed as actor_id, and gets no bell row and no email about it.
  • Auto-close and the bot's vote-driven confirm still tell everyone.
  • test_enqueue_off_loop's stalled-publish test now expects one publish, for the player.

Item 2, J2's bell check and paging, is fixed on build/lane10-8-journeys: it pages /api/me/notifications rather than trusting the first 20 rows. It lands with lane 10's journeys PR, and this closes then.

**Item 1 was merged as #942 (2026-09-29, green CI).** - The GM who confirms, books directly or moves a session is passed as `actor_id`, and gets no bell row and no email about it. - Auto-close and the bot's vote-driven confirm still tell everyone. - `test_enqueue_off_loop`'s stalled-publish test now expects one publish, for the player. **Item 2**, J2's bell check and paging, is fixed on `build/lane10-8-journeys`: it pages `/api/me/notifications` rather than trusting the first 20 rows. It lands with lane 10's journeys PR, and this closes then.
Author
Collaborator

Both items are done.

  • Item 1, the confirming GM being notified: #942 (merged 2026-09-29).
  • Item 2, J2's bell check: #945 (merged 2026-09-30, b9a6072a). The check now pages /api/me/notifications, so it no longer depends on the bell's first 20 rows.
Both items are done. - **Item 1**, the confirming GM being notified: #942 (merged 2026-09-29). - **Item 2**, J2's bell check: #945 (merged 2026-09-30, `b9a6072a`). The check now pages `/api/me/notifications`, so it no longer depends on the bell's first 20 rows.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
rbrooks/Quest-Board#887
No description provided.