Explore with sample data can connect the simulated providers twice when clicked in two tabs
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 58/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- nextjs, typescript
Direzione di ricerca
Read exploreWithSampleData in src/app/w/[workspace]/connections/actions.ts:353-384 alongside sampleDataRefusal and addSampleData in src/lib/demo/workspace.ts:209-228, then follow connectSimulatedProviders to see the inserts. Check how the existing tests set up a workspace and database transactions before adding a concurrent case. Done means two overlapping calls leave exactly one set of simulated connections and the losing call returns the existing refusal message rather than an error.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Summary
"Explore with sample data" (#257, merged into integration/demo-2026-11 in #282) checks that the workspace has no connections, then connects every simulated provider. The check and the insert are separate steps, so two submits that overlap (two tabs, or a double submit) can both pass the check and connect a second set of simulated providers to the same workspace.
Found by the #257 worker while finishing #282; reported in its handoff, not fixed there because it is outside that issue's acceptance criteria.
Evidence
exploreWithSampleDatainsrc/app/w/[workspace]/connections/actions.ts:353-384countsconnectionsfor the workspace, callssampleDataRefusal(src/lib/demo/workspace.ts:209-215), then callsaddSampleData, with nothing between the count and the insert that holds a lock or a unique constraint.addSampleData(src/lib/demo/workspace.ts:228) callsconnectSimulatedProviders, which inserts one connection per simulated provider.- Not reproduced in a browser yet: the race is read from the code.
Scope
- Make the "empty workspace" rule hold under concurrent submits, in the database rather than in the action (for example a transaction-scoped advisory lock on the workspace, or an insert that re-checks emptiness atomically).
- The second submit gets the existing "This workspace already has connections" message.
Acceptance criteria
- Two concurrent
exploreWithSampleDatacalls for one empty workspace produce exactly one set of simulated connections. - The losing call returns the existing refusal message, not an error.
- A test covers the concurrent case.
Decisions needed
None.
Model: anthropic/claude-opus-5-5 | Reasoning effort: low
- Lingua principale
- TypeScript
- Stelle
- 1
- Fork
- 1
- Merge medio
- 6h 56m
- PR unite (30g)
- 136
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un 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 eddiejaoude/StackDash
-
area: docs documentation priority: P3 size: S
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
eddiejaoude/StackDash#462 ·
I maintainer di solito rispondono entro 1 giorno
-
area: web bug priority: P3 size: XS
Difficoltà 1/5 1-3 ore Idoneità per principianti 85/100
eddiejaoude/StackDash#432 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
area: database bug priority: P3 size: S
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
eddiejaoude/StackDash#419 ·
I maintainer di solito rispondono entro 1 giorno
-
area: docs bug priority: P2 size: XS
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
eddiejaoude/StackDash#418 ·
I maintainer di solito rispondono entro 1 giorno
-
accessibility area: timeline bug priority: P3 size: XS
Difficoltà 2/5 1-3 ore Idoneità per principianti 80/100
eddiejaoude/StackDash#389 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di eddiejaoude/StackDash
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
open-webui/tether#52 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
voidzero-dev/void#835 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
AykutSarac/jsoncrack.com#616 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
melgarafael/DeskcommCRM#4679 ·
I maintainer di solito rispondono entro 1 giorno