Skip to content

Add missing stream state properties to Flow defs#56224

Closed
robhogan wants to merge 1 commit intomainfrom
export-D98176491
Closed

Add missing stream state properties to Flow defs#56224
robhogan wants to merge 1 commit intomainfrom
export-D98176491

Conversation

@robhogan
Copy link
Contributor

Summary:
Add standard Node.js stream properties to the Flow type definitions for stream$Readable and stream$Writable that were previously missing:

Docs: https://nodejs.org/api/stream.html

These properties exist on all Node.js streams and are needed by Metro to detect when HTTP response streams have been closed by a client disconnect.

Changelog: [Internal]

Differential Revision: D98176491

Summary:
Add standard Node.js stream properties to the Flow type definitions for `stream$Readable` and `stream$Writable` that were previously missing:

- `stream$Readable`: 
  - [`closed: boolean`](https://nodejs.org/api/stream.html#readableclosed)
  - [`destroyed: boolean`](https://nodejs.org/api/stream.html#readabledestroyed)
  - [`errored: ?Error`](https://nodejs.org/api/stream.html#readableerrored)
  - [`readableEnded: boolean`](https://nodejs.org/api/stream.html#readablereadableended)
  - [`readableAborted: boolean`](https://nodejs.org/api/stream.html#readablereadableaborted)
  - [`readableDidRead: boolean`](https://nodejs.org/api/stream.html#readablereadabledidread)
  - [`readableFlowing: ?boolean`](https://nodejs.org/api/stream.html#readablereadableflowing)
  - [`readableObjectMode: boolean`](https://nodejs.org/api/stream.html#readablereadableobjectmode)
- `stream$Writable`: 
  - [`closed: boolean`](https://nodejs.org/api/stream.html#writableclosed)
  - [`destroyed: boolean`](https://nodejs.org/api/stream.html#writabledestroyed)
  - [`errored: ?Error`](https://nodejs.org/api/stream.html#writableerrored)
  - [`writableEnded: boolean`](https://nodejs.org/api/stream.html#writablewritableended)
  - [`writableAborted: boolean`](https://nodejs.org/api/stream.html#writablewritableaborted)
  - [`writableFinished: boolean`](https://nodejs.org/api/stream.html#writablewritablefinished)
  - [`writableNeedDrain: boolean`](https://nodejs.org/api/stream.html#writablewritableneeddrain)
  - [`writableObjectMode: boolean`](https://nodejs.org/api/stream.html#writablewritableobjectmode)


Docs: https://nodejs.org/api/stream.html

These properties exist on all Node.js streams and are needed by Metro to detect when HTTP response streams have been closed by a client disconnect.

Changelog: [Internal]

Differential Revision: D98176491
@meta-codesync
Copy link

meta-codesync bot commented Mar 25, 2026

@robhogan has exported this pull request. If you are a Meta employee, you can view the originating Diff in D98176491.

@meta-cla meta-cla bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Mar 25, 2026
@meta-codesync meta-codesync bot closed this in 402001f Mar 25, 2026
@facebook-github-tools facebook-github-tools bot added the Merged This PR has been merged. label Mar 25, 2026
@meta-codesync
Copy link

meta-codesync bot commented Mar 25, 2026

This pull request has been merged in 402001f.

@react-native-bot
Copy link
Collaborator

This pull request was successfully merged by @robhogan in 402001f

When will my fix make it into a release? | How to file a pick request?

meta-codesync bot pushed a commit to facebook/metro that referenced this pull request Mar 25, 2026
Summary:
X-link: facebook/react-native#56224

Add standard Node.js stream properties to the Flow type definitions for `stream$Readable` and `stream$Writable` that were previously missing:

- `stream$Readable`:
  - [`closed: boolean`](https://nodejs.org/api/stream.html#readableclosed)
  - [`destroyed: boolean`](https://nodejs.org/api/stream.html#readabledestroyed)
  - [`errored: ?Error`](https://nodejs.org/api/stream.html#readableerrored)
  - [`readableEnded: boolean`](https://nodejs.org/api/stream.html#readablereadableended)
  - [`readableAborted: boolean`](https://nodejs.org/api/stream.html#readablereadableaborted)
  - [`readableDidRead: boolean`](https://nodejs.org/api/stream.html#readablereadabledidread)
  - [`readableFlowing: ?boolean`](https://nodejs.org/api/stream.html#readablereadableflowing)
  - [`readableObjectMode: boolean`](https://nodejs.org/api/stream.html#readablereadableobjectmode)
- `stream$Writable`:
  - [`closed: boolean`](https://nodejs.org/api/stream.html#writableclosed)
  - [`destroyed: boolean`](https://nodejs.org/api/stream.html#writabledestroyed)
  - [`errored: ?Error`](https://nodejs.org/api/stream.html#writableerrored)
  - [`writableEnded: boolean`](https://nodejs.org/api/stream.html#writablewritableended)
  - [`writableAborted: boolean`](https://nodejs.org/api/stream.html#writablewritableaborted)
  - [`writableFinished: boolean`](https://nodejs.org/api/stream.html#writablewritablefinished)
  - [`writableNeedDrain: boolean`](https://nodejs.org/api/stream.html#writablewritableneeddrain)
  - [`writableObjectMode: boolean`](https://nodejs.org/api/stream.html#writablewritableobjectmode)

Docs: https://nodejs.org/api/stream.html

These properties exist on all Node.js streams and are needed by Metro to detect when HTTP response streams have been closed by a client disconnect.

Changelog: [Internal]

Reviewed By: christophpurrer

Differential Revision: D98176491

fbshipit-source-id: 2407367c52e5ece9099289ffd18642bdc4a7047d
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. fb-exported Merged This PR has been merged. meta-exported p: Facebook Partner: Facebook Partner

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants