The following changes are needed in the lsst/suit code, probably all in SUIT.js:
- Obtain the appIcon property in a way which does not leave the loading of the icon relative to the page URL (which in the JL extension is generally something like https://lsst-lsp-int.ncsa.illinois.edu/nb/user/gpdf).
- Add to the findCorrectLSSTTapService function logic this reasoning: first look for "/portal", then, if that is not found, look for "/nb" (and then regardless of which one was found, use the URL up to that point as the base onto which to append the TAP_PATH.
- Display the base URL from which that reasoning was performed, i.e., the value of window.location.href, in the error message dialog. Text like "Could not infer the location of the TAP service for this LSP instance from the page URL (window.location.href)" would be reasonable.
- Check over the SUIT code for anything else that looks like it might break if loaded in the nested context of the JL Firefly extension. (I wonder about some of the import statements at the beginning of the file.)
Note that the issues addressed here affected the behavior of the Firefly JupyterLab extension, which is based on the slate endpoint, even though the TAP search screen is not even referenced at that endpoint.