Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

perf: reduce SSR HTML payload by serving page tree via cacheable API

Abierto
#119 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
52/100
Tipo de issue
Refactorización
Claridad
Bastante claro
Estado de actividad
Tranquilo
Stack tecnológico
typescript

Línea de trabajo

Comienza en entry-server.tsx, donde config, tree y los campos per-page se serializan en SSR HTML, y rastrea cómo llegan estos datos al cliente. Define la respuesta de /api/tree y el comportamiento de caché, y verifica después que SSR HTML conserve únicamente los datos per-page y que las respuestas sin cambios expongan el comportamiento de Cache-Control y ETag.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Problem

Every SSR response embeds the full site config + page tree in a <script> tag via window.__PAGE_DATA__. On large doc sites this can be 30-100KB+ of JSON per page load, with no HTTP caching (no ETag/Last-Modified/304 support).

Current Behavior

entry-server.tsx serializes config, tree, slug, version, frontmatter, relativePath, originalPath, prev, next into every HTML response.

Suggested Approach

  • Serve the page tree and config via a cacheable /api/tree endpoint with ETag support
  • Only embed the minimal per-page data (slug, frontmatter, prev/next) in SSR HTML
  • Add Cache-Control / ETag headers to SSR responses for unchanged pages
Lenguaje dominante
TypeScript
Estrellas
2
Forks
1
Merge medio
12 min
PR fusionados (30 d)
1

Preparar el entorno

  • Incluye un Dockerfile o un archivo de Docker Compose
  • Sin plantilla de pull request
  • Sin guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de raystack/chronicle

Todos los issues de raystack/chronicle

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.