Skip to content

fix(start): show server function uploads in the dev toolbar - #2374

Open
lxsmnsyc wants to merge 1 commit into
mainfrom
fix/devtools-upload-viewer
Open

lxsmnsyc wants to merge 1 commit into
mainfrom
fix/devtools-upload-viewer

Conversation

@lxsmnsyc

@lxsmnsyc lxsmnsyc commented Nov 3, 2026

Copy link
Copy Markdown
Member

Calls that send files (X-Start-Type: 8, added in #2359) had no case in the dev toolbar's body viewer. They fell through to the generic multipart viewer, which showed:

  • the args field as one escaped raw string instead of a Seroval tree;
  • the file<i> parts apart from the arguments, with the part's type instead of the file's.

Changes

  • functions/index.tsx: a BodyFormat.SerovalFormData case reads the form, shows args with SerovalViewer, and passes the form as uploads. It falls back to FormDataViewer if args is missing.
  • functions/SerovalViewer.tsx: an optional uploads prop. A plugin node tagged solid-start/upload shows a BlobViewer for its part, with the type, name and last modified time from the node (fix(start): keep file and blob metadata in server function uploads #2370), as the server deserializer does. Nodes without metadata show the part as it is.
  • fns/uploads.ts: exports UPLOAD_TAG.

Testing

  • pnpm typecheck and pnpm validate-imports in packages/start.
  • Ran apps/tests and opened the server-function-upload call in the toolbar. hello-world.txt (no type), the two attachment blobs and avatar.png (image/png) inside the FormData argument all show in place.

🤖 Generated with Claude Code

Calls that send files (`X-Start-Type: 8`) fell through to the generic
multipart viewer, which showed the arguments as one raw string and the
files apart from them. The request viewer now shows the arguments as a
Seroval tree, and each upload node shows its file part with the type,
name and last modified time the node holds.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@netlify

netlify Bot commented Nov 3, 2026 •

Copy link
Copy Markdown

✅ Deploy Preview for solid-start-landing-page ready!

Name Link
🔨 Latest commit 1dbceae
🔍 Latest deploy log https://app.netlify.com/projects/solid-start-landing-page/deploys/6ae9e41789e2864f12861410
😎 Deploy Preview https://deploy-preview-2374--solid-start-landing-page.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

@changeset-bot

changeset-bot Bot commented Nov 3, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 1dbceae

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

This PR includes changesets to release 1 package
Name Type
@solidjs/start 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

@pkg-pr-new

pkg-pr-new Bot commented Nov 3, 2026

Copy link
Copy Markdown

Open in StackBlitz

npm i https://pkg.pr.new/@solidjs/start@2374

commit: 1dbceae

/**
* Shows a call that sent files: the arguments from the `ARGS_PART` field as a
* Seroval tree, with each upload in the tree replaced by its file part.
*/

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

does solid start have its own dev-toolbar. I kinda forget if the other package is just 2.0 or not

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

yes. Solid 2.0 have it separated now.

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.

2 participants