Explore with sample data can connect the simulated providers twice when clicked in two tabs
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 58/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- nextjs, typescript
Línea de trabajo
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.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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
- Lenguaje dominante
- TypeScript
- Estrellas
- 1
- Forks
- 1
- Merge medio
- 6 h 56 min
- PR fusionados (30 d)
- 136
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de eddiejaoude/StackDash
-
area: docs documentation priority: P3 size: S
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
eddiejaoude/StackDash#462 ·
Los mantenedores suelen responder en 1 día
-
area: web bug priority: P3 size: XS
Dificultad 1/5 1-3 horas Aptitud para principiantes 85/100
eddiejaoude/StackDash#432 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
area: database bug priority: P3 size: S
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
eddiejaoude/StackDash#419 ·
Los mantenedores suelen responder en 1 día
-
area: docs bug priority: P2 size: XS
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
eddiejaoude/StackDash#418 ·
Los mantenedores suelen responder en 1 día
-
accessibility area: timeline bug priority: P3 size: XS
Dificultad 2/5 1-3 horas Aptitud para principiantes 80/100
eddiejaoude/StackDash#389 ·
Los mantenedores suelen responder en 1 día
Todos los issues de eddiejaoude/StackDash
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
open-webui/tether#52 ·
Los mantenedores suelen responder en 1 día
-
`void platform install --app-access public` fails when Cloudflare reports Access is disabledAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
voidzero-dev/void#835 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
AykutSarac/jsoncrack.com#616 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
melgarafael/DeskcommCRM#4679 ·
Los mantenedores suelen responder en 1 día