Page MenuHomePhabricator

[L] Activity tab (user story): Timeline of articles viewed
Closed, ResolvedPublic

Description

User story

As a logged-in reader of Wikipedia, I want to see a timeline of my recent reading behavior so that I retain access to reading "history", and have the ability to see my entire article history with Wikipedia in one place.

NOTE: This is replacing "History" for users, please ensure no local data is lost when folks transfer over
Requirements
  • ✅ When a user taps their articles read insight at the top, navigate them to Timeline
  • ✅ At the bottom of the activity tab display a timeline of users reading history in order by day and time with the most recent day at the top
  • ✅ Show to logged-in and logged-out users. Prompt to log-in for logged-out users will be built on separate task (T407010)
  • ✅ Tapping on an article that you've viewed takes you to that article
  • ✅ There should be sections within the timeline by day
    • Show headers for Today and Yesterday with sub-headers of the Month, Day and Year in local format
    • For all dates previously, show the header with the Month, Day, and Year in local format
    • Sections on timeline do not need be pinned to stay in view
  • Timeline can load as user scrolls to optimize for performance
    • It's acceptable to only have the most recent 1000 entries represented in the timeline
    • Show a loading spinner if it takes more than .5 seconds to load the timeline
  • ✅ If someone navigates to one of the articles from the timeline and then "Back' to Activity, it should immediately be reflected in the timeline for that day (it does not get removed from the previous day)
    • ✅ Articles should only be listed once per day if there are repeat visits on the same day
    • ✅ Articles can appear repeated on multiple days if they were visited on multiple days
  • ✅ Similar to history, this timeline should never clear out automatically.
  • On the backend, we should continue to record their entire reading history locally on device (not limited to 1000 most recent items)
  • ✅Users can swipe to delete an item from their viewing history.
  • Empty state is being built on a separate story: T409200

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:

Designs

https://www.figma.com/design/2ShBsmgWuzsDAeTafyKzg6/App---%3E-Activity-Tab?node-id=355-1631&t=oLmEycZgBYD4WSQE-4

Reference

Android implementation: T399767

Engineering notes

(Moved into Eng subtasks)

Testing notes

Testable in latest TestFlight 7.8.6 (white icon) build.
Use developer settings "Show Activity Tab" toggle to activate

Related Objects

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes
HNordeenWMF renamed this task from [XL] Activity tab (user story): Timeline of Behavior to [XL] Activity tab (user story): Timeline of articles viewed.Nov 7 2025, 10:14 PM
HNordeenWMF updated the task description. (Show Details)
Tsevener renamed this task from [XL] Activity tab (user story): Timeline of articles viewed to Activity tab (user story): Timeline of articles viewed.Nov 10 2025, 2:15 PM
Tsevener updated the task description. (Show Details)

Since this task changed to a smaller user story, I am going to close the engineering subtasks and create new ones if needed.

Tsevener renamed this task from Activity tab (user story): Timeline of articles viewed to [L] Activity tab (user story): Timeline of articles viewed.Nov 10 2025, 6:26 PM
Tsevener updated the task description. (Show Details)
Tsevener updated the task description. (Show Details)

(Post-eng-sync) Sorry, I now realize I want to keep most subtasks. I will update their descriptions and add the new point value from eng sync.

@Tsevener I added a new requirements so we don't forget to hook up "articles read" module to Timeline once Timeline is built

  • When a user taps their articles read insight at the top, navigate them to Timeline

Blocked while subtasks are completed. Move to Design signoff once all subtasks are done.

@Tsevener @GOlson-WMF this looks good, but i'm wondering whether the fixes might have skewed the spacing at the very top of the activity tab, above "Today," separating it from the above module — it used to be at 32px, which was correct, but now it looks closer to 16px. can we return it to 32px?

ABorbaWMF subscribed.

Working for me on 7.8.7 (5896). Tested on iPhone 16 on iOS 26, iPad Pro on iPadOS 26, and iPhone 11 on iOS 18.

  • When a user taps their articles read insight at the top, navigate them to Timeline

This is not quite as I expected, filed a task for us to fix this later but it's not a blocker: T412046: Improve navigation of Articles read > Timeline

@GOlson-WMF
Must fix: Dates in timeline are not localized according to requirement

Show headers for Today and Yesterday with sub-headers of the Month, Day and Year in local format

With a region of Austria, Language of German - the dates in the app show up like this "8.Dezember"

IMG_0424.PNG (1,179×2,556 px, 639 KB)

In the activity tab, I am still seeing the American format
IMG_0425.PNG (1,179×2,556 px, 250 KB)

@Tsevener I'm not able to confirm - did you ensure that our only displaying 1000 entries did not have any negative effects on the backend for history? It is still storing more than 1000 entries for Year in Review, etc correct?

@HNordeenWMF

I'm not able to confirm - did you ensure that our only displaying 1000 entries did not have any negative effects on the backend for history? It is still storing more than 1000 entries for Year in Review, etc correct?

Correct (More details discussed via Slack)