laminlabs / laminhub-public

Collaborate on LaminDB instances.
https://lamin.ai
4 stars 0 forks source link

Vitessce button with a transferred artifact includes malformed URL #6

Open keller-mark opened 4 weeks ago

keller-mark commented 4 weeks ago

Report

In light of #1950 , I tried manually supplying a transferred artifact within save_vitessce_config (to bypass the lookup via Artifact.filter(uid__startswith=artifact_stem_uid).one_or_none()).

While this succeeds in generating a vitessce.config.json artifact and annotating the dataset artifact with a Vitessce button, the resulting Vitessce button links to a config in which the artifact URL is malformed (notice the undefined suffix):

https://lamin.ai/storage/s3/lamin-us-east-1/TwPtYAyQwlyO%2F/.lamindb/undefined

This of course causes the visualization to fail to render because the data fails to load from this malformed URL.

Note that, upstream, within laminhub, the URLs within the vitessce.config.json are different and do not appear malformed:

Screen Shot 2024-09-20 at 8 16 02 AM

The logic that transforms URLs between the creation of the vitessce.config.json file and the link attached to the Vitessce button remains opaque to me so I am unsure of the underlying issue. I am guessing that the URL transformation logic makes assumptions about the structure of the URL, and these assumptions are violated by passing the transferred artifact directly as the S3 path structure differs from freshly-generated artifacts.

Version information


session_info 1.0.0

Python 3.12.5 (main, Aug 14 2024, 05:07:52) [Clang 18.1.8 ] macOS-12.7.6-x86_64-i386-64bit

Session information updated at 2024-09-20 08:08