SSR and hydration support for @tanstack/angular-db
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Facilidade para iniciantes
- 45/100
- Tipo de issue
- Funcionalidade
- Clareza
- Razoavelmente clara
- Status de atividade
- Ativa
- Stack de tecnologia
- angular, typescript
Direção de pesquisa
Start with the core DbClient dehydration/hydration payload and observer contract from #1564, then trace injectLiveQuery and Angular DI through an SSR request and browser hydration path. Add a real Angular SSR/hydration integration or E2E test covering independent requests and a post-hydration live update; done means matching initial rows and order without duplicates or hydration errors, plus documented setup and unsupported query forms.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Follow-up to #1623 (Phase 6). #1564 added core DbClient, collection descriptors, and dehydration/hydration, while Angular still needs its own client/SSR integration.
Goal
Make injectLiveQuery work during Angular server rendering with a request-scoped DbClient, and hydrate the result into the browser client before components first read it. Keep Angular DI and signals as the public integration model.
Acceptance criteria
- Provide an Angular DI provider/token (or equivalent idiomatic API) for
DbClient. A server request gets a fresh client; the browser keeps a stable client. Existing direct-collection queries continue to work. injectLiveQuerycan resolve collection descriptors through that client and render preloaded collection or live-query results on the server.dbClient.dehydrate()supplies the state to transfer.- Transfer and hydrate the state before the first browser query read (using Angular
TransferStateor an equivalent mechanism). Initial rows and order match server HTML; normal sync then takes over without duplicates or hydration errors. - Add an integration or E2E test through a real Angular SSR/hydration path. Cover independent requests and a live update after hydration.
- Document the DI/server setup and any unsupported query forms.
Reuse the core SSR payload and observer contract; avoid a separate Angular-only state format.
- Linguagem predominante
- TypeScript
- Estrelas
- 4k
- Forks
- 277
- Merge médio
- 1d 4h
- PRs com merge (30d)
- 212
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Tem um modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de TanStack/db
-
Dificuldade 1/5 1-3 horas Facilidade para iniciantes 88/100
Mantenedores costumam responder em até 1 dia
-
OfflineExecutor.dispose() never settles pendingTransactionPromisesTalvez já em andamento @Claire-ovo assumiu há 4 dias. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
TanStack/db#2254 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
Mantenedores costumam responder em até 1 dia
-
Two @tanstack/db tests time out under CPU load because a cold module import counts against the 5 s default timeoutTalvez já em andamento @jp-knj assumiu há 2 dias. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
Mantenedores costumam responder em até 1 dia
-
Ordered loader retains earlier requests after a newer authoritative read succeedsTalvez já em andamento Um pull request vinculado a esta issue está aberto ou já foi mesclado. Aberta
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 35/100
Mantenedores costumam responder em até 1 dia
Todas as issues de TanStack/db
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
-
area:desktop area:ui bug platform:macos
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 67/100
anthropics/claude-code#106183 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
-
Dificuldade 1/5 1-3 horas Facilidade para iniciantes 76/100
Mantenedores costumam responder em até 1 dia
-
reproduced
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
anomalyco/opencode#60558 · 1 comentário ·
Mantenedores costumam responder em até 1 dia