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

Public per-session initial-load signal on collections (adapter read gates)

Abierto
#1,791 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
55/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
typescript
Área
data

Línea de trabajo

Comienza con el ámbito de collection-options y el estado privado _lifecycle de la collection; después, sigue las rutas existentes de snapshot-commit y sync-start. El trabajo estará terminado cuando la collection exponga un booleano público por sesión y una subscription, los restablezca al iniciar sync-start, los establezca después del primer sync-commit y permita a los adapters eliminar su flag duplicado.

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

Descripción

Outcome

A public, per-session "initial load complete" signal on the collection: a boolean plus a subscription, reset when a sync session starts, set when the session's first sync commit lands. Sync adapters could then delete the equivalent flag they each maintain, and useLiveQuery consumers could tell "ready because this session loaded data" apart from "ready because of a seed or a revival".

Why the existing signals do not cover it

Our adapter falls back to a cached snapshot until the collection has loaded in the current sync session. The public signals answer a different question:

  • collection.isReady() and status: 'ready' describe the collection's lifetime. They stay true after a GC-and-revive cycle, although the revived instance's data was cleared. They also stay true when a load fails after an earlier success. A read gate built on them serves an empty or stale collection instead of the healthy fallback.
  • hasBeenReady is per-session but private (collection._lifecycle) and has the same revival behavior.
What we do today

We keep a boolean in the collection-options scope: set on snapshot commit, reset on every sync start, exposed through collection.utils with a subscribe. It works, but it duplicates state the library already tracks.

Lenguaje dominante
TypeScript
Estrellas
3.9k
Forks
272
Merge medio
1 d 1 h
PR fusionados (30 d)
222

Preparar el entorno

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 TanStack/db

Todos los issues de TanStack/db

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.