Page MenuHomePhabricator

Update `NYTPhotoViewer` framework to guard against deprecated frameworks
Open, MediumPublic

Description

Our fullscreen photo gallery and animated image support are powered by a fork of NYTPhotoViewer and its nested dependency FLAnimatedImage. FLAnimatedImage is no longer actively maintained, so as of NYTPhotoViewer 4.0.0 their team has replaced it with Pinterest's PINRemoteImage to resolve build issues they were encountering.

If PINRemoteImage supports our needs, we should update our version of NYTPhotoViewer and replace our use/internal extensions of FLAnimatedImage with PINRemoteImage to protect us against running into issues like the NYT team faced. Additionally, as @JoeWalsh suggested, may also be worth investigating if NYTPhotoViewer has addressed the issues we forked it for and if not try and PR our changes upstream.

This is not a critical task, but feels like it would fit naturally into the period of time when iOS 14 is available in beta/we evaluate minimum iOS requirements (currently the app's minimum deployment target is iOS 11.0).

Event Timeline

Dmantena raised the priority of this task from Low to Needs Triage.Dec 4 2020, 7:27 PM
Dmantena added a subscriber: Tsevener.

@Tsevener What do you think about pushing this to a future release?

@Dmantena that sounds fine to me - I think something to look out for is when NYTPhotoViewer supports SPM (there's a pull request out for it now). Then we could both update it and chip away at Carthage at the same time.

Been looking into this today. For posterity, the changes we've made to NYTPhotoViewer that we need to retain:

Changes we made, that we no longer need to retain (as they've been fixed upstream):

So it seems like that specific route to sharing animated GIFs is broken in the current live version of the app. Not going to worry about fixing it for now, as it is such a corner case. (Also it silently fails - a long press on an animated GIF does nothing, rather than having some bad outcome.)

Status bar visible should maybe be upstream. Looks like there is currently a PR for that: https://github.com/nytimes/NYTPhotoViewer/pull/336