Page MenuHomePhabricator

Notifications - restore accordion effect for swipe actions
Open, LowPublicBUG REPORT

Description

Add in the accordion effect (that is, how the buttons appear slightly stacked as the user pans) that we see in our other list screens (Saved, History, etc.) for our new cell swipe implementation in Notifications Center.

See original request in https://phabricator.wikimedia.org/T288687#7749045.

Event Timeline

@cmadeo @OTichonova @JMinor

Here are our notes from engineering sync on this ticket. Tagging y'all for thoughts - also we're happy to discuss this more in task sync. Thanks!

We think the best path forward would be to implement iOS14+ list collection view cell swipe actions. There will be a bit of work to do but this best follows where Apple is moving (see modern collection views).

The good:
We will be using an OS-supported method here, guaranteeing that the buttons and animations will feel identical to swipe actions in other Apple apps. This will be a better experience than even our legacy custom swipe cells with the accordion/stacking effect.

The not-so-good:
This change involves changing over to at least a few APIs on Notifications Center that are only available in iOS14+ (using UICollectionLayoutListConfiguration, subclassing UICollectionViewListCell, using trailingSwipeActionsConfigurationProvider), enough change to make it too gross to support a fallback to iOS13. There will need to be a bigger lift on our legacy list screens with their manually sized cells. We should discuss when/if we should take on that work.

TL;DNR: Can we wait on this until we drop iOS13 support for this work, so that we can move to the newer iOS14+ cell swipe actions? If so, should we move the other list screens too, not just Notifications Center (for animation consistency)?

@Tsevener thank you so much for these updates. I'm okay with waiting until we drop iOS13, although I think it'd be great to maybe start a tag as a way for us to remember this work when the time comes? Perhaps we can talk about this in the team meeting tomorrow?