Skip to content

fix: increment form.pending count before preflight validation#15279

Merged
teemingc merged 1 commit intomainfrom
form-pending-timing-fix
Feb 17, 2026
Merged

fix: increment form.pending count before preflight validation#15279
teemingc merged 1 commit intomainfrom
form-pending-timing-fix

Conversation

@dummdidumm
Copy link
Member

Fixes #15193


Please don't delete this checklist! Before submitting the PR, please make sure you do the following:

  • It's really useful if your PR references an issue where it is discussed ahead of time. In many cases, features are absent for a reason. For large changes, please create an RFC: https://github.com/sveltejs/rfcs
  • This message body should clearly illustrate what problems it solves.
  • Ideally, include a test that fails without this PR but passes with it.

Tests

  • Run the tests with pnpm test and lint the project with pnpm lint and pnpm check

Changesets

  • If your PR makes a change that should be noted in one or more packages' changelogs, generate a changeset by running pnpm changeset and following the prompts. Changesets that add features should be minor and those that fix bugs should be patch. Please prefix changeset messages with feat:, fix:, or chore:.

@changeset-bot
Copy link

changeset-bot bot commented Feb 7, 2026

🦋 Changeset detected

Latest commit: 9b2c471

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@sveltejs/kit Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@svelte-docs-bot
Copy link

@teemingc teemingc added the forms Stuff relating to forms and form actions label Feb 17, 2026
@teemingc teemingc merged commit 8c2384a into main Feb 17, 2026
27 checks passed
@teemingc teemingc deleted the form-pending-timing-fix branch February 17, 2026 10:45
@github-actions github-actions bot mentioned this pull request Feb 17, 2026
elliott-with-the-longest-name-on-github pushed a commit that referenced this pull request Feb 18, 2026
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.


# Releases
## @sveltejs/adapter-cloudflare@7.2.8

### Patch Changes

- fix: skip comment lines in `_redirects` file
([#15325](#15325))

- Updated dependencies
\[[`e87efba`](e87efba),
[`71ddbc7`](71ddbc7),
[`1bae374`](1bae374),
[`20dfadf`](20dfadf),
[`8c2384a`](8c2384a)]:
    -   @sveltejs/kit@2.52.1

## @sveltejs/adapter-netlify@6.0.1

### Patch Changes

- fix: export Netlify config directly from the instrumented serverless
function ([#15335](#15335))

- Updated dependencies
\[[`e87efba`](e87efba),
[`71ddbc7`](71ddbc7),
[`1bae374`](1bae374),
[`20dfadf`](20dfadf),
[`8c2384a`](8c2384a)]:
    -   @sveltejs/kit@2.52.1

## @sveltejs/kit@2.52.1

### Patch Changes

- fix: clear stale preflight issues on subsequent valid form submissions
([#15281](#15281))


- chore: remove dependency on `sade`
([#15272](#15272))


- fix: include `.txt` files in precompression
([#15259](#15259))


- fix: escape backticks and dollar signs when creating inlined css
([#15320](#15320))


- fix: increment `form.pending` count before preflight validation
([#15279](#15279))

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
@github-actions github-actions bot mentioned this pull request Feb 18, 2026
Copilot AI pushed a commit to Stadly/kit that referenced this pull request Mar 6, 2026
…tejs#15279)

Fixes sveltejs#15193

---

### Please don't delete this checklist! Before submitting the PR, please
make sure you do the following:
- [x] It's really useful if your PR references an issue where it is
discussed ahead of time. In many cases, features are absent for a
reason. For large changes, please create an RFC:
https://github.com/sveltejs/rfcs
- [x] This message body should clearly illustrate what problems it
solves.
- [x] Ideally, include a test that fails without this PR but passes with
it.

### Tests
- [x] Run the tests with `pnpm test` and lint the project with `pnpm
lint` and `pnpm check`

### Changesets
- [x] If your PR makes a change that should be noted in one or more
packages' changelogs, generate a changeset by running `pnpm changeset`
and following the prompts. Changesets that add features should be
`minor` and those that fix bugs should be `patch`. Please prefix
changeset messages with `feat:`, `fix:`, or `chore:`.
Copilot AI pushed a commit to Stadly/kit that referenced this pull request Mar 6, 2026
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.


# Releases
## @sveltejs/adapter-cloudflare@7.2.8

### Patch Changes

- fix: skip comment lines in `_redirects` file
([sveltejs#15325](sveltejs#15325))

- Updated dependencies
\[[`e87efba`](sveltejs@e87efba),
[`71ddbc7`](sveltejs@71ddbc7),
[`1bae374`](sveltejs@1bae374),
[`20dfadf`](sveltejs@20dfadf),
[`8c2384a`](sveltejs@8c2384a)]:
    -   @sveltejs/kit@2.52.1

## @sveltejs/adapter-netlify@6.0.1

### Patch Changes

- fix: export Netlify config directly from the instrumented serverless
function ([sveltejs#15335](sveltejs#15335))

- Updated dependencies
\[[`e87efba`](sveltejs@e87efba),
[`71ddbc7`](sveltejs@71ddbc7),
[`1bae374`](sveltejs@1bae374),
[`20dfadf`](sveltejs@20dfadf),
[`8c2384a`](sveltejs@8c2384a)]:
    -   @sveltejs/kit@2.52.1

## @sveltejs/kit@2.52.1

### Patch Changes

- fix: clear stale preflight issues on subsequent valid form submissions
([sveltejs#15281](sveltejs#15281))


- chore: remove dependency on `sade`
([sveltejs#15272](sveltejs#15272))


- fix: include `.txt` files in precompression
([sveltejs#15259](sveltejs#15259))


- fix: escape backticks and dollar signs when creating inlined css
([sveltejs#15320](sveltejs#15320))


- fix: increment `form.pending` count before preflight validation
([sveltejs#15279](sveltejs#15279))

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
paoloricciuti added a commit that referenced this pull request Mar 25, 2026
…#15520)

closes #15519 

This PR proposes a solution to the fact that a remote form does not
reset pending count if the enhance function does not call the submit
function

Alternative solutions
- Move the pending count reset out of the submit function, this could
possibly be a better solution since it's less code but I didn't have
enough of an understanding of the code to fully grasp the consequences
and I believe this change is easy enough to understand.
- Don't reset at all, it could be that to dissuade consumers from not
calling the `submit` function this was done intentionally however I
don't think this is the case.
- Only increment after submit has been called. I think this is a bad
solution for 2 reasons. 1) submit is async and we'd probably wan't to
show pending while it's doing something and 2) #15279 explicitly moved
it earlier.

### Please don't delete this checklist! Before submitting the PR, please
make sure you do the following:
- [X] It's really useful if your PR references an issue where it is
discussed ahead of time. In many cases, features are absent for a
reason. For large changes, please create an RFC:
https://github.com/sveltejs/rfcs
- [X] This message body should clearly illustrate what problems it
solves.
- [ ] Ideally, include a test that fails without this PR but passes with
it.

### Tests
- [X] Run the tests with `pnpm test` and lint the project with `pnpm
lint` and `pnpm check`

### Changesets
- [X] If your PR makes a change that should be noted in one or more
packages' changelogs, generate a changeset by running `pnpm changeset`
and following the prompts. Changesets that add features should be
`minor` and those that fix bugs should be `patch`. Please prefix
changeset messages with `feat:`, `fix:`, or `chore:`.

### Edits

- [X] Please ensure that 'Allow edits from maintainers' is checked. PRs
without this option may be closed.

---------

Co-authored-by: Paolo Ricciuti <ricciutipaolo@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

forms Stuff relating to forms and form actions

Projects

None yet

Development

Successfully merging this pull request may close these issues.

pending_count increments too late when using async preflight validation

2 participants