ta
TanStack
GitHub
form
Workspace
GitHub
CI Pipeline Executions
Filtered
Runs
Demo
Insights
Compare tasks
Analytics
Sign in
Toggle sidebar
Overview
⌘K
form
Loading workspace stats
Loading workspace insights...
Statistics interval
7 days
30 days
Latest CI Pipeline Executions
Status
Fix filter
Filter
Fuzzy
Filter range
Sort by
Sort by
Start time
Sort ascending
Sort descending
GitHub
form
Workspace
Succeeded
main
d7fd741e fix(solid-form): generate an SSR-safe default formId (#2263) * fix(solid-form): generate an SSR-safe default formId `createForm` never passed a `formId` to `FormApi`, so it fell back to `uuid()`, which is seeded from `Math.random()` and therefore differs between the server render and the client render. Binding it (`<form id={form.formId}>`) produced a hydration mismatch under SolidStart. Use Solid's `createUniqueId()` for the default instead, which is what the other adapters already do: - react-form/src/useFormId.ts — React.useId, falling back to useUUID on React 17 - preact-form/src/useFormId.ts — useId from preact/hooks - vue-form/src/useFormId.ts — Vue's useId, added in #2259 An explicitly provided `formId` is still preserved. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> * docs(solid-form): correct changeset wording for the formId fallback An explicitly provided `formId` was already forwarded to `FormApi`; only the fallback was missing. Say that, and capitalize the framework names. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
by Harshit
H
Succeeded
main
0b9de8e9 fix(vue-form): generate an SSR-safe default formId (#2259) * fix(vue-form): generate an SSR-safe default formId FormApi falls back to `uuid()` when no formId is supplied, so the Vue adapter produced a different id on the server than on the client and binding it (e.g. `<form :id="form.formId">`) caused a hydration mismatch. Use Vue's `useId` for the default instead, mirroring what react-form and preact-form already do. `useId` only exists in vue@3.5 and this package supports vue@^3.4.0, so it is read off the namespace and falls back to `uuid()` when unavailable -- and likewise outside a component instance, where `useId` cannot produce a stable value. Fixes #2254. * test(vue-form): assert real hydration, not just matching ids The server/client case compared SSR html against a fresh client render, which never exercises hydration itself. Mount the server markup with `createSSRApp().mount()` and assert Vue raises no hydration mismatch.
by Harshit
H
Previous
Next