User story
As a logged-in reader of Wikipedia, I want to see my saved articles represented within my timeline, so that the timeline is a more comprehensive summary of my recent activity
Requirements
- ✅ Add articles saved into the timeline at the bottom of the Activity tab
- ✅ Add icons that differentiate saved articles from viewed articles
- ✅ Saved articles should only be included in the timeline for logged-in users (should be done in T407010)
- ✅ Saved articles show up under the day that they were saved, in chronological order, intermixed with articles viewed
- ✅ Tapping on an article that you've saved takes you to that article
- ✅ Saved items should clear from the timeline if they delete the article from their saved, or reading list, or if the "Erase saved articles" in Settings
- ✅ No swipe action offered on saved article items
Boilerplate requirements
- Should lay out well with long translations. Truncate, wrap text, or scroll where necessary.
- Should change colors according to multiple themes
- Should navigate easily and have understandable accessibility labels for Voice Over
- Should lay out well on larger font sizes. Truncate, wrap text, or scroll where necessary.
Nice to have:
- Long-press preview on items in Timeline with Open, Save for later, and Share (same as current "History" longpress)
Designs
Reference
Android implementation: T399767
Engineering notes
- Add a method in ActivityTabDataController to fetch saved articles from SavedArticlesDataController created in https://phabricator.wikimedia.org/T407013. Use a fetch limit of 1,000. Integrate them into the timeline data / bucketing from T407009, so that they appear under the correct day.
- Ensure activity tab data refreshes when coming back to it after visiting an article. If we set up all of our view model @Published properties properly, we should be able to retain scroll position and have a new item smoothly animate into the timeline. A good test case here is to visit a *viewed* article from the timeline > tap the saved icon in the bottom article toolbar > go back. A new saved timeline item should appear in the timeline.
- Ensure the correct saved icon appears as the left-side icon.
- Ensure no swipe options or long press preview occurs on saved items.
- Upon tapping saved row, ensure navigation to article view still occurs.
Testing Notes
These fixes are in the TestFlight Wikipedia app 7.8.7, starting in build 5894 (this can also be tested in a later build number).