-
Notifications
You must be signed in to change notification settings - Fork 258
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Mirador fails to load Manifests with layers #3888
Comments
I believe I stumbled upon this before but I failed to create an issue, so thank you for doing that! As far as I remember, this is not an issue that was introduced with the MUI 5 or React 18 changes. I can't reproduce the issue every time consistently; it seems to be caused by race conditions. In certain circumstances, the mirador/src/lib/CanvasWorld.js Line 166 in 593e81b
mirador/src/lib/CanvasWorld.js Line 186 in 593e81b
|
I think I have found two possible sources for race conditions. The first one has a lot more impact because it depends on network connections. Image info responses that are added to viewer vs. number of image resources on the canvas according to the manifest The mirador/src/containers/OpenSeadragonViewer.js Lines 34 to 37 in 593e81b
On the other hand, the mirador/src/lib/CanvasWorld.js Lines 157 to 158 in 593e81b
uses the images resources as they are found in the manifest: mirador/src/lib/MiradorCanvas.js Lines 68 to 82 in 593e81b
I'm not sure what a quick fix would look like. setTimeout() in OSD code I believe there is another possible source for race conditions in how OSD itself handles the addition of tilesources to the mirador/src/components/OpenSeadragonViewer.js Lines 188 to 191 in 593e81b
OSD's In this I'm not sure if the resolution of all promises is sufficient or if there might still be asynchronous code running to add those items. Both issues seem neither easy to debug nor to resolve. |
Hi @regisrob 👋 based on the findings @lutzhelm has shared above, it appears that the issue you identified has been present for some time, and deeply-seated at that, from before the I'm going to update the title of this issue, "Mirador fails to load Manifests with layers on mui5-react-18 branch," to remove the name of the branch specifically since it is not related to it, but also keep it open in the hope that progress can be made. Apart from this, did you find any other bugs in the |
👋 @enriquediaz thanks for that, and thanks @lutzhelm for the investigation on this bug (which I never noticed before with previous versions of Mirador 3). This one looks a bit tricky... I did not find any other bugs in the |
openseadragon/openseadragon#2457 seems to be related, but I'd assume that the cause is rather in Mirador than in OpenSeadragon. |
That's my issue. It is caused by Mirador. I have had this error in the console for several years in Mirador 3. I previously thought it was an OSD issue (mistakenly). |
Testing the mui5-react-18 branch, I notice that Manifests with layers make Mirador crash.
It fails with all the Manifests in the
layers.html
demo, for instance this one: https://dvp.prtd.app/hamilton/manifest.jsonThis Manifest in the default
index.html
demo also fails with same error. To reproduce the bug, open the Biblissima ManifestManuscrit reconstitué : Châteauroux, Bibliothèque municipale, ms. 5 (Grandes Chroniques de France)
, open the Index panel, click on the first entry in the ToC ("f. 34r...").In both cases it raises this JS error:
The text was updated successfully, but these errors were encountered: