Name a set during the session or in the retro #32

Merged
forgejo-admin merged 1 commit from feature/set-names into main 2026-09-27 01:15:44 +00:00

Problem

A set was identified only by its start time. There was no way to call it "Friday milonga", and the saved Spotify playlist got a generic dated name.

Solution

  • An editable set name in the This set panel while playing, and in the retro header afterwards. It saves on Enter or when you click away; Escape reverts.
  • The retro's set picker shows the name, and Save to Spotify uses it as the playlist title, falling back to Incarnadine <date>.
  • Names are stored in the existing settings table (setName:<id>), so there's no migration.
  • The retro's category tag (for example 6/8) moves next to the title, so it reads as the song's category instead of a stray fraction.

Verified: bun test 104 pass / 0 fail (2 new router tests), tsc --noEmit clean, lasertag clean.

🤖 Generated with Claude Code

## Problem A set was identified only by its start time. There was no way to call it "Friday milonga", and the saved Spotify playlist got a generic dated name. ## Solution - An editable set name in the **This set** panel while playing, and in the **retro header** afterwards. It saves on Enter or when you click away; Escape reverts. - The retro's set picker shows the name, and **Save to Spotify** uses it as the playlist title, falling back to `Incarnadine <date>`. - Names are stored in the existing settings table (`setName:<id>`), so there's no migration. - The retro's category tag (for example `6/8`) moves next to the title, so it reads as the song's category instead of a stray fraction. Verified: `bun test` 104 pass / 0 fail (2 new router tests), `tsc --noEmit` clean, lasertag clean. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
A set was only ever its start time. It now takes a name, edited in place in
This set while playing and in the retro header afterwards. The picker lists
named sets by name, and Save to Spotify uses the name as the playlist title
(falling back to "Incarnadine <date>").

Names live in the settings key/value table under setName:<id>: a name is the
only thing a set carries, so a sets table and its migration would be weight
for nothing. Saved on Enter or blur, so a half-typed name never lands.

The retro's category tag moves beside the title. Alone at the far right, the
6/8 tag read as an unexplained fraction rather than as the card's category.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
forgejo-admin deleted branch feature/set-names 2026-09-27 01:15:44 +00:00
Sign in to join this conversation.
No reviewers
No labels
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
celilo/tango-dj!32
No description provided.