artsy / emission

⚠️ Deprecated repo, moved to artsy/eigen ➡️ React Native Components
http://artsy.github.io/blog/2018/04/17/making-a-components-pod/
MIT License
618 stars 78 forks source link

[MX-166] handle images without deep zoom #2066

Closed ds300 closed 4 years ago

ds300 commented 4 years ago

https://artsyproduct.atlassian.net/browse/MX-166

To recap: the problem was that some images in our system don't have a deepZoom property for mysterious reasons. This was causing an uncaught error in the full screen carousel component which crashed the artwork page, showing the ol' White Screen Of Death 'retry' screen.

Working around this was complicated because what if an artwork with multiple images had just one of the images lacking deepZoom data? The full screen carousel lets you swipe between deepZoom images and is not set up to handle the deepZoom info not being present. So as a quick fix for this (seemingly very very rare) situation was as follows:

It ain't perfect (leads to us potentially not showing images a partner has uploaded) but it'll at least prevent WSOD situations.

I think the other quick-and-dirty fix would be to disable deep zoom if an artwork has at least one image lacking deepZoom info, but given how rare this is I'm not too bothered either way.

ashfurrow commented 4 years ago

Following up on the deeper (get it?) discussion, I think the approach you took makes sense. Given how rare this is, the slightly degraded UX is acceptable to me (and certainly much better than WSOD). Thanks for outlining the trade-offs 👍 #mergeongreen

artsyit commented 4 years ago

:rocket: PR was released in v1.21.30 :rocket: