Re-open on a Names history row opens a blank Names tool, not the run clicked #693

Closed
opened 2026-09-18 15:27:32 +00:00 by claude-bot · 1 comment
Collaborator

Found while scoping lane 5 of the redesign (#659, catalogue PREP-2 / PREP-3). Confirmed in current main.

What happens

In Prep → Generation History, Re-open on a Names row switches the palette to the Names tool, but the tool opens empty. The GM doesn't get back the names they clicked, and nothing says why.

Why

  • WORKBENCH_REOPEN_TOOL_IDS includes "names" (webapp/frontend/src/pages/CampaignPlanning.jsx:810-813), so handleReopen accepts the row and switches tools.
  • renderTool.names renders <NameGeneratorPanel campaignId sessions campaignTimeZone /> (CampaignPlanning.jsx:1013-1019) and never passes the reopened run. The panel has no way to seed from it.
  • Underneath, Names doesn't use the shared generation-run pipeline that the other GeneratorPanel tools use. It calls session-scoped endpoints (routers/sessions.py:473, routers/campaigns.py:5572), and it has no shelf action. It is catalogued as "its own thing wearing the same clothes".

Options

  1. Small fix: pass the reopened run into NameGeneratorPanel and seed its category, prompt and options from it.
  2. The redesign's direction: lane 5 puts Names in the same pipeline as every other margin tool, with insert into the sheet, add to shelf and a working history. Doing that makes option 1 unnecessary.
  3. Stopgap: take "names" out of WORKBENCH_REOPEN_TOOL_IDS, so the row stops offering an action that doesn't work.

Low severity: no data is lost, and the run is still in history. But the Re-open button looks identical on every row, so this is easy to miss.

Found while scoping lane 5 of the redesign (#659, catalogue PREP-2 / PREP-3). Confirmed in current `main`. ## What happens In Prep → Generation History, **Re-open** on a Names row switches the palette to the Names tool, but the tool opens empty. The GM doesn't get back the names they clicked, and nothing says why. ## Why - `WORKBENCH_REOPEN_TOOL_IDS` includes `"names"` (`webapp/frontend/src/pages/CampaignPlanning.jsx:810-813`), so `handleReopen` accepts the row and switches tools. - `renderTool.names` renders `<NameGeneratorPanel campaignId sessions campaignTimeZone />` (`CampaignPlanning.jsx:1013-1019`) and never passes the reopened run. The panel has no way to seed from it. - Underneath, Names doesn't use the shared generation-run pipeline that the other GeneratorPanel tools use. It calls session-scoped endpoints (`routers/sessions.py:473`, `routers/campaigns.py:5572`), and it has no shelf action. It is catalogued as "its own thing wearing the same clothes". ## Options 1. **Small fix:** pass the reopened run into `NameGeneratorPanel` and seed its category, prompt and options from it. 2. **The redesign's direction:** lane 5 puts Names in the same pipeline as every other margin tool, with insert into the sheet, add to shelf and a working history. Doing that makes option 1 unnecessary. 3. **Stopgap:** take `"names"` out of `WORKBENCH_REOPEN_TOOL_IDS`, so the row stops offering an action that doesn't work. Low severity: no data is lost, and the run is still in history. But the Re-open button looks identical on every row, so this is easy to miss.
Author
Collaborator

Closing: lane 6 (#732) took the issue's option 2, and it is on main.

  • The old code is gone: WORKBENCH_REOPEN_TOOL_IDS and NameGeneratorPanel no longer exist (CampaignPlanning.jsx was replaced by pages/prep/).
  • Names is a names run in the shared pipeline now (pages/prep/tools/Names.jsx, whose header says so and cites this issue), so a set of names can be inserted into the sheet, put on the shelf and found in History like any other tool's.
  • History's Re-open links to /sessions/<id>/prep?reopen=<run> (or Planning for a run made for no session), and NamesDrawer seeds itself from the reopened run when its tool_id is names.

Checked by reading main at 46233e4c on 1 Oct; not re-tested in a browser.

Closing: lane 6 (#732) took the issue's option 2, and it is on main. - The old code is gone: `WORKBENCH_REOPEN_TOOL_IDS` and `NameGeneratorPanel` no longer exist (`CampaignPlanning.jsx` was replaced by `pages/prep/`). - Names is a `names` run in the shared pipeline now (`pages/prep/tools/Names.jsx`, whose header says so and cites this issue), so a set of names can be inserted into the sheet, put on the shelf and found in History like any other tool's. - History's Re-open links to `/sessions/<id>/prep?reopen=<run>` (or Planning for a run made for no session), and `NamesDrawer` seeds itself from the reopened run when its `tool_id` is `names`. Checked by reading main at 46233e4c on 1 Oct; not re-tested in a browser.
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#693
No description provided.