User story
As a logged-in editor of Wikipedia, I want to see my edits represented within my timeline, so that the timeline is a more comprehensive summary of my recent activity, reading and editing.
Requirements
- Add edits into the timeline at the bottom of the Activity tab
- Each edit includes a “View changes” leads to diff of your edit
- Tapping on the article title should also lead you to the diff of your edit
- Edits should be in chronological order, intermixed with articles read and saved
- Edits should only be included in the timeline for logged-in users (temp accounts are treated like logged-out users)
- It's acceptable to only have the past 500 edits represented in the timeline
- No swipe option on edit items
- No longpress option on edit 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.
Designs
Reference
Android implementation: T399767
Engineering notes
- Cleanup: Create a UserContributionsDataController, have it make the same call that YearInReviewEditCountSlideDataController does. Ask YearInReviewEditCountSlideDataController and YearInReviewDonateCountSlideDataController to fetch the data from UserContributionsDataController instead of making the call itself. Allow call to be made without a start/end date and with a maxlimit of 500.
- Add a method in ActivityTabDataController that calls UserContributionsDataController to fetch the user’s last 500 article edits. (only first page). Keep track of article URL, revID, pageID, and parentID. Those will be needed to navigate to diff view when view changes is tapped.
- Integrate edited items into the timeline data / bucketing from T407009, so that they appear under the correct day.
- Ensure the correct edited icon appears as the left-side icon, ensure "View changes" badge also shows.
- Ensure no swipe options or long press preview occurs on edited items.
- Upon tapping edited row, navigate to diff screen. Easiest might be to create a deep link diff URL using article URL, revID, parentID from the data-side, then using our legacy navigate(to: url) method from ActivityTabViewController.
Testing notes
Functionality available in TestFlight 7.8.11 (latest build).