HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
vercel
resumable-stream
TypeScript2025–2025
vercel / resumable-stream

resumable-stream

Stream resumption for web streams

2Distinct people
2Mentions
0Explicit recommenders
582GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Stream resumption for web streams

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 1:49:46 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by week2 dated mentions

Observed mentions: 2025-06-07 03:28:55 UTC to 2025-08-05 22:58:14 UTC. Weeks start Monday, UTC.

012025-06-02 00:00:00 UTC to 2025-06-09 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 commentsJun 22025-06-09 00:00:00 UTC to 2025-06-16 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-06-16 00:00:00 UTC to 2025-06-23 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-06-23 00:00:00 UTC to 2025-06-30 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-06-30 00:00:00 UTC to 2025-07-07 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 commentsJun 302025-07-07 00:00:00 UTC to 2025-07-14 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-07-14 00:00:00 UTC to 2025-07-21 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-07-21 00:00:00 UTC to 2025-07-28 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-07-28 00:00:00 UTC to 2025-08-04 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-08-04 00:00:00 UTC to 2025-08-11 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 commentsAug 4

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
Jun 22025-06-02 00:00:00 UTC2025-06-09 00:00:00 UTC110
Jun 92025-06-09 00:00:00 UTC2025-06-16 00:00:00 UTC000
Jun 162025-06-16 00:00:00 UTC2025-06-23 00:00:00 UTC000
Jun 232025-06-23 00:00:00 UTC2025-06-30 00:00:00 UTC000
Jun 302025-06-30 00:00:00 UTC2025-07-07 00:00:00 UTC000
Jul 72025-07-07 00:00:00 UTC2025-07-14 00:00:00 UTC000
Jul 142025-07-14 00:00:00 UTC2025-07-21 00:00:00 UTC000
Jul 212025-07-21 00:00:00 UTC2025-07-28 00:00:00 UTC000
Jul 282025-07-28 00:00:00 UTC2025-08-04 00:00:00 UTC000
Aug 42025-08-04 00:00:00 UTC2025-08-11 00:00:00 UTC110

What Hacker News says

2 sources

Show HN: Making AI chat sessions durable to network failures

The experience with AI chat apps can be a bit fragile — there's no resilience to network failures, and responses aren't deterministic like traditional search. As Garry Tan put it (https://x.com/garrytan/status/1927038513108701662), "It feels like catastrophic data loss when a given response comes back and fails halfway, and then the next retry is not as good." Vercel recently released a "resumable-stream" package (https://github.com/vercel/resumable-stream) to solve this problem using Redis as a backing store. I felt that we could simplify the approach using s2.dev (I'm an engineer on the team), and created a fork which ended up borrowing the API but otherwise completely rewritten: https://github.com/s2-streamstore/resumable-stream - S2 streams are cheap, so instead of optimizing to flush only when there is another reader, the stream is a
Read the rest
lways created and written to. - Unlike the typically ephemeral nature of Redis, tokens are always durable, and there are no memory constraints around number of streams or how much data is on them. - Relies on S2’s built-in concurrency control. A unique fencing token ensures a single writer, and a sequence number is optimistically supplied to match the one expected to be assigned to the next record, to deduplicate in case of retries. It integrates nicely with Chat SDK, and you can try this out here: https://ai-chatbot-s2.vercel.app by reloading the page during a larger response! There are some interesting future possibilities, like building a multiplayer chat experience around shared streams.
5 points · Open discussion

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.