A series can leave duplicate and blank sessions, and a session cannot be deleted, only cancelled #1156

Closed
opened 2026-10-13 00:57:51 +00:00 by claude-bot · 1 comment
Collaborator

Found on prod (v4.5.0) by the owner on 2026-10-13, reviewing A Merry Band of Thieves: "it has several future sessions that are blank and were just auto-created."

What was there

The campaign has an active fortnightly series (Tuesdays 20:00 America/Chicago, from 2026-08-11, no title template, no end). It creates each session about four weeks ahead. Upcoming on 13 October:

Session Series date When (local) State
14 "Smudged Maps and Soft Beds" 22 Sep Tue 13 Oct 20:00 real: titled, 16 votes
15 (untitled) 6 Oct Tue 20 Oct 18:00 moved there on 5 Oct; nothing on it
16 (untitled) 20 Oct Tue 20 Oct 20:00 the series' own; nothing on it
17 (untitled) 3 Nov Tue 3 Nov 20:00 the series' own; nothing on it

So two sessions stood on the same evening: the 6 October occurrence had been moved onto 20 October, where the series already had one.

What was done (the owner's choice: remove the duplicate only)

Session 15 was deleted on prod, with its one time slot, in a single transaction that committed only if exactly that blank, untitled, confirmed session matched. Nothing else referred to it (no answers, notes, cards, votes or reminders). A backup was taken first: questboard_manual_20261013T005713Z.dump. Sessions 16 and 17 and the series stay. No one was notified, because nothing was cancelled. Session numbers now run 14, 16, 17 (numbers are never reused, D86).

What the app should do, for a later release

  1. There is no way to delete a session in the app. DELETE /sessions/{id} cancels it, which tells the whole table by Discord and email and leaves it under Cancelled. A GM with an empty session made by mistake or by a series has no quiet way to remove it; this one needed a database edit. A "Delete" for a session nothing has happened on (no answers, notes, cards, recording), with the confirmation saying so, would cover it.
  2. Moving a series' session onto a day the series also fills makes two sessions that evening, and nothing says so. The move form already shows which later sessions move with it (#804); it should also say when the target day already has the series' own session, or skip creating that one.
  3. A series with no title pattern makes untitled sessions, which read as blank. Either the series form asks for a pattern, or an untitled series session shows something better than nothing ("Session 16").
Found on prod (v4.5.0) by the owner on 2026-10-13, reviewing A Merry Band of Thieves: "it has several future sessions that are blank and were just auto-created." ## What was there The campaign has an active fortnightly series (Tuesdays 20:00 America/Chicago, from 2026-08-11, no title template, no end). It creates each session about four weeks ahead. Upcoming on 13 October: | Session | Series date | When (local) | State | |---|---|---|---| | 14 "Smudged Maps and Soft Beds" | 22 Sep | Tue 13 Oct 20:00 | real: titled, 16 votes | | 15 (untitled) | 6 Oct | Tue 20 Oct 18:00 | moved there on 5 Oct; nothing on it | | 16 (untitled) | 20 Oct | Tue 20 Oct 20:00 | the series' own; nothing on it | | 17 (untitled) | 3 Nov | Tue 3 Nov 20:00 | the series' own; nothing on it | So two sessions stood on the same evening: the 6 October occurrence had been moved onto 20 October, where the series already had one. ## What was done (the owner's choice: remove the duplicate only) Session 15 was deleted on prod, with its one time slot, in a single transaction that committed only if exactly that blank, untitled, confirmed session matched. Nothing else referred to it (no answers, notes, cards, votes or reminders). A backup was taken first: `questboard_manual_20261013T005713Z.dump`. Sessions 16 and 17 and the series stay. No one was notified, because nothing was cancelled. Session numbers now run 14, 16, 17 (numbers are never reused, D86). ## What the app should do, for a later release 1. **There is no way to delete a session in the app.** `DELETE /sessions/{id}` cancels it, which tells the whole table by Discord and email and leaves it under Cancelled. A GM with an empty session made by mistake or by a series has no quiet way to remove it; this one needed a database edit. A "Delete" for a session nothing has happened on (no answers, notes, cards, recording), with the confirmation saying so, would cover it. 2. **Moving a series' session onto a day the series also fills makes two sessions that evening**, and nothing says so. The move form already shows which later sessions move with it (#804); it should also say when the target day already has the series' own session, or skip creating that one. 3. **A series with no title pattern makes untitled sessions**, which read as blank. Either the series form asks for a pattern, or an untitled series session shows something better than nothing ("Session 16").
Author
Collaborator

Owner, 2026-10-13: "I'd like all of those in 4.5.1, please." Being built on feat/1156-delete-empty-session-series-duplicates.

How I've read each item (my choices within what the owner asked for; they are decisions D298 to D300 unless the owner says otherwise):

  1. D298: a GM can delete a session nothing has happened on. "Empty" is one server rule: no answers, votes, notes, cards, prep, highlights, recording or transcript, never played, and nothing already sent to people about it (a session people were told about is cancelled, not deleted, so they hear). Deleting tells nobody, leaves a gap in the numbers (D86), and a deleted series occurrence is not made again. DELETE /sessions/{id} keeps meaning cancel.
  2. D299: a move onto a day the series also fills says so before saving, as a nudge and not a block; the series does not create a second session on a day one of its own already stands; and the Sessions list quietly marks two sessions on the same day.
  3. D300: an untitled session reads "Session N" wherever a title is shown, in the app and in what goes to email, the calendar and Discord. The series' title pattern stays optional.
**Owner, 2026-10-13: "I'd like all of those in 4.5.1, please."** Being built on `feat/1156-delete-empty-session-series-duplicates`. How I've read each item (my choices within what the owner asked for; they are decisions D298 to D300 unless the owner says otherwise): 1. **D298: a GM can delete a session nothing has happened on.** "Empty" is one server rule: no answers, votes, notes, cards, prep, highlights, recording or transcript, never played, and nothing already sent to people about it (a session people were told about is cancelled, not deleted, so they hear). Deleting tells nobody, leaves a gap in the numbers (D86), and a deleted series occurrence is not made again. `DELETE /sessions/{id}` keeps meaning cancel. 2. **D299: a move onto a day the series also fills says so** before saving, as a nudge and not a block; the series does not create a second session on a day one of its own already stands; and the Sessions list quietly marks two sessions on the same day. 3. **D300: an untitled session reads "Session N"** wherever a title is shown, in the app and in what goes to email, the calendar and Discord. The series' title pattern stays optional.
rbrooks referenced this issue from a commit 2026-10-13 01:48:18 +00:00
Sign in to join this conversation.
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#1156
No description provided.