Skip to content

perf(indexer): Cache-Control en los GET publicos de solo lectura (#242) - #283

Merged
David1984TK merged 1 commit into
David1984TK:mainfrom
innocentharuna:perf/indexer-cache-control
Jul 28, 2026
Merged

perf(indexer): Cache-Control en los GET publicos de solo lectura (#242)#283
David1984TK merged 1 commit into
David1984TK:mainfrom
innocentharuna:perf/indexer-cache-control

Conversation

@innocentharuna

@innocentharuna innocentharuna commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

Closes #242
Descripción
Categoría: Optimización del sistema (menos carga a Supabase)

Cada visita a las páginas públicas dispara los mismos GETs al indexer, y cada uno repite la query completa a Supabase. Las respuestas de solo lectura ahora son cacheables por unos segundos en el navegador y en cualquier CDN/proxy que se ponga delante del indexer.

Cambios
bimex-indexer/api.js: helper jsonCacheable() que agrega Cache-Control: public, max-age=15, stale-while-revalidate=30 (configurable con PUBLIC_CACHE_SECONDS) solo a respuestas 200 de:
GET /proyectos (lista, detalle y aportaciones)
GET /backers/:address/aportaciones
GET /eventos
GET /stats
Sin cambios en faucet (POST), audit CSV ni SSE.
Verificación

npx vitest run pasa sin errores (indexer: 38/38)

Frontend / contrato (no aplica)
Notas para el revisor
15s de frescura es coherente con el cache frontend de #221 (30s TTL) y con la naturaleza de los datos (cambian a ritmo de bloques on-chain). Los errores nunca llevan header de cache.

@vercel

vercel Bot commented Jul 28, 2026

Copy link
Copy Markdown

@innocentharuna is attempting to deploy a commit to the david1984tk's projects Team on Vercel.

A member of the Team first needs to authorize it.

@drips-wave

drips-wave Bot commented Jul 28, 2026

Copy link
Copy Markdown

@innocentharuna Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@David1984TK David1984TK left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cache-Control solo en GET de solo lectura (proyectos/eventos/stats/backers), excluido de errores 4xx/5xx explícitamente. No cachea nada de escritura ni datos sensibles nuevos — todo lo que cachea ya era público sin auth. Tests cubren presencia/ausencia de header. CI real en verde. Aprobado.

@David1984TK
David1984TK merged commit 202b9a7 into David1984TK:main Jul 28, 2026
6 of 7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

perf(indexer): Cache-Control en los GET públicos de solo lectura

2 participants