feat(webapp): delete an empty session, no two series sessions on one day, untitled sessions read "Session N" (#1156) #1162
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/1156-delete-empty-session-series-duplicates"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #1156 (D298, D299, D300).
POST /api/sessions/{id}/delete, GM only, audited, tells nobody. "Empty" is decided in one place (session_deletion.not_empty_reason) and errs toward not empty: any content on the row, any row in any table that points at the session (read from the schema, so later tables count), any vote, or any notification about it. Otherwise 409: "Something has happened on this session, so it can only be cancelled, which tells the table."DELETE /sessions/{id}still cancels.session_series_skips(migratione5f6a7b8c9d1, aftere1159a1b2c3d); the materialiser skips those dates and never makes a session on a day one of the series' sessions already stands on. The move form says when the target day is taken; the Sessions list shows "Also that day: Session 16".session_label.display_title,sessionLabel).No change to
/api/bot/*shapes; no contract bump.Verified
On
docker-test: the newtest_delete_empty_session.py(37), the series, sessions, scheduling, notifications, calendar, bot, reminder, email, attention, home, this-week, votes and search modules, andtests/wikiplustest_admin.py(1651 passed). Alembic upgrade, downgrade -1, upgrade on a scratch database (before the re-point ontoe1159a1b2c3d; not re-run since). Ruff, changelog and version checks. Frontend lint and full vitest (4019 passed).Not run: the new journey
e2e/j8-delete-an-empty-session.spec.js, a full backend suite, and anything after merging main (one conflict inquest_archive.py, resolved by hand). No render check yet of the Manage menu, the delete dialog, the Move form and the Sessions list at phone width; to do before merging.🤖 Generated with Claude Code