Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(deps): bump pechkin from 1.0.1 to 2.2.0 #109

Closed
wants to merge 1 commit into from

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Oct 16, 2023

Bumps pechkin from 1.0.1 to 2.2.0.

Release notes

Sourced from pechkin's releases.

v2.1.0: Better cleanup on error

[2.1.0] - 2023-07-21

Changed

  • Cleanup process on request errors. Previously, only request.unpipe() was called on error. Now, an approach inspired by Multer source code was taken:
    • Unpipe the request stream from the parser

    • Remove all event listeners from the parser

    • Resume the request stream.

      • Why req.resume() and not req.pause()?

        • Pausing causes the internal Node.js TCP stack buffers to overflow, backpressure is propagated through the network, TCP congestion control kicks in, and may probably slow down the network (?)
        • Resuming doesn't consume any additional memory, and any CPU usage is negligible (networks are much slower than CPUs)
      • Why not req.destroy()?

        • I'm actually not sure. I think it's better to leave it up to the user to decide when and how to close the request. A simple res.end() should be enough.

v2.0.1: Major maxFileByteLength error handling bug fix; remove byteLength property

All changes in this release were triggered by this great issue: rafasofizada/pechkin#2

Changelog entry

Major commits:

Problem:

Pechkin.File.byteLength was responsible for detecting and throwing the maxByteLength error (if abortOnFileByteLengthLimit === true). maxByteLength error was only accessible through the byteLength promise. And as the byteLength promise and all associated event listeners were created "at compile time", if you didn't await file.byteLength and error-handle it, it'd create uncaught promise rejection runtime errors and crash the app.

Solution:

  • Move the error throwing logic to the ByteLengthTruncateStream Transform stream implementation.
  • Remove the byteLength Promise, and instead add bytesRead, bytesWritten and truncated getters to Pechkin.File.stream itself (which is an instance of aforementioned ByteLengthTruncateStream. Setting stream event handlers beforehand and wrapping them into a Promise leads to lots of unintuitive behaviour which leads to lots of hard-to-track-down bugs – I've encountered several of them even in my testing code!
Changelog

Sourced from pechkin's changelog.

[2.2.0] - 2023-07-22

Major commits:

Changed

  • Busboy file stream errors are now caught and forwarded to the corresponding Pechkin file streams. Pechkin file stream is destroyed and the same error is thrown, with "Error in busboy file stream" prepended.

[2.1.0] - 2023-07-21

Major commits:

Changed

  • Cleanup process on request errors. Previously, only request.unpipe() was called on error. Now, an approach inspired by Multer source code was taken:
    • Unpipe the request stream from the parser

    • Remove all event listeners from the parser

    • Resume the request stream.

      • Why req.resume() and not req.pause()?

        • Pausing causes the internal Node.js TCP stack buffers to overflow, backpressure is propagated through the network, TCP congestion control kicks in, and may probably slow down the network (?)
        • Resuming doesn't consume any additional memory, and any CPU usage is negligible (networks are much slower than CPUs)
      • Why not req.destroy()?

        • I'm actually not sure. I think it's better to leave it up to the user to decide when and how to close the request. A simple res.end() should be enough.

[2.0.1] - 2023-07-13

Update documentation for NPM.

[2.0.0] - 2023-07-13

For migration guide, check comments on file system and S3 upload examples.

Major commits:

Added

Fixed

  • maxFileByteLength error handling: maxFileByteLength now works as expected and throws an error when the file size exceeds the limit. ByteLengthTruncateStream now directly throws the maxFileByteLength Error. Previously, only the byteLength property (the event handlers inside the promise creation) were responsible for throwing the length limit error; which meants that if you don't use and properly error-handle the byteLength promise, in case file byte length limit was reached, it'd trigger an unhandled promise rejection.

Removed

... (truncated)

Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [pechkin](https://github.com/rafasofizada/pechkin) from 1.0.1 to 2.2.0.
- [Release notes](https://github.com/rafasofizada/pechkin/releases)
- [Changelog](https://github.com/rafasofizada/pechkin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rafasofizada/pechkin/commits)

---
updated-dependencies:
- dependency-name: pechkin
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file javascript Pull requests that update Javascript code labels Oct 16, 2023
@dependabot dependabot bot requested a review from a team October 16, 2023 09:15
@nytamin nytamin closed this Nov 10, 2023
Copy link
Contributor Author

dependabot bot commented on behalf of github Nov 10, 2023

OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting @dependabot ignore this major version or @dependabot ignore this minor version. You can also ignore all major, minor, or patch releases for a dependency by adding an ignore condition with the desired update_types to your config file.

If you change your mind, just re-open this PR and I'll resolve any conflicts on it.

@dependabot dependabot bot deleted the dependabot/npm_and_yarn/pechkin-2.2.0 branch November 10, 2023 05:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file javascript Pull requests that update Javascript code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant