Uh oh!
There was an error while loading. Please reload this page.
feat(metadata-admin): surface flow expression problems in the Problems panel + canvas badges (#1934) - #1980
Merged
Merged
Conversation
…s panel + canvas badges (#1934) Build on the inline data-picker validation (#1975 / #1978) by feeding client-side expression issues into the unified flow-problems list (#1972), so they show as Problems-panel rows and on-canvas node/edge badges — discoverable at the flow level, not only when a node is open. - New pure `flow-expr-problems.ts`: scans every CEL surface (decision conditions + branch expressions, screen visibleWhen, loop collection, edge guards) for ADR-0032 brace / shape ERRORS (deterministic, scope-free) and scope-aware unknown-reference WARNINGS. The START node is skipped for the ref check — its entry condition references trigger-record fields bare, indistinguishable from a typo without the object schema (the inline check, which fetches it, still covers the start node). Template (`{var}`) values are left to the inline check. - buildFlowProblems merges them as a third source ('expression'); ProblemsPanel labels those rows "· expression". Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The latest updates on your projects. Learn more about Vercel for GitHub. |
Contributor
✅ Console Performance Budget
📦 Bundle Size Report
Size Limits
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for freeto join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Builds on the inline data-picker validation (#1975 / #1978) by feeding client-side expression issues into the unified flow-problems list (#1972) — so they appear as Problems-panel rows and on-canvas node/edge badges, discoverable at the flow level instead of only when a node is open.
What it scans
New pure
flow-expr-problems.tswalks every CEL surface in the draft:visibleWhen, loop collection, and edge guards;The start node is skipped for the ref check: its entry condition references the trigger record's fields bare (
status), which can't be told from a typo without the object schema (an async fetch this pure pass avoids). The inline inspector check — which does fetch — still covers the start node. Template ({var}) values are left to the inline check (single braces are legal there).buildFlowProblemsmerges these as a third source ('expression');ProblemsPanellabels the rows "· expression"; the existing canvas badge/reveal path renders them unchanged.Tests / verification
flow-expr-problems.test.ts(6): brace error on a branch (node target), unknown ref on a downstream condition (warning + suggestion), start-node bare fields not flagged, edge-guard brace error (edge target), default-edge/empty skipped, clean flow → none.flow-problems.test.tsstill green (the existing structural/server cases are unaffected). Fullmetadata-adminsuite green (489),pnpm build(tsc) clean. Badge/panel rendering reuses the proven feat(studio): on-canvas validation badges + Problems panel for the flow builder #1972 path; this PR only adds correctly-targeted entries to the sameFlowProblem[].🤖 Generated with Claude Code