Connection State Recovery: Client->Server resync
Mantenedores costumam responder em até 2 dias
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Facilidade para iniciantes
- 25/100
- Tipo de issue
- Funcionalidade
- Clareza
- Razoavelmente clara
- Status de atividade
- Estagnada
- Stack de tecnologia
- javascript, nodejs, typescript
- Domínio
- api, backend, distributed-systems
Direção de pesquisa
A issue não menciona arquivos, testes nem pontos de entrada. Comece rastreando os fluxos existentes de recuperação do estado da conexão e de reconexão tanto no cliente quanto no servidor, depois inspecione o wire format; considera-se concluído quando os eventos ausentes do cliente para o servidor puderem ser tentados novamente após a reconexão e os offsets reconhecidos permitirem que o cliente descarte os eventos armazenados em buffer.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Is your feature request related to a problem? Please describe.
Connection state recovery only recovers packets that are buffered on the server. On reconnect, these are then sent to the client. But client->server packets are not handled this way.
Describe the solution you'd like
I'd like to have connection state recovery support packet retry from client to server as well. All client->server events would include an offset. On reconnect the server would send the latest client->server offset to the client and the client would repeat any missing events.
It would be nice to send the client->server offset back to the client periodically, or perhaps on every server->client event. This way the client could quickly purge events from its buffer.
This would probably involve a change to the wire format.
Describe alternatives you've considered
Practically, we end up writing a lot of extra handlers on reconnect to resync client state back to the server.
- Linguagem predominante
- TypeScript
- Estrelas
- 63.2k
- Forks
- 10.2k
- Merge médio
- 6d 4h
- PRs com merge (30d)
- 6
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 socketio/socket.io
-
[engine.io-client] The Node.js cookie jar lets Expires override Max-AgeTalvez já em andamento @Ayush701-code-zm assumiu hoje. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 88/100
socketio/socket.io#5590 · 1 comentário ·
Mantenedores costumam responder em até 2 dias
-
Raise Engine.IO minimum to 6.6.10 for published security fixesTalvez já em andamento @harshit-exe-dev assumiu há 29 dias. Aberta
Dificuldade 1/5 1-3 horas Facilidade para iniciantes 78/100
Mantenedores costumam responder em até 2 dias
-
Can't set response headers in Server.handleUpgradeTalvez já em andamento @MsfPablo assumiu há 90 dias. Abertaquestion
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
socketio/socket.io#5497 · 2 comentários ·
Mantenedores costumam responder em até 2 dias
-
WebTransport ignores query parameters in URLTalvez já em andamento @cyphercodes assumiu há 178 dias. Abertaneeds major release question
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
socketio/socket.io#5496 · 3 comentários ·
Mantenedores costumam responder em até 2 dias
-
[engine.io-client] close() called in an upgrade listener does not close the socketTalvez já em andamento @adityajai119 assumiu hoje. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 20/100
Mantenedores costumam responder em até 2 dias
Todas as issues de socketio/socket.io
Issues semelhantes
-
Dificuldade 1/5 1-3 horas Facilidade para iniciantes 86/100
g1331/phantom-circuit#93 ·
Mantenedores costumam responder em até 1 dia
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
Mantenedores costumam responder em até 1 dia
-
compiler
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 74/100
HerringtonDarkholme/hd-lang#1699 ·
Mantenedores costumam responder em até 1 dia
-
account bug communication lecture
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
Mantenedores costumam responder em até 1 dia