pelagios / recogito2

Semantic Annotation Without the Pointy Brackets
Apache License 2.0
153 stars 30 forks source link

Canvas failing to display loaded images #688

Closed docuracy closed 2 years ago

docuracy commented 3 years ago

We've noticed intermittent problems like that illustrated below, with pieces of the canvas image failing to display, despite seeming to have been loaded successfully from our Cantaloupe IIIF server. The problem is the same in both Chrome and Edge browsers, and on different devices and OSs. Can you think of any settings that we might need to adjust, please?

The problem occurs not only with images served from our own IIIF server but with those from other IIIF servers too - the third image below is served from http://hdl.handle.net/10107/1445608.

image image image

rsimon commented 3 years ago

I've seen this before occasionally. I still think it might have something to do with the settings in the info.json manifest (image size, tile size, zoom levels, or particular combinations thereof).

Root cause however is that we're using OpenLayers for display, along with a IIIF implementation that's no longer maintained by the developer. (I've patched some things myself. But can't keep track of everything.)

The bad news is: we're not going to fix it investigate these errors. I'm simply lacking the time and IIIF know how.

The longer term view is that we'll replace OpenLayers with OpenSeadragon in the future, which has the most complete and will maintained IIIF implementation of there. (Can't give an arrival date for this yet. We don't have all the drawing tools ported yet.)

docuracy commented 3 years ago

Odd, isn't it? The canvas is failing with any tiles that are not square (in this case 512px), and so it is impossible to view the bottom or right-hand edge of any image whose dimensions at respective zoom levels are not an exact multiple of 512px. But that doesn't explain why it appears to be an intermittent problem. Ho hum.

Thanks anyway for the explanation.

docuracy commented 3 years ago

SOLUTION: We've experienced this problem in Chrome and Edge browsers, but (for now at least) Firefox seems to be immune.

garrettdashnelson commented 3 years ago

Jumping on here to note that I've encountered this exact same problem, also loading IIIF from a Cantaloupe server. (e.g. https://collections.leventhalmap.org/search/commonwealth:z603vn07z/manifest.json).

I'm not familiar enough with Scala to debug, but I don't think it can exclusively be an OpenLayers issue. I use OL's native ol/source/IIIF class very regularly with this same image server, and I've never seen quite the same behavior of leaving some tiles off of the rendered OL canvas.

rsimon commented 2 years ago

Fixed in the main branch now