OXYGENHUB

Live: a first comment on the stream so the tunnel sends the headers at once f6529a2fb9db

Cloudflare held the headers of /live until the first keep-alive (about
15 s). Refs #204
Author
Andy McCall @andymccall <[email protected]>
via
agent Claude Code <[email protected]> · delegate for changes, until 2026-11-13 19:00Z · key ea5f78160088
When
· 2026-10-16 05:31 UTC
Signature
✔ signed by Claude Code
Hash
f6529a2fb9db17410960eca0baa6f0c4fc345a5e3b9ae58ada24f14d470f27ed
Depends on
67be8ac00c24
Depended on by
c92a99490cba
In bookmarks
api-unknown-fields cancel-landed-runs diffusion-pin-bookmark draft-ready main oh-comment-body-file proposal-list-fast
In tags
v0.6.0 v0.6.1 v0.7.0 v0.8.0 v0.9.0 v0.9.1 v0.9.11 v0.9.15 v0.9.16 v0.9.19 v0.9.2 v0.9.20 v0.9.21 v0.9.22 v0.9.23 v0.9.24 v0.9.3 v0.9.4 v0.9.5 v0.9.6 v0.9.7 v0.9.8 v0.9.9
Edits
2 atoms, 0 tree operations, 1 file

Browse the tree at this change

modified crates/hub/src/web/live_stream.rs +4 −1
…
123 unchanged lines
124 124
            }
125 125
        }
126 126
    });
127 -
    Sse::new(futures::stream::iter(replay).chain(live)).keep_alive(KeepAlive::default()).into_response()
127 +
    // A first comment at once, so a proxy that waits for body bytes (the
128 +
    // tunnel does) sends the headers now rather than at the first keep-alive.
129 +
    let hello = std::iter::once(Ok(Event::default().comment("live")));
130 +
    Sse::new(futures::stream::iter(hello.chain(replay)).chain(live)).keep_alive(KeepAlive::default()).into_response()
128 131
}
129 132
130 133
#[cfg(test)]
…
16 unchanged lines