Repository navigation
feat(form-builder): add conditional fields, uploads and CSV exports - #355
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
@codex review |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 76bddf97d1
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Bundle size16 of 194 bundles changed.
Showing the 10 largest changes by absolute gzip bytes.
Measured 22 packed archives separately; full report includes their compressed bytes without installed dependencies. |
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 45a9873200
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review |
|
Codex Review: Didn't find any major issues. Breezy! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
Summary
Closes #338.
Adds the visual condition editor, standalone file palette/renderer support, and a separate authorized CSV export operation. The shared form converter preserves rules and validates hook replacement data before persistence. Cross-step fields use accumulated answers for visibility; numeric browser inputs are normalized before conditional validation while server number validation stays strict. Registry pages depend on the maintained shared
btst-auto-formandbtst-form-builder-uiitems, giving each form component one owner across Form Builder, CMS, Ecommerce and UI Builder installs.Evidence
After: 112 focused Form Builder unit/runtime tests pass, including regressions that fill and submit a required cross-step conditional field and submit typed numbers in a conditional single-page form. Two real Next.js Playwright flows pass on the corrected runtime. Coverage includes all operators, hidden required/stale values, nested fields, upload success/failure/retry, authorization, CSV quoting/formula protection, bounded export limits, and visual editing through save/reload.
The actual admin export action also returned HTTP 413 (
FORM_EXPORT_TOO_LARGE) for 20 public submissions with 1,201 distinct data columns, displayed the size-limit error, and triggered no file download. The report includes an inspected 10.5-second captioned demo and size-limit screenshot; this fixture exercises the column cap.Media is durably archived and verified, but requires the owner’s archive login plus LAN/private Tailscale access. The walkthrough uses an untracked local upload adapter supplied through
onUpload; uploaded bytes and downloaded CSV contents were verified.Validation: 112 focused Form Builder unit/runtime tests, five CMS nested-config compatibility tests, Form Builder and Components typechecks/builds, focused Biome check, regenerated registry and two registry ownership/source-closure tests pass. Both existing focused Next.js Chromium flows pass on the corrected runtime (3.3 seconds), covering submission, CSV download and visual editing through save/reload. The first browser attempt timed out during repeated development refreshes while a package build was running; the rerun passed after the build finished. Earlier validation includes 12 endpoint-inventory tests, a 390px overflow/keyboard check and the full docs production build on
4b7b385. No docs source changed in this runtime correction, so that build was not repeated. Full local suites and the all-plugin registry install matrix were not run; CI provides broad coverage.Merge Danger
Door: two-way
No database migration. Hidden answers are intentionally omitted from new submissions. Upload storage, file validation, access and cleanup belong to the adopter callback.
Blast Radius: Forms
Export has its own
forms:submission.exportgrant. Ownerless-form export requires an authenticated identity across the three generated framework examples. Source reads are paged; CSV assembly remains in memory within caps of 10,000 rows, 1,000 data columns, 1,000,000 data cells, and 10 MiB each for source and output. Oversized exports return HTTP 413 with a visible size-limit message. Shared AutoForm/registry source also serves CMS and Ecommerce consumers.