Skip to content

Conversation

jhaynie
Copy link
Member

@jhaynie jhaynie commented Sep 25, 2025

Summary by CodeRabbit

  • New Features
    • Added low-level stream creation as a first-class API.
    • Introduced getReader() for streams.
    • Enabled handlers to return streams directly with automatic 302 redirect handling.
    • Added support for background processing via context.waitUntil with immediate scheduling.
  • Bug Fixes
    • Resolved fetch errors in certain environments related to keepalive options.
  • Documentation
    • Updated changelog to reflect stream, background task, and response handling enhancements.
  • Chores
    • Bumped version to 0.0.146.

Copy link
Contributor

coderabbitai bot commented Sep 25, 2025

Caution

Review failed

The pull request is closed.

Walkthrough

This PR removes four .changeset entries, updates CHANGELOG.md with version 0.0.146 notes, and bumps package.json version from 0.0.145 to 0.0.146. The changelog documents a fix for a fetch keepalive error, new low-level stream APIs (including getReader), direct stream returns with 302 redirects, and immediate context.waitUntil scheduling.

Changes

Cohort / File(s) Summary
Changeset cleanup
./.changeset/deep-seas-flow.md, ./.changeset/shaggy-lights-leave.md, ./.changeset/silly-shoes-nail.md, ./.changeset/ten-ghosts-wash.md
Removed processed changeset markdown files.
Changelog update
CHANGELOG.md
Added v0.0.146 entry: documents fix for fetch keepalive error, low-level stream creation API, getReader(), immediate context.waitUntil scheduling, and allowing handlers to return streams with automatic 302 redirect.
Version bump
package.json
Version updated from 0.0.145 to 0.0.146.

Sequence Diagram(s)

sequenceDiagram
  autonumber
  participant Client
  participant Handler
  participant StreamService as Stream Service
  note over Handler: New: handler may return a stream directly
  Client->>Handler: HTTP request
  rect rgba(230,250,255,0.5)
    note right of Handler: Create/obtain stream (low-level API)
    Handler->>StreamService: Create stream
    StreamService-->>Handler: Stream handle
    Handler-->>Client: 302 Redirect (Location: stream URL)
  end
  Client->>StreamService: Follow redirect (GET stream URL)
  StreamService-->>Client: Streamed data
Loading
sequenceDiagram
  autonumber
  participant Client
  participant Handler
  participant BG as Background Task
  note over Handler: New: tasks passed to context.waitUntil are scheduled immediately
  Client->>Handler: HTTP request
  rect rgba(240,255,240,0.6)
    Handler->>BG: context.waitUntil(task)
    note right of BG: Executes asynchronously
  end
  Handler-->>Client: Immediate response
  BG-->>Handler: Completes (event-driven)
Loading
sequenceDiagram
  autonumber
  participant Dev as SDK User
  participant SDK
  participant Reader as Stream Reader
  note over SDK: New: low-level stream + getReader()
  Dev->>SDK: createStream()
  SDK-->>Dev: Stream
  Dev->>Stream: getReader()
  Stream-->>Reader: Reader instance
  Dev->>Reader: read()
  Reader-->>Dev: Chunk(s)
Loading

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Poem

Byte-bunny thumps in tidy delight,
Changesets hop away into the night.
Streams now flow where carrots gleam,
302s bounce—what a nimble scheme!
waitUntil sprints, background bright,
Patch to keepalive sets things right.
Version bumps—hippity, ship it! 🚀🐇

✨ Finishing touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch release-sdk

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 60cf45a and 3d28995.

⛔ Files ignored due to path filters (1)
  • package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (6)
  • .changeset/deep-seas-flow.md (0 hunks)
  • .changeset/shaggy-lights-leave.md (0 hunks)
  • .changeset/silly-shoes-nail.md (0 hunks)
  • .changeset/ten-ghosts-wash.md (0 hunks)
  • CHANGELOG.md (1 hunks)
  • package.json (1 hunks)

Comment @coderabbitai help to get the list of available commands and usage tips.

@jhaynie jhaynie changed the title Changes for waitUntil and low-level streams support [release] Changes for waitUntil and low-level streams support for new release Sep 25, 2025
@jhaynie jhaynie merged commit 5ff39a8 into main Sep 25, 2025
2 of 3 checks passed
@jhaynie jhaynie deleted the release-sdk branch September 25, 2025 19:03
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