A handout revealed to a player can't be listed or opened by her (lane 8 PR 5 server gap) #916

Closed
opened 2026-09-28 17:09:24 +00:00 by claude-bot · 0 comments
Collaborator

Found building lane 8 P6 (Handouts, WIKI-14, #734).

The problem. A GM's handout is a document page that starts at audience gm (prep). Revealing it (shelf_reveals, with an audience of table, party or chosen) lets the player download the file through /api/campaigns/{cid}/files/{id}, but:

  • the reveal doesn't widen what she can read of the page, so GET /lore/{id} is a 404 for her, and it doesn't show in search or the wiki lists;
  • there is no "handouts I'm inside" collection (survey §3.8), so her Handouts page can only list document pages whose own audience includes her.

So as built, a player can't see the handouts shown to her, which is their whole purpose.

What's needed (server):

  1. Reading a page: a live (not taken back) reveal whose audience covers the viewer grants read of that handout page, rendered for her audience, so GM blocks stay hidden. Taking the reveal back removes it again.
  2. GET /api/campaigns/{cid}/handouts for a player, listing the handouts revealed to her grouped by session (null session means "between sessions", per W8), with piece labels.
  3. A player creating a handout sets the page's audience to herself plus the GMs (§3.8). Today it's table-visible.
  4. Optionally, add source_reference_entry_id to LoreEntryResponse (IS-123, "Based on rules entry …").

Tests (as Priya): revealed to her, she can read the page and it's listed; taken back, it's a 404 again and gone from the list; revealed to someone else, it's a 404; a GM block inside is never sent to her.

Part of #734.

Found building lane 8 P6 (Handouts, WIKI-14, #734). **The problem.** A GM's handout is a `document` page that starts at audience `gm` (prep). Revealing it (`shelf_reveals`, with an audience of table, party or chosen) lets the player **download** the file through `/api/campaigns/{cid}/files/{id}`, but: - the reveal doesn't widen what she can read of the **page**, so `GET /lore/{id}` is a 404 for her, and it doesn't show in search or the wiki lists; - there is no **"handouts I'm inside"** collection (survey §3.8), so her Handouts page can only list `document` pages whose own audience includes her. So as built, a player can't see the handouts shown to her, which is their whole purpose. **What's needed (server):** 1. Reading a page: a live (not taken back) reveal whose audience covers the viewer grants read of that handout page, rendered for her audience, so GM blocks stay hidden. Taking the reveal back removes it again. 2. `GET /api/campaigns/{cid}/handouts` for a player, listing the handouts revealed to her grouped by session (null session means "between sessions", per W8), with piece labels. 3. A player creating a handout sets the page's audience to herself plus the GMs (§3.8). Today it's table-visible. 4. Optionally, add `source_reference_entry_id` to `LoreEntryResponse` (IS-123, "Based on rules entry …"). **Tests (as Priya):** revealed to her, she can read the page and it's listed; taken back, it's a 404 again and gone from the list; revealed to someone else, it's a 404; a GM block inside is never sent to her. Part of #734.
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#916
No description provided.