solidjs / solidjs/solid-start

useSubmission input is empty during ssr depending on FormData size

Open
#2,179 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
5.9k
Forks
426
Avg merge
1d 3h
Merged PRs (30d)
11

Description

Describe the bug

If you natively (disabled js) submit a router-action based form with large form values, the form data will be in the server-function argument as expected, but useSubmission().input is empty during ssr.

Your Example Website or App

Stackblitz had a wasm problem, Repro ZIP is in "Additional context"

Steps to Reproduce the Bug or Issue
  1. Add a form with a router+server-fn based action and a textarea
  2. Output useSubmission().input in the JSX
  3. console.log the form data in the server-fn
  4. Open the browser + disable js in devtools
  5. Enter a very large text in the textarea and submit
  6. The server function logs the form data, but the submission input will be empty
Expected behavior

useSubmission().input during ssr should by consistent with the server-fn arguments, even if the submitted FormData has large values.

Screenshots or Videos

https://github.com/user-attachments/assets/03730595-5338-4add-a31b-f04d0eef6204

Platform
  • OS: Linux
  • Browser: Firefox
Additional context

Reproduction (based on SolidStart bare):
start-empty-submission-large-values.zip

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the attached reproduction ZIP and follow the router-action form submission through useSubmission().input during SSR, comparing it with the server-function argument for large FormData values. Reproduce with JavaScript disabled and a large textarea value; done when SSR input matches the server-function data instead of being empty.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
full-stack
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.