Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: socketio/engine.io
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 6.5.4
Choose a base ref
...
head repository: socketio/engine.io
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 6.6.0
Choose a head ref
  • 20 commits
  • 31 files changed
  • 3 contributors

Commits on Feb 23, 2024

  1. Configuration menu
    Copy the full SHA
    0efa04b View commit details
    Browse the repository at this point in the history

Commits on Mar 29, 2024

  1. chore(deps): bump express from 4.18.2 to 4.19.2 in /examples/latency (#…

    …700)
    
    Bumps [express](https://github.com/expressjs/express) from 4.18.2 to 4.19.2.
    - [Release notes](https://github.com/expressjs/express/releases)
    - [Changelog](https://github.com/expressjs/express/blob/master/History.md)
    - [Commits](expressjs/express@4.18.2...4.19.2)
    
    ---
    updated-dependencies:
    - dependency-name: express
      dependency-type: direct:production
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored Mar 29, 2024
    Configuration menu
    Copy the full SHA
    79ea52d View commit details
    Browse the repository at this point in the history

Commits on Jun 13, 2024

  1. fix: fix websocket and webtransport send callbacks (#699)

    With the `websocket` transport, the callbacks which indicate that the
    packets are actually written were not properly called.
    
    Example:
    
    ```js
    socket.send("hello", () => {
      // the message has been written to the underlying transport
    });
    ```
    
    The bug was caused by the `websocket` transport (and `webtransport` as
    well) having its `supportsFraming` property set to `true`, despite
    having been changed in [1] to emit a single `drain` event for each
    batch of messages written to the transport like the `polling` transport
    always did. Note that although [1] is partially reverted in [2], the
    new `drain` event behavior is preserved as called out in that commit's
    message.
    
    The `supportsFraming` attribute was introduced in [3] (amended by [4])
    as a way to distinguish transports that emit one `drain` per message
    from those that emit one `drain` per batch. Since the delivery of
    `send` callbacks depends on matching `drain` events with
    `transport.send` calls, that distinction is vital to correct behavior.
    
    However, now that all transports have converged to "one `drain` per
    batch" behavior, this `supportsFraming` property can be retired (and
    the code for calling callbacks simplified).
    
    [1]: #618
    [2]: a65a047
    [3]: #130
    [4]: #132
    
    Related: #698
    jonathanperret authored Jun 13, 2024
    Configuration menu
    Copy the full SHA
    fc21c4a View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    8955eb7 View commit details
    Browse the repository at this point in the history
  3. refactor: remove the wsPreEncoded option

    The wsPreEncoded option was added in the `socket.io-adapter` package
    when broadcasting a message to multiple clients.
    
    It was removed in [1] and is now superseded by the `wsPreEncodedFrame`
    option, which directly computes the WebSocket frame once for all
    clients (see [2]).
    
    [1]: socketio/socket.io-adapter@88eee59
    [2]: socketio/socket.io-adapter@5f7b47d
    darrachequesne committed Jun 13, 2024
    Configuration menu
    Copy the full SHA
    ef1c4c8 View commit details
    Browse the repository at this point in the history
  4. refactor: simplify the handling of the "drain" event

    The two event handlers are merged into one.
    darrachequesne committed Jun 13, 2024
    Configuration menu
    Copy the full SHA
    407c3ad View commit details
    Browse the repository at this point in the history
  5. refactor: remove unnecessary array allocation

    If the `packetsFn` array is empty, there is no need to allocate one new
    array.
    darrachequesne committed Jun 13, 2024
    Configuration menu
    Copy the full SHA
    62f59b6 View commit details
    Browse the repository at this point in the history

Commits on Jun 17, 2024

  1. perf(websocket): use bound callbacks

    Instead of allocating one temporary function for each WebSocket
    `send()` call.
    
    Regarding the test removal, the permessage-deflate threshold was
    implemented in the "ws" package in [1], so it's not needed anymore.
    
    [1]: websockets/ws@6b3904b
    darrachequesne committed Jun 17, 2024
    Configuration menu
    Copy the full SHA
    9a68c8c View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b0721e6 View commit details
    Browse the repository at this point in the history

Commits on Jun 18, 2024

  1. chore(deps): bump ws from 8.11.0 to 8.17.1 (#702)

    Bumps [ws](https://github.com/websockets/ws) from 8.11.0 to 8.17.1.
    - [Release notes](https://github.com/websockets/ws/releases)
    - [Commits](websockets/ws@8.11.0...8.17.1)
    
    ---
    updated-dependencies:
    - dependency-name: ws
      dependency-type: direct:production
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored Jun 18, 2024
    Configuration menu
    Copy the full SHA
    3c4d314 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d3f45dc View commit details
    Browse the repository at this point in the history
  3. perf: do not reset the hearbeat timer on each packet

    This behavior was added in [1]. However, there are two problems:
    
    - a new timer is allocated every time a packet is received, which is
    wasteful
    
    - the next heartbeat is not actually delayed, since it's the timeout
    timer which gets reset, and not the interval timer
    
    Note: delaying the next heartbeat would be a breaking change.
    
    [1]: be7b4e7
    darrachequesne committed Jun 18, 2024
    Configuration menu
    Copy the full SHA
    5359bae View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    f521cba View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    6b9e3e4 View commit details
    Browse the repository at this point in the history
  6. chore(deps-dev): bump braces from 3.0.2 to 3.0.3 (#701)

    Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.
    - [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md)
    - [Commits](micromatch/braces@3.0.2...3.0.3)
    
    ---
    updated-dependencies:
    - dependency-name: braces
      dependency-type: indirect
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored Jun 18, 2024
    Configuration menu
    Copy the full SHA
    56c4664 View commit details
    Browse the repository at this point in the history
  7. chore(dev-deps): bump ws and engine.io-client in /examples/memory-usa…

    …ge (#703)
    
    Bumps [ws](https://github.com/websockets/ws) to 8.17.1 and updates ancestor dependency [engine.io-client](https://github.com/socketio/engine.io-client). These dependencies need to be updated together.
    
    
    Updates `ws` from 8.11.0 to 8.17.1
    - [Release notes](https://github.com/websockets/ws/releases)
    - [Commits](websockets/ws@8.11.0...8.17.1)
    
    Updates `engine.io-client` from 6.5.3 to 6.5.4
    - [Release notes](https://github.com/socketio/engine.io-client/releases)
    - [Changelog](https://github.com/socketio/engine.io-client/blob/6.5.4/CHANGELOG.md)
    - [Commits](socketio/engine.io-client@6.5.3...6.5.4)
    
    ---
    updated-dependencies:
    - dependency-name: ws
      dependency-type: indirect
    - dependency-name: engine.io-client
      dependency-type: direct:production
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored Jun 18, 2024
    Configuration menu
    Copy the full SHA
    afd2934 View commit details
    Browse the repository at this point in the history

Commits on Jun 21, 2024

  1. fix: properly call the send callback during upgrade

    The "drain" event (added in [1]) had two different meanings:
    
    - the transport is ready to be written
    - the packets are sent over the wire
    
    For the WebSocket and the WebTransport transports, those two events
    happen at the same time, but this is not the case for the HTTP
    long-polling transport:
    
    - the transport is ready to be written when the client sends a GET request
    - the packets are sent over the wire when the server responds to the GET request
    
    Which caused an issue with send callbacks during an upgrade, since the
    packets were written but the client would not open a new GET request.
    
    There are now two distinct events: "ready" and "drain"
    
    Related: #695
    
    [1]: 2a93f06
    darrachequesne committed Jun 21, 2024
    Configuration menu
    Copy the full SHA
    362bc78 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c310b7b View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    6d8a0be View commit details
    Browse the repository at this point in the history
  4. chore(release): 6.6.0

    darrachequesne committed Jun 21, 2024
    Configuration menu
    Copy the full SHA
    791aa58 View commit details
    Browse the repository at this point in the history
Loading
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy