Skip to content

fix(tonic-web): fix dropped trailers in combined streaming call.#2474

Open
zakhenry wants to merge 1 commit intohyperium:v0.14.xfrom
zakhenry:fix/web-chunked-stream-trailer-parsing
Open

fix(tonic-web): fix dropped trailers in combined streaming call.#2474
zakhenry wants to merge 1 commit intohyperium:v0.14.xfrom
zakhenry:fix/web-chunked-stream-trailer-parsing

Conversation

@zakhenry
Copy link
Contributor

@zakhenry zakhenry commented Jan 6, 2026

Motivation

In testing grpc-web streaming from AWS lambda I discovered a bug in the trailer frame parsing where if the upstream service combined data frames together (message + trailers in the same frame), the trailers would be dropped.

Solution

In tonic web frame decoding logic, ensure trailers are emitted on poll even when the data frame has been emitted.

@zakhenry zakhenry force-pushed the fix/web-chunked-stream-trailer-parsing branch from c3d84d7 to 1a0acf3 Compare January 6, 2026 09:29
@zakhenry
Copy link
Contributor Author

zakhenry commented Jan 6, 2026

note the CI failure is

  error: unused import: `pin`
  Error:  --> tonic/src/transport/server/io_stream.rs:6:11
    |
  6 |     pin::{pin, Pin},
    |           ^^^

which is not related to my diff.

@zakhenry zakhenry force-pushed the fix/web-chunked-stream-trailer-parsing branch from 1a0acf3 to 75e8179 Compare January 14, 2026 23:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant