Skip to content

http2 compat missing writableFinished #29230

Description

@ronag

http2 compat is missing writableFinished for OutgoingMessage.

I tried fixing this myself but the whole finished flow for http2 compat confuses me.

  • finished seems to be looking at a lot of different stuff (e.g. what does abort have to do with finish?).
  • 'finish' is emitted on stream.on('close', ...).
  • Sometimes we listen to this.on('finish', ...) and sometimes stream.on('finish', ...).

I think someone with a clearer understanding needs to look at this.

Activity

  1. ronag commented on Aug 20, 2019

    @ronag
    MemberAuthor

    Slightly related #24347

  2. added
    http2Issues and PRs related to the http2 subsystem.
    on Aug 22, 2019
  3. added
    help wantedIssues that need assistance from volunteers or PRs that need help to proceed.
    on Apr 12, 2025
  4. 0hmX commented on Jul 17, 2025

    @0hmX
    Contributor

    This is fixed as I test this on v25.0.0-pre

    ./node/out/Release/node ./node/test/parallel/test-test.js
    1
    /home/ohmx/Documents/node/test/parallel/test-test.js:30
        throw new Error('boom');
        ^
    
    Error: boom
        at Domain.<anonymous> (/home/ohmx/Documents/node/test/parallel/test-test.js:30:11)
        at Domain.emit (node:events:507:28)
        at Domain.emit (node:domain:489:12)
        at Domain._errorHandler (node:domain:279:23)
        at Object.<anonymous> (node:domain:181:29)
        at process._fatalException (node:internal/process/execution:158:29)
    
    Node.js v25.0.0-pre
    
  5. fru1tworld commented on Apr 28, 2026

    @fru1tworld

    The writableFinished getter is implemented in lib/internal/http2/compat.js (line 554). I think this issue can be closed.

    While checking, I noticed writableObjectMode and writableNeedDrain are still missing from Http2ServerResponse compared to http.OutgoingMessage. Filed #63000 to track that separately.

  6. trivikr commented on May 20, 2026

    @trivikr
    Member

    Closing, as this issue was fixed in #33506

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    help wantedIssues that need assistance from volunteers or PRs that need help to proceed.http2Issues and PRs related to the http2 subsystem.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions