Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Compression handling has some issues

Aperta
#2,767 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 2 giorni

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
38/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
node.js, typescript
Ambito
api, backend

Direzione di ricerca

Inizia leggendo la documentazione sulla compressione gRPC collegata nell'issue e tracciando la gestione lato client e lato server di grpc-encoding e del bit dei messaggi compressi. Riproduci ogni caso di codifica non supportata o mancante, quindi verifica che gli errori client riportino internal, gli errori server riportino unimplemented e che gli errori dei messaggi compressi non vengano ignorati silenziosamente né restituiti come unavailable.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

package: @grpc/grpc-js

According to the gRPC docs for compression, when a client or server sends a “grpc-encoding” header with an unrecognized/unsupported encoding the recipient MUST report that as an error. A client receiving an unsupported encoding from a server should report an internal error code.(See bullet 5 in the test cases section of that doc.) A server receiving an unsupported encoding from a client should report an unimplemented error code. (See bullet 4 in the test cases section of that doc.)

Similarly, when a message is sent where the envelope has the “compressed” bit set, but there is no encoding for the stream (or the encoding is “identity”), the recipient MUST fail with an internal error code.

The client in this package returns an unknown status (with an empty error message) in both of these situations instead of internal.

The server in this package does not necessarily produce any error for either of these:

  • When the server receives an unsupported encoding, it does nothing and will succeed if there are no actual messages in the stream with the compressed bit set.
  • When the server receives an unsupported encoding and encounters a compressed message, it closes the connection. Clients observe an unavailable error due to the loss of network connection.
  • When a server receives a message with the compressed bit set, but no compression (encoding header is absent or set to “identity”), the server ignores the flag. If the compressed payload can successfully be parsed as a Protobuf, the RPC can succeed (though the message is surely invalid).
Lingua principale
TypeScript
Stelle
4.8k
Fork
720
Merge medio
2g 9h
PR unite (30g)
21

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di grpc/grpc-node

Tutte le issue di grpc/grpc-node

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.