Share surfaces database test fails when the local database already has rate limit counters
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 82/100
Línea de trabajo
La aserción que falla es el test 25 alrededor de la línea 205 de supabase/tests/database/16_public_share_surfaces.test.sql, que llama a purge_public_rate_limit_counters(date_trunc('minute', now()), 100) y espera cero eliminaciones. Lee el archivo completo para ver cómo el test siembra sus contadores del minuto actual y que se ejecuta dentro de una transacción revertida; luego, o bien elimina los contadores antiguos preexistentes dentro de esa transacción antes de las comprobaciones de purge, o bien verifica que las filas sembradas del minuto actual todavía existen. Reproduce con npm run test:db en un stack local que ya contiene contadores de ejecuciones e2e anteriores; terminado cuando el test 25 pasa en esa base de datos sucia, sigue fallando si se purga un contador del minuto actual, y ningún otro test del archivo depende de filas que no creó. Ten en cuenta que el issue hermano #247 rastrea el mismo patrón en 15_project_pages.test.sql test 6.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Summary
supabase/tests/database/16_public_share_surfaces.test.sql test 25 expects purge_public_rate_limit_counters(date_trunc('minute', now()), 100) to delete nothing (line 205). The purge is instance wide by design (it is the retention job), so on a local database where earlier requests to the badge, card, or public JSON routes left counters from past minutes, it deletes those rows and the test fails even though nothing is wrong:
# Failed test 25: "purge_public_rate_limit_counters: the current minute's counters are kept"
# have: 12
# want: 0
Reproduced on 2026-11-11 with npm run test:db against the shared local stack, on integration/demo-2026-11 and on the 258-workspace-handles branch alike; that branch does not touch the file or the function. The shared database held 13 counter rows from earlier e2e runs at the time. CI passes only because it starts from an empty database.
The same kind of failure in 15_project_pages.test.sql test 6 is already tracked in #247.
Fix
Make the assertion independent of rows the test did not create. For example, delete the counters older than the current minute inside the test's transaction before the two purge checks (the file already rolls back), or assert that the counters the test seeded for the current minute are still present instead of asserting how many rows the purge deleted.
Acceptance criteria
- Test 25 passes on a local database that already holds rate limit counters from earlier minutes.
- Test 25 still fails if the purge deletes a counter from the current minute.
- No other test in the file depends on rows it did not create.
Model: anthropic/claude-opus-5-5 | Reasoning effort: unknown
- 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