Selecting a tab put its id in the URL and the preview still said "Select a tab to preview".
A plugin gets exactly two routes from the shell — /<route> and /<route>/:section — so :section is the
only param name that ever arrives, whatever the plugin means by it. This read :tabId, which was right
while it was a platform screen with its own /browser/:tabId route and stayed in place through the
extraction. The route matched, the id was in the URL, and useParams().tabId was undefined.
Nothing typechecks this: the param is a string key, and the wrong one is simply absent.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>