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

fix: enhance 100 and 200 or 204 handling #5056

Merged
merged 10 commits into from Oct 4, 2023

Conversation

Iamshankhadeep
Copy link
Contributor

@Iamshankhadeep Iamshankhadeep commented Sep 23, 2023

…zationHook`

fixes #5003

Checklist

@Uzlopak
Copy link
Contributor

Uzlopak commented Sep 23, 2023

So potential performance hit, because some people apply a preSerializiation hook on 204?

Copy link
Member

@mcollina mcollina left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for opening a PR! Can you please add a unit test?

Copy link
Member

@jsumners jsumners left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why are there unnecessary white space changes?

@Iamshankhadeep
Copy link
Contributor Author

@mcollina @jsumners @Uzlopak can you review this ?

Copy link
Member

@mcollina mcollina left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@Iamshankhadeep
Copy link
Contributor Author

why did the integration test failed?

@metcoder95
Copy link
Member

It seems the last test is failing, can you try to replicate it in local?

fastify.delete('/delete/:id', async function (request, reply) {

@Fdawgs Fdawgs added the benchmark Label to run benchmark against PR and main branch label Sep 26, 2023
@github-actions
Copy link

Node: 16
PR: [1] 1692k requests in 30.09s, 318 MB read
MAIN: [1] 1639k requests in 30.05s, 308 MB read


Node: 18
PR: [1] 1656k requests in 30.05s, 311 MB read
MAIN: [1] 1653k requests in 30.06s, 311 MB read


Node: 20
PR: [1] 1453k requests in 30.07s, 273 MB read
MAIN: [1] 1523k requests in 30.08s, 286 MB read

lib/reply.js Outdated Show resolved Hide resolved
@Iamshankhadeep
Copy link
Contributor Author

Iamshankhadeep commented Sep 26, 2023

It seems the last test is failing, can you try to replicate it in local?

fastify.delete('/delete/:id', async function (request, reply) {

so getting a error for this, when trying to send data in 204 status.

{
    "statusCode": 500,
    "code": "FST_ERR_REP_INVALID_PAYLOAD_TYPE",
    "error": "Internal Server Error",
    "message": "Attempted to send payload of invalid type 'object'. Expected a string or Buffer."
}

the correct code should be this right?

fastify.delete('/delete/:id', async function (request, reply) {
  const { id } = request.params
  reply.code(204).send()
})

@Fdawgs Fdawgs removed the benchmark Label to run benchmark against PR and main branch label Sep 26, 2023
Copy link
Member

@metcoder95 metcoder95 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

so getting a error for this, when trying to send data in 204 status.

{
    "statusCode": 500,
    "code": "FST_ERR_REP_INVALID_PAYLOAD_TYPE",
    "error": "Internal Server Error",
    "message": "Attempted to send payload of invalid type 'object'. Expected a string or Buffer."
}

the correct code should be this right?

fastify.delete('/delete/:id', async function (request, reply) {
  const { id } = request.params
  reply.code(204).send()
})

Good catch!

Yes, exactly. It seems we didn't notice it before, but with your change, as on 204 we now bypass the serialization step, it goes straight away into preparing the payload to be dispatched and noticed is not a string nor a Buffer, throwing that error.

Can you also add a test

Maybe you'd like to inline it with the payload === undefined check as both scopes are the same. See

test/reply-code.test.js Show resolved Hide resolved
@Iamshankhadeep
Copy link
Contributor Author

t.equal(responses[1].status, 'fulfilled')

Can anyone help me with this why this gives error, says status: 'rejected', for responses[1].status ?

Copy link
Member

@climba03003 climba03003 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, a bit late for the comment.
But override the payload inside reply.send shouldn't be the right option.
Instead, the guard should be at the last stage before sending to res.write.

The reason is that,

  1. User lost the original payload inside onSend hook
  2. .send is not the final state for user to change the status code.

@metcoder95
Copy link
Member

But override the payload inside reply.send shouldn't be the right option.
Instead, the guard should be at the last stage before sending to res.write.

Good catch, let's do that 👍
This is the line @climba03003 is pointing out:

res.write(payload)

lib/reply.js Show resolved Hide resolved
test/reply-code.test.js Show resolved Hide resolved
test/reply-code.test.js Show resolved Hide resolved
Copy link
Member

@mcollina mcollina left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

lib/reply.js Show resolved Hide resolved
@metcoder95 metcoder95 changed the title fix: status code is between 100 and 200 or 204 don't call `preSeriali… fix: enhance 100 and 200 or 204 handling Oct 4, 2023
@metcoder95 metcoder95 merged commit cefe85d into fastify:main Oct 4, 2023
26 checks passed
renovate bot added a commit to tomacheese/telcheck that referenced this pull request Oct 11, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [fastify](https://www.fastify.dev/)
([source](https://togithub.com/fastify/fastify)) | [`4.23.2` ->
`4.24.0`](https://renovatebot.com/diffs/npm/fastify/4.23.2/4.24.0) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/fastify/4.24.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/fastify/4.24.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/fastify/4.23.2/4.24.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/fastify/4.23.2/4.24.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>fastify/fastify (fastify)</summary>

###
[`v4.24.0`](https://togithub.com/fastify/fastify/releases/tag/v4.24.0)

[Compare
Source](https://togithub.com/fastify/fastify/compare/v4.23.2...v4.24.0)

#### What's Changed

- docs: Add blank line before onclose hook heading by
[@&#8203;kadoshita](https://togithub.com/kadoshita) in
[fastify/fastify#5042
- build(dependabot): ignore tap major updates by
[@&#8203;Fdawgs](https://togithub.com/Fdawgs) in
[fastify/fastify#5047
- chore: Bump actions/checkout from 3 to 4 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[fastify/fastify#5048
- chore: more perf by [@&#8203;Eomm](https://togithub.com/Eomm) in
[fastify/fastify#5016
- docs(ecosystem): add fastify-prisma by
[@&#8203;zrosenbauer](https://togithub.com/zrosenbauer) in
[fastify/fastify#5041
- test: fix ci due yup breaking by
[@&#8203;Eomm](https://togithub.com/Eomm) in
[fastify/fastify#5058
- perf: optimize split params by
[@&#8203;Connormiha](https://togithub.com/Connormiha) in
[fastify/fastify#5057
- chore: implicitly infer SchemaCompiler as readonly by
[@&#8203;DemonHa](https://togithub.com/DemonHa) in
[fastify/fastify#5060
- test(logger): splitting existing tests to avoid pipeline failing for
timeout by
[@&#8203;giuliowaitforitdavide](https://togithub.com/giuliowaitforitdavide)
in
[fastify/fastify#5064
- fix(async-hooks): mixing async and callback style in preHandler option
now returns an error by
[@&#8203;giuliowaitforitdavide](https://togithub.com/giuliowaitforitdavide)
in
[fastify/fastify#5069
- fix: enhance 100 and 200 or 204 handling by
[@&#8203;Iamshankhadeep](https://togithub.com/Iamshankhadeep) in
[fastify/fastify#5056
- docs: add fastify-cloudflare-turnstile to ecosystem by
[@&#8203;112RG](https://togithub.com/112RG) in
[fastify/fastify#5067
- docs: Fixing a couple typos by
[@&#8203;Cadienvan](https://togithub.com/Cadienvan) in
[fastify/fastify#5079
- feat: Add `Symbol.asyncDispose` to improve DX in short lived servers.
by [@&#8203;arthurfiorette](https://togithub.com/arthurfiorette) in
[fastify/fastify#5082
- docs: Documentation changes requested at
[#&#8203;5082](https://togithub.com/fastify/fastify/issues/5082) by
[@&#8203;arthurfiorette](https://togithub.com/arthurfiorette) in
[fastify/fastify#5083
- docs: remove thenable promisesaplus spec references by
[@&#8203;dancastillo](https://togithub.com/dancastillo) in
[fastify/fastify#5081
- docs(ecosystem): add fastify-event-bus by
[@&#8203;Shiva127](https://togithub.com/Shiva127) in
[fastify/fastify#5085
- docs: update docs for FastifyPlugin by
[@&#8203;dancastillo](https://togithub.com/dancastillo) in
[fastify/fastify#5070
- docs: Update for .hijack heading by
[@&#8203;jackbatzner](https://togithub.com/jackbatzner) in
[fastify/fastify#5088
- fix(warnings): fixed warning when accessing context property from
Request and Reply objects by
[@&#8203;giuliowaitforitdavide](https://togithub.com/giuliowaitforitdavide)
in
[fastify/fastify#5084
- fix: HEAD route search by
[@&#8203;ivan-tymoshenko](https://togithub.com/ivan-tymoshenko) in
[fastify/fastify#5078

#### New Contributors

- [@&#8203;kadoshita](https://togithub.com/kadoshita) made their first
contribution in
[fastify/fastify#5042
- [@&#8203;Connormiha](https://togithub.com/Connormiha) made their first
contribution in
[fastify/fastify#5057
- [@&#8203;DemonHa](https://togithub.com/DemonHa) made their first
contribution in
[fastify/fastify#5060
- [@&#8203;Iamshankhadeep](https://togithub.com/Iamshankhadeep) made
their first contribution in
[fastify/fastify#5056
- [@&#8203;Cadienvan](https://togithub.com/Cadienvan) made their first
contribution in
[fastify/fastify#5079
- [@&#8203;arthurfiorette](https://togithub.com/arthurfiorette) made
their first contribution in
[fastify/fastify#5082
- [@&#8203;jackbatzner](https://togithub.com/jackbatzner) made their
first contribution in
[fastify/fastify#5088

**Full Changelog**:
fastify/fastify@v4.23.2...v4.24.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/tomacheese/telcheck).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy44LjEiLCJ1cGRhdGVkSW5WZXIiOiIzNy44LjEiLCJ0YXJnZXRCcmFuY2giOiJtYXN0ZXIifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
jtoar pushed a commit to redwoodjs/redwood that referenced this pull request Nov 15, 2023
[![Mend Renovate logo
banner](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [fastify](https://www.fastify.dev/)
([source](https://togithub.com/fastify/fastify)) | [`4.23.2` ->
`4.24.3`](https://renovatebot.com/diffs/npm/fastify/4.23.2/4.24.3) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/fastify/4.24.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/fastify/4.24.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/fastify/4.23.2/4.24.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/fastify/4.23.2/4.24.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>fastify/fastify (fastify)</summary>

###
[`v4.24.3`](https://togithub.com/fastify/fastify/releases/tag/v4.24.3)

[Compare
Source](https://togithub.com/fastify/fastify/compare/v4.24.2...v4.24.3)

#### What's Changed

- fix: timeout on citgm tests by
[@&#8203;simone-sanfratello](https://togithub.com/simone-sanfratello) in
[fastify/fastify#5101
- chore: add missing `use strict` directives by
[@&#8203;Fdawgs](https://togithub.com/Fdawgs) in
[fastify/fastify#5106

**Full Changelog**:
fastify/fastify@v4.24.2...v4.24.3

###
[`v4.24.2`](https://togithub.com/fastify/fastify/releases/tag/v4.24.2)

[Compare
Source](https://togithub.com/fastify/fastify/compare/v4.24.1...v4.24.2)

#### What's Changed

- fix: build problems when `Symbol.asyncDispose` type is not available.
by [@&#8203;arthurfiorette](https://togithub.com/arthurfiorette) in
[fastify/fastify#5096

**Full Changelog**:
fastify/fastify@v4.24.1...v4.24.2

###
[`v4.24.1`](https://togithub.com/fastify/fastify/releases/tag/v4.24.1)

[Compare
Source](https://togithub.com/fastify/fastify/compare/v4.24.0...v4.24.1)

#### What's Changed

- fix: citgm by
[@&#8203;simone-sanfratello](https://togithub.com/simone-sanfratello) in
[fastify/fastify#5075
- fix: HEAD route reseting by
[@&#8203;ivan-tymoshenko](https://togithub.com/ivan-tymoshenko) in
[fastify/fastify#5090

**Full Changelog**:
fastify/fastify@v4.24.0...v4.24.1

###
[`v4.24.0`](https://togithub.com/fastify/fastify/releases/tag/v4.24.0)

[Compare
Source](https://togithub.com/fastify/fastify/compare/v4.23.2...v4.24.0)

#### What's Changed

- docs: Add blank line before onclose hook heading by
[@&#8203;kadoshita](https://togithub.com/kadoshita) in
[fastify/fastify#5042
- build(dependabot): ignore tap major updates by
[@&#8203;Fdawgs](https://togithub.com/Fdawgs) in
[fastify/fastify#5047
- chore: Bump actions/checkout from 3 to 4 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[fastify/fastify#5048
- chore: more perf by [@&#8203;Eomm](https://togithub.com/Eomm) in
[fastify/fastify#5016
- docs(ecosystem): add fastify-prisma by
[@&#8203;zrosenbauer](https://togithub.com/zrosenbauer) in
[fastify/fastify#5041
- test: fix ci due yup breaking by
[@&#8203;Eomm](https://togithub.com/Eomm) in
[fastify/fastify#5058
- perf: optimize split params by
[@&#8203;Connormiha](https://togithub.com/Connormiha) in
[fastify/fastify#5057
- chore: implicitly infer SchemaCompiler as readonly by
[@&#8203;DemonHa](https://togithub.com/DemonHa) in
[fastify/fastify#5060
- test(logger): splitting existing tests to avoid pipeline failing for
timeout by
[@&#8203;giuliowaitforitdavide](https://togithub.com/giuliowaitforitdavide)
in
[fastify/fastify#5064
- fix(async-hooks): mixing async and callback style in preHandler option
now returns an error by
[@&#8203;giuliowaitforitdavide](https://togithub.com/giuliowaitforitdavide)
in
[fastify/fastify#5069
- fix: enhance 100 and 200 or 204 handling by
[@&#8203;Iamshankhadeep](https://togithub.com/Iamshankhadeep) in
[fastify/fastify#5056
- docs: add fastify-cloudflare-turnstile to ecosystem by
[@&#8203;112RG](https://togithub.com/112RG) in
[fastify/fastify#5067
- docs: Fixing a couple typos by
[@&#8203;Cadienvan](https://togithub.com/Cadienvan) in
[fastify/fastify#5079
- feat: Add `Symbol.asyncDispose` to improve DX in short lived servers.
by [@&#8203;arthurfiorette](https://togithub.com/arthurfiorette) in
[fastify/fastify#5082
- docs: Documentation changes requested at
[#&#8203;5082](https://togithub.com/fastify/fastify/issues/5082) by
[@&#8203;arthurfiorette](https://togithub.com/arthurfiorette) in
[fastify/fastify#5083
- docs: remove thenable promisesaplus spec references by
[@&#8203;dancastillo](https://togithub.com/dancastillo) in
[fastify/fastify#5081
- docs(ecosystem): add fastify-event-bus by
[@&#8203;Shiva127](https://togithub.com/Shiva127) in
[fastify/fastify#5085
- docs: update docs for FastifyPlugin by
[@&#8203;dancastillo](https://togithub.com/dancastillo) in
[fastify/fastify#5070
- docs: Update for .hijack heading by
[@&#8203;jackbatzner](https://togithub.com/jackbatzner) in
[fastify/fastify#5088
- fix(warnings): fixed warning when accessing context property from
Request and Reply objects by
[@&#8203;giuliowaitforitdavide](https://togithub.com/giuliowaitforitdavide)
in
[fastify/fastify#5084
- fix: HEAD route search by
[@&#8203;ivan-tymoshenko](https://togithub.com/ivan-tymoshenko) in
[fastify/fastify#5078

#### New Contributors

- [@&#8203;kadoshita](https://togithub.com/kadoshita) made their first
contribution in
[fastify/fastify#5042
- [@&#8203;Connormiha](https://togithub.com/Connormiha) made their first
contribution in
[fastify/fastify#5057
- [@&#8203;DemonHa](https://togithub.com/DemonHa) made their first
contribution in
[fastify/fastify#5060
- [@&#8203;Iamshankhadeep](https://togithub.com/Iamshankhadeep) made
their first contribution in
[fastify/fastify#5056
- [@&#8203;Cadienvan](https://togithub.com/Cadienvan) made their first
contribution in
[fastify/fastify#5079
- [@&#8203;arthurfiorette](https://togithub.com/arthurfiorette) made
their first contribution in
[fastify/fastify#5082
- [@&#8203;jackbatzner](https://togithub.com/jackbatzner) made their
first contribution in
[fastify/fastify#5088

**Full Changelog**:
fastify/fastify@v4.23.2...v4.24.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/redwoodjs/redwood).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40Ni4wIiwidXBkYXRlZEluVmVyIjoiMzcuNDYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
jtoar pushed a commit to redwoodjs/redwood that referenced this pull request Nov 16, 2023
[![Mend Renovate logo
banner](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [fastify](https://www.fastify.dev/)
([source](https://togithub.com/fastify/fastify)) | [`4.23.2` ->
`4.24.3`](https://renovatebot.com/diffs/npm/fastify/4.23.2/4.24.3) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/fastify/4.24.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/fastify/4.24.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/fastify/4.23.2/4.24.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/fastify/4.23.2/4.24.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

<details>
<summary>fastify/fastify (fastify)</summary>

[`v4.24.3`](https://togithub.com/fastify/fastify/releases/tag/v4.24.3)

[Compare
Source](https://togithub.com/fastify/fastify/compare/v4.24.2...v4.24.3)

- fix: timeout on citgm tests by
[@&#8203;simone-sanfratello](https://togithub.com/simone-sanfratello) in
[fastify/fastify#5101
- chore: add missing `use strict` directives by
[@&#8203;Fdawgs](https://togithub.com/Fdawgs) in
[fastify/fastify#5106

**Full Changelog**:
fastify/fastify@v4.24.2...v4.24.3

[`v4.24.2`](https://togithub.com/fastify/fastify/releases/tag/v4.24.2)

[Compare
Source](https://togithub.com/fastify/fastify/compare/v4.24.1...v4.24.2)

- fix: build problems when `Symbol.asyncDispose` type is not available.
by [@&#8203;arthurfiorette](https://togithub.com/arthurfiorette) in
[fastify/fastify#5096

**Full Changelog**:
fastify/fastify@v4.24.1...v4.24.2

[`v4.24.1`](https://togithub.com/fastify/fastify/releases/tag/v4.24.1)

[Compare
Source](https://togithub.com/fastify/fastify/compare/v4.24.0...v4.24.1)

- fix: citgm by
[@&#8203;simone-sanfratello](https://togithub.com/simone-sanfratello) in
[fastify/fastify#5075
- fix: HEAD route reseting by
[@&#8203;ivan-tymoshenko](https://togithub.com/ivan-tymoshenko) in
[fastify/fastify#5090

**Full Changelog**:
fastify/fastify@v4.24.0...v4.24.1

[`v4.24.0`](https://togithub.com/fastify/fastify/releases/tag/v4.24.0)

[Compare
Source](https://togithub.com/fastify/fastify/compare/v4.23.2...v4.24.0)

- docs: Add blank line before onclose hook heading by
[@&#8203;kadoshita](https://togithub.com/kadoshita) in
[fastify/fastify#5042
- build(dependabot): ignore tap major updates by
[@&#8203;Fdawgs](https://togithub.com/Fdawgs) in
[fastify/fastify#5047
- chore: Bump actions/checkout from 3 to 4 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[fastify/fastify#5048
- chore: more perf by [@&#8203;Eomm](https://togithub.com/Eomm) in
[fastify/fastify#5016
- docs(ecosystem): add fastify-prisma by
[@&#8203;zrosenbauer](https://togithub.com/zrosenbauer) in
[fastify/fastify#5041
- test: fix ci due yup breaking by
[@&#8203;Eomm](https://togithub.com/Eomm) in
[fastify/fastify#5058
- perf: optimize split params by
[@&#8203;Connormiha](https://togithub.com/Connormiha) in
[fastify/fastify#5057
- chore: implicitly infer SchemaCompiler as readonly by
[@&#8203;DemonHa](https://togithub.com/DemonHa) in
[fastify/fastify#5060
- test(logger): splitting existing tests to avoid pipeline failing for
timeout by
[@&#8203;giuliowaitforitdavide](https://togithub.com/giuliowaitforitdavide)
in
[fastify/fastify#5064
- fix(async-hooks): mixing async and callback style in preHandler option
now returns an error by
[@&#8203;giuliowaitforitdavide](https://togithub.com/giuliowaitforitdavide)
in
[fastify/fastify#5069
- fix: enhance 100 and 200 or 204 handling by
[@&#8203;Iamshankhadeep](https://togithub.com/Iamshankhadeep) in
[fastify/fastify#5056
- docs: add fastify-cloudflare-turnstile to ecosystem by
[@&#8203;112RG](https://togithub.com/112RG) in
[fastify/fastify#5067
- docs: Fixing a couple typos by
[@&#8203;Cadienvan](https://togithub.com/Cadienvan) in
[fastify/fastify#5079
- feat: Add `Symbol.asyncDispose` to improve DX in short lived servers.
by [@&#8203;arthurfiorette](https://togithub.com/arthurfiorette) in
[fastify/fastify#5082
- docs: Documentation changes requested at
[#&#8203;5082](https://togithub.com/fastify/fastify/issues/5082) by
[@&#8203;arthurfiorette](https://togithub.com/arthurfiorette) in
[fastify/fastify#5083
- docs: remove thenable promisesaplus spec references by
[@&#8203;dancastillo](https://togithub.com/dancastillo) in
[fastify/fastify#5081
- docs(ecosystem): add fastify-event-bus by
[@&#8203;Shiva127](https://togithub.com/Shiva127) in
[fastify/fastify#5085
- docs: update docs for FastifyPlugin by
[@&#8203;dancastillo](https://togithub.com/dancastillo) in
[fastify/fastify#5070
- docs: Update for .hijack heading by
[@&#8203;jackbatzner](https://togithub.com/jackbatzner) in
[fastify/fastify#5088
- fix(warnings): fixed warning when accessing context property from
Request and Reply objects by
[@&#8203;giuliowaitforitdavide](https://togithub.com/giuliowaitforitdavide)
in
[fastify/fastify#5084
- fix: HEAD route search by
[@&#8203;ivan-tymoshenko](https://togithub.com/ivan-tymoshenko) in
[fastify/fastify#5078

- [@&#8203;kadoshita](https://togithub.com/kadoshita) made their first
contribution in
[fastify/fastify#5042
- [@&#8203;Connormiha](https://togithub.com/Connormiha) made their first
contribution in
[fastify/fastify#5057
- [@&#8203;DemonHa](https://togithub.com/DemonHa) made their first
contribution in
[fastify/fastify#5060
- [@&#8203;Iamshankhadeep](https://togithub.com/Iamshankhadeep) made
their first contribution in
[fastify/fastify#5056
- [@&#8203;Cadienvan](https://togithub.com/Cadienvan) made their first
contribution in
[fastify/fastify#5079
- [@&#8203;arthurfiorette](https://togithub.com/arthurfiorette) made
their first contribution in
[fastify/fastify#5082
- [@&#8203;jackbatzner](https://togithub.com/jackbatzner) made their
first contribution in
[fastify/fastify#5088

**Full Changelog**:
fastify/fastify@v4.23.2...v4.24.0

</details>

---

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/redwoodjs/redwood).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40Ni4wIiwidXBkYXRlZEluVmVyIjoiMzcuNDYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
@szegheo
Copy link

szegheo commented Dec 17, 2023

I'm still trying to find the exact reason, but after this change, our logs are full width "response errored" entries. We are heavily using the proxy plugin and had no issues with it until this change. We have only one endpoint, that responds with 204 (PUT), and this is the only one started to (falsely) trigger the above warns. After reading all the comments belonging to this fix, I've double-checked our code (response and headers) but all seems fine on our part. I'm still doing my investigations, just wanted to share my perception.

@szegheo
Copy link

szegheo commented Dec 21, 2023

I have a reproduction code for my "response errored" issue above (reported in reply-from). The problem is with 204 responses (method independent) and when using node's http request (proxy options).

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.

Positive content-length with return Promise.resolve(null) and 204 status code
9 participants