Can we access your project?
Current Behavior
Component: FlutterFlow AI workspace SDK / CLI (flutterflow_ai 0.0.39, build fd345c8d), preflight lint R10 in lib/src/pipeline/wiring_review.dart, _checkListWiring, ~lines 203–205.
R10 ("List has a backend query but no child widget binds to list item data", severity critical → blocks the pipeline, no bypass flag) decides whether a query-backed ListView/GridView child binds to list-item data by grepping the child's describeNode proto dump for the literal strings generatorVariable, generatorVar, or GENERATOR_VARIABLE.
FlutterFlow Desktop's own visual-builder authoring does not produce any of those. When you bind a list child's params to the current item in the builder, it emits FFVariable(source: FIRESTORE_REQUEST, operations: [accessDocumentField(...)], nodeKeyRef: <list node key>) — no FFGeneratorVariable on the list node, no GENERATOR_VARIABLE source anywhere. The same pattern appears in long-standing, working pages of this project.
Result: any page whose query-backed list uses this (builder-native) pattern permanently fails R10 — but only when touched, since preflight scopes to touched entities. The page is correctly wired and renders fine; the block is purely the client-side lint.
Attempting to satisfy R10 from the DSL side by grafting FFGeneratorVariable onto the existing list node + GENERATOR_VARIABLE param bindings fails server-side validation ("Dynamic children variable not properly configured for ListView" / "parameter ... not set properly") — the lint and the server accept disjoint shapes for brownfield lists, so there is no script-side workaround.
Expected Behavior
R10 should recognize FIRESTORE_REQUEST-sourced child bindings whose nodeKeyRef targets the query-backed list node as valid list-item wiring (it is the shape FF Desktop itself authors), or downgrade to warning.
Suggested minimal fix:
--- a/lib/src/pipeline/wiring_review.dart
+++ b/lib/src/pipeline/wiring_review.dart
@@ -202,7 +202,8 @@
.join('\n');
if (!childDescs.contains('generatorVariable') &&
!childDescs.contains('generatorVar') &&
- !childDescs.contains('GENERATOR_VARIABLE')) {
+ !childDescs.contains('GENERATOR_VARIABLE') &&
+ !childDescs.contains('FIRESTORE_REQUEST')) {
warnings.add(
(A stricter fix would match FIRESTORE_REQUEST variables whose nodeKeyRef equals the list node key, rather than a bare substring check.)
Steps to Reproduce
- Have a page with a ListView backed by a Firestore query, whose child widget (e.g. a component instance) binds params to the current list item via the FF Desktop visual builder (FIRESTORE_REQUEST + nodeKeyRef pattern).
- Author any DSL edit touching that page (even an unrelated one-line patch) and run
flutterflow ai run / flutterflow ai validate.
- Preflight fails:
Preflight failed: <Page> — List has a backend query but no child widget binds to list item data
Note: not reproducible from a blank project as such — it requires a page whose list-item bindings were authored in the FF Desktop visual builder (the pattern above), then any CLI edit touching that page.
Reproducible from Blank
Bug Report Code (Required)
N/A — CLI/SDK preflight bug (flutterflow_ai 0.0.39), not a widget/editor bug; no widget tree involved. Failing CLI run ID: 2026-07-21T02-02-30-318-fev0qz, project easy-care-5a4dwj.
Visual documentation
CLI-only bug — no UI to screenshot. Exact terminal output from the failing run:
Preflight failed: NamedParentpaymentsStructurePage — List has a backend query but no child widget binds to list item data
Failing run ID: 2026-07-21T02-02-30-318-fev0qz (project easy-care-5a4dwj) — full trace available via flutterflow ai support bundle on request.
Environment
- flutterflow_ai SDK / CLI: 0.0.39 (build fd345c8d), env prod
- Workspace: FlutterFlow AI DSL workspace (`flutterflow ai` CLI / MCP)
- Platform: macOS (Apple Silicon), zsh
- Project: easy-care-5a4dwj, branch main
- FF Desktop used to author the affected page's original bindings
Additional Information
Impact: every FlutterFlow AI / MCP user editing a page that was originally authored in the FF Desktop builder and contains a query-backed list is hard-blocked from pushing ANY edit to that page (preflight has no bypass flag). We hit this while shipping a payments fix; the only workaround was hand-patching the vendored SDK's wiring_review.dart for a single push and reverting.
Permission granted to access project easy-care-5a4dwj to investigate.
Can we access your project?
Current Behavior
Component: FlutterFlow AI workspace SDK / CLI (
flutterflow_ai0.0.39, buildfd345c8d), preflight lint R10 inlib/src/pipeline/wiring_review.dart,_checkListWiring, ~lines 203–205.R10 ("List has a backend query but no child widget binds to list item data", severity
critical→ blocks the pipeline, no bypass flag) decides whether a query-backed ListView/GridView child binds to list-item data by grepping the child'sdescribeNodeproto dump for the literal stringsgeneratorVariable,generatorVar, orGENERATOR_VARIABLE.FlutterFlow Desktop's own visual-builder authoring does not produce any of those. When you bind a list child's params to the current item in the builder, it emits
FFVariable(source: FIRESTORE_REQUEST, operations: [accessDocumentField(...)], nodeKeyRef: <list node key>)— noFFGeneratorVariableon the list node, noGENERATOR_VARIABLEsource anywhere. The same pattern appears in long-standing, working pages of this project.Result: any page whose query-backed list uses this (builder-native) pattern permanently fails R10 — but only when touched, since preflight scopes to touched entities. The page is correctly wired and renders fine; the block is purely the client-side lint.
Attempting to satisfy R10 from the DSL side by grafting
FFGeneratorVariableonto the existing list node +GENERATOR_VARIABLEparam bindings fails server-side validation ("Dynamic children variable not properly configured for ListView" / "parameter ... not set properly") — the lint and the server accept disjoint shapes for brownfield lists, so there is no script-side workaround.Expected Behavior
R10 should recognize FIRESTORE_REQUEST-sourced child bindings whose
nodeKeyReftargets the query-backed list node as valid list-item wiring (it is the shape FF Desktop itself authors), or downgrade towarning.Suggested minimal fix:
(A stricter fix would match FIRESTORE_REQUEST variables whose
nodeKeyRefequals the list node key, rather than a bare substring check.)Steps to Reproduce
flutterflow ai run/flutterflow ai validate.Preflight failed: <Page> — List has a backend query but no child widget binds to list item dataNote: not reproducible from a blank project as such — it requires a page whose list-item bindings were authored in the FF Desktop visual builder (the pattern above), then any CLI edit touching that page.
Reproducible from Blank
Bug Report Code (Required)
N/A — CLI/SDK preflight bug (flutterflow_ai 0.0.39), not a widget/editor bug; no widget tree involved. Failing CLI run ID: 2026-07-21T02-02-30-318-fev0qz, project easy-care-5a4dwj.
Visual documentation
CLI-only bug — no UI to screenshot. Exact terminal output from the failing run:
Failing run ID:
2026-07-21T02-02-30-318-fev0qz(projecteasy-care-5a4dwj) — full trace available viaflutterflow ai support bundleon request.Environment
Additional Information
Impact: every FlutterFlow AI / MCP user editing a page that was originally authored in the FF Desktop builder and contains a query-backed list is hard-blocked from pushing ANY edit to that page (preflight has no bypass flag). We hit this while shipping a payments fix; the only workaround was hand-patching the vendored SDK's
wiring_review.dartfor a single push and reverting.Permission granted to access project
easy-care-5a4dwjto investigate.