An open signup past its closing time still says open to its organizer, with no way to reopen it
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 53/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- next.js, typescript
- Ambito
- backend, documentation, frontend, testing
Direzione di ricerca
Read src/lib/signup-closing.ts, src/services/signups.ts, and src/app/app/(chrome)/signups/[id]/layout.tsx, then trace how the signup header, list, and API expose status and reopening. Update the help article at src/help/articles/close-or-reopen-a-signup.tsx and inspect the related unit and DB tests. Done means expired open signups appear closed to organizers, can be reopened with their closing time cleared, future closing times remain refused, and the stated checks pass.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Needs your OK: this changes what an organizer sees once a signup's closing time has passed. Swap pipeline:proposed for pipeline:ready to have it built.
What happens
A signup's closing time (closesAt) can be set only by an AI assistant (create_signup, update_signup) or the REST API. The web app has no control for it. Once it passes:
- People are turned away.
signupShutReasoninsrc/lib/signup-closing.tsrefuses every sign-up, and/s/[slug]shows Closed at the top and on every slot (shownSignupStatus, since #397). - The organizer is told it's open. The stored status stays
open, and the organizer's pages read the stored status. The header's pill says open, Share and the ⋯ are still there, the spots line has no "Closed ·", and the signup list shows it as open. There's no grey Signup closed box, so no Reopen signup either (src/app/app/(chrome)/signups/[id]/layout.tsx). - Reopening is refused.
reopenSignup(transitionStatusinsrc/services/signups.ts) only movesclosedtoopen, so an open signup getsconflict("cannot reopen a signup that is open").
The only way out is to close it with Close signup and then reopen it, which removes a closing time that has passed. Nothing on screen says so. The organizer sees an open signup that nobody can sign up for.
Fix, in outline
- In the signup layout and header, show the status people see:
shownSignupStatusrather than the stored status. That gives the closed pill, "Closed · …" beside the link, and the grey box with Reopen signup, on every tab, on a phone and a computer. - Let
reopenSignuptake anopensignup whose closing time has passed. It removes the time and recordsclearedClosesAton thesignup.reopenedrow, as it does for a closed one. - Show the same status in the signup list on Your signups.
Choices this makes
- Show it as closed rather than change the stored status. Reminders and the status changes expect a signup that passes its closing time to stay
open(see the comment onsignupShutReason). Changing the row would need a job and would touch both. - The same grey box and wording as a signup closed with Close signup, since people get the same result.
- Close signup isn't offered while it shows as closed, as for any closed signup.
Watch for
- The help page "Close or reopen a signup" (
src/help/articles/close-or-reopen-a-signup.tsx, from #610) says reopening removes a closing time that has passed. Once this lands, that applies here too. Update the paragraph, itsUIlist and its walkthrough, and runpnpm help:screenshotsif a picture changes. GET /api/signups/[id]listsreopenin_links. Decide whether it now appears for an open signup past its closing time. Keep thereopen_signuptool description true either way.HeaderAnnouncerand the Reopen button's refusals expect a stored status ofclosed. Check that a reopen from this state still says "Reopened. People can sign up again."- CHANGELOG line.
Order
After #608, because this changes the closed banner and Reopen signup that #608 adds, and after #610, whose help page needs updating here.
Done when
- An open signup whose closing time has passed shows closed and the grey Signup closed box with Reopen signup on Build, Responses and Settings, on a phone and a computer.
- Reopen signup there removes the closing time, and people can sign up again at the same link.
- A unit test pins the status the header shows, and a DB test pins the reopen of an open signup past its closing time, plus one still to come, which stays refused.
- The help page and its walkthrough are updated.
pnpm lint && pnpm typecheck && pnpm knip && pnpm testandpnpm test:dbpass.
From the review of #610, which noted it as out of scope; #20's plan comment lists it as later work. Checked against claude/sharp-carson-ryvv43-5-help at 9f68b2f: shownSignupStatus drives /s/[slug], the signup layout and header read sig.status, and transitionStatus refuses a reopen unless the status is closed. https://claude.ai/code/session_01LrYa57fvbqWjZj89iH975K
- Lingua principale
- TypeScript
- Stelle
- 19
- Fork
- 4
- Merge medio
- 23h 28m
- PR unite (30g)
- 173
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di richshaw/OpenSignup
-
bug pipeline:ready pipeline:ux
Difficoltà 2/5 1-3 ore Idoneità per principianti 90/100
richshaw/OpenSignup#723 ·
I maintainer di solito rispondono entro 1 giorno
-
bug pipeline:ready pipeline:ux
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
richshaw/OpenSignup#722 ·
I maintainer di solito rispondono entro 1 giorno
-
Magic Compose calls fields "columns" on the draft banner, the drafting screen and its warningsForse già presa Una pull request collegata a questa issue è aperta o già unita. Apertabug pipeline:ready pipeline:ux
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
richshaw/OpenSignup#719 ·
I maintainer di solito rispondono entro 1 giorno
-
The "You're in." confirmation doesn't say which email address it usedForse già presa Una pull request collegata a questa issue è aperta o già unita. Apertaenhancement pipeline:ready pipeline:ux
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
richshaw/OpenSignup#715 ·
I maintainer di solito rispondono entro 1 giorno
-
The privacy and cookies pages don't mention three things the app storesForse già presa Una pull request collegata a questa issue è aperta o già unita. Apertabug pipeline:ready pipeline:ux
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
richshaw/OpenSignup#711 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di richshaw/OpenSignup
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
components-web-app/docs#311 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
NEARBuilders/everything-dev#678 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 1-3 ore Idoneità per principianti 90/100
formbricks/formbricks#9881 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno