Skip to content

fix(inspect): show function argument parsing errors - #455

Draft
SaKaNa-Y wants to merge 1 commit into
devframes:mainfrom
SaKaNa-Y:fix/inspect-json-feedback
Draft

SaKaNa-Y wants to merge 1 commit into
devframes:mainfrom
SaKaNa-Y:fix/inspect-json-feedback

Conversation

@SaKaNa-Y

@SaKaNa-Y SaKaNa-Y commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

Summary

In the Inspector's Functions tab, malformed JSON makes Invoke fail without a visible error. After a successful call, the previous green result remains without feedback about the failed attempt.

Display the parsing error below the arguments input and clear it when the input changes. Keep the previous result visible alongside the current error.

 on Invoke with invalid JSON
- throw from the UI handler without visible feedback
+ display an inline parsing error associated with the input

Evidence

  • Before: Enter { and click Invoke. No error appears, and any previous successful result remains.
    After: The panel shows Invalid JSON arguments: … alongside the previous result. Editing clears the error, and corrected arguments invoke successfully.
  • Two Storybook interaction cases passed for first invalid input, correction and retry, scalar argument coercion, and invalid input with a previous successful result. They also assert that malformed input does not dispatch an invocation.
  • Live Inspector checks passed for parsing feedback, recovery, server-validation errors, and keyboard invocation. Error feedback was inspected in light and dark themes.
  • All local gates passed: pnpm lint, pnpm knip, pnpm test, pnpm typecheck, and pnpm build. Tests: 1755 passed, 13 skipped.

Merge Danger

Door: two-way

The change can be reverted without a data migration or public API change.

Blast Radius: Inspector

The shared FunctionRow gains an optional error prop. Functions supplies it; Client keeps its existing behavior. Argument coercion, RPC result handling, and invocation restrictions remain unchanged.

@vercel

vercel Bot commented Oct 21, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated
devframe Skipped Skipped Oct 21, 2026 2:12pm UTC

@github-actions

Copy link
Copy Markdown

👁️‍🗨️ Review this pull request with grouped, summarized diffs at:
👉 https://pulls.review/gh/devframes/devframe/455?from=github-actions[bot]

raw result

💭 analyzed by vercel-ai-gateway/anthropic/claude-sonnet-5
🕰️ 2026-10-21 14:13 UTC
🔗 head 0ab2947
🤖 automated by pulls.review

{
  "headSha": "0ab29476ab699af58189f21985ce0c1738b630d9",
  "result": {
    "overallSummary": "Fixes a UX bug in the Inspector Functions tab where invalid JSON arguments failed silently: an inline error is now shown via `FeedbackTip`, cleared on input change, and invalid input no longer triggers an RPC call or hides a prior successful result. Storybook interaction tests cover the new behavior.",
    "groups": [
      {
        "key": "inspect-arg-parse-error",
        "label": "Inspector argument parse error",
        "summary": "Shows an inline `FeedbackTip` error when JSON argument parsing fails in the Inspector Functions tab, instead of silently doing nothing. The error clears as soon as the input changes, and a failed invoke no longer dispatches an RPC or overwrites a previous successful result.",
        "category": "ui",
        "filePaths": [
          "plugins/inspect/app/components/FunctionRow.vue",
          "plugins/inspect/app/components/FunctionsView.vue"
        ],
        "fileNotes": [
          {
            "path": "plugins/inspect/app/components/FunctionsView.vue",
            "text": "Previously `invoke` threw on bad JSON (uncaught); now it stores a per-function error message and returns early instead of emitting `invoke`."
          }
        ]
      },
      {
        "key": "stories",
        "label": "Storybook interaction tests",
        "summary": "Adds Storybook play-function tests covering invalid input, recovery after fixing the input, and invalid input entered after a prior successful call.",
        "category": "tests",
        "filePaths": [
          "plugins/inspect/app/components/FunctionsView.stories.ts"
        ]
      }
    ],
    "schemaVersion": 1,
    "source": "llm",
    "generatedAt": "2026-10-21T14:13:19.490Z",
    "model": "vercel-ai-gateway/anthropic/claude-sonnet-5",
    "locale": "en"
  }
}

This branch was previously deployed

1 inactive deployment
Preview — 0ab29476 Deployed Oct 21, 2026 by vercel[bot]
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.

1 participant