You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
VS Code open action fails with missing external.openInApp procedure #5903
I investigated this against main and was unable to reproduce a live failure, but I did pin down the exact mechanism behind the reported error. Sharing in case it helps confirm whether this is already fixed on the latest build.
What produces the error
No procedure found on path "external.openInApp" is thrown by tRPC when a call to external.openInApp is routed to a router that doesn't define that procedure. There are two distinct tRPC routers in play:
The desktop main-process router (createAppRouter) mounts external: createExternalRouter(), which does define openInApp.
The host-service router (@superset/host-service, used by workspaceTrpc) has no external sub-router at all.
I verified empirically that invoking external.openInApp on the host-service router reproduces the reported message exactly:
No procedure found on path "external,openInApp"
(the renderer link formats the same error with a dot: external.openInApp).
Why it doesn't reproduce on current main
The file-view "Open in editor" control in the upper-right (V2WorkspaceOpenInButton → V2OpenInMenuButton) calls electronTrpc.external.openInApp, which is bound to the main process (electronTrpc.Provider client={electronReactClient}) — where openInApp exists — and it's gated to local workspaces.
The error is consistent with a tRPC React context-shadowing misroute: electronTrpc uses React's default tRPC context, and if another createTRPCReact client bound to the host-service router provided over that same default context, electronTrpc's hooks would resolve against the host-service router (which lacks external), yielding this exact error.
On current main that can't happen: the three secondary clients that share the default context risk — chatServiceTrpc, chatRuntimeServiceTrpc, and workspaceTrpc — each now pass a dedicated React context, which packages/workspace-client/src/workspace-trpc.ts documents explicitly:
Dedicated context — the library default is shared across all createTRPCReact clients, letting this Provider shadow the desktop's electronTrpc hooks.
Conclusion
This looks like a Provider/context-shadowing bug that is already resolved relative to the reported 1.16.1, which is why I couldn't get a test to fail against main. Could you confirm whether the error still occurs on the latest build? If it does, the shape of the fix would be to ensure whichever client the "Open in" control resolves to is the main-process (electronTrpc) client — or to add an external router to the host-service if opening is meant to happen host-side for remote workspaces.
(Automated triage investigation — no code changes made.)
Activity
github-actions commentedon Jul 23, 2026
Triage findings
I investigated this against
mainand was unable to reproduce a live failure, but I did pin down the exact mechanism behind the reported error. Sharing in case it helps confirm whether this is already fixed on the latest build.What produces the error
No procedure found on path "external.openInApp"is thrown by tRPC when a call toexternal.openInAppis routed to a router that doesn't define that procedure. There are two distinct tRPC routers in play:createAppRouter) mountsexternal: createExternalRouter(), which does defineopenInApp.@superset/host-service, used byworkspaceTrpc) has noexternalsub-router at all.I verified empirically that invoking
external.openInAppon the host-service router reproduces the reported message exactly:(the renderer link formats the same error with a dot:
external.openInApp).Why it doesn't reproduce on current
mainThe file-view "Open in editor" control in the upper-right (
V2WorkspaceOpenInButton→V2OpenInMenuButton) callselectronTrpc.external.openInApp, which is bound to the main process (electronTrpc.Provider client={electronReactClient}) — whereopenInAppexists — and it's gated to local workspaces.The error is consistent with a tRPC React context-shadowing misroute:
electronTrpcuses React's default tRPC context, and if anothercreateTRPCReactclient bound to the host-service router provided over that same default context,electronTrpc's hooks would resolve against the host-service router (which lacksexternal), yielding this exact error.On current
mainthat can't happen: the three secondary clients that share the default context risk —chatServiceTrpc,chatRuntimeServiceTrpc, andworkspaceTrpc— each now pass a dedicated React context, whichpackages/workspace-client/src/workspace-trpc.tsdocuments explicitly:Conclusion
This looks like a Provider/context-shadowing bug that is already resolved relative to the reported 1.16.1, which is why I couldn't get a test to fail against
main. Could you confirm whether the error still occurs on the latest build? If it does, the shape of the fix would be to ensure whichever client the "Open in" control resolves to is the main-process (electronTrpc) client — or to add anexternalrouter to the host-service if opening is meant to happen host-side for remote workspaces.(Automated triage investigation — no code changes made.)
Kitenite commentedon Jul 28, 2026
Duplicate of #5893, same external.openInApp regression. We merged both into one ticket in our tracker (SUPER-1598).