Page MenuHomePhabricator

"Longest streak" in Special:Homepage should allow local time zone
Open, Needs TriagePublicFeature

Description

Feature summary:

https://en.wikipedia.org/wiki/Special:Homepage has a "Longest streak" field with an explanation on "i" saying "This is the highest number of days in a row that you made at least one edit."

The days appear to be based on UTC at the English Wikipedia where it's the default time zone. I suggest an ability for users to also see a longest streak based on their time zone preference.

Use case(s)

A user at https://en.wikipedia.org/w/index.php?title=Wikipedia:Help_desk&oldid=1273049432#Why_did_my_editing_streak_break%3F was disappointed that their streak broke when they edited daily in their own time zone. "i" at https://en.wikipedia.org/wiki/Special:Impact/Daphne_Morrow currently says the streak ended Jan 23, 2025. That was in a 29-hour gap between edits at 19:13 and 00:40 UTC: https://en.wikipedia.org/w/index.php?title=Special:Contributions/Daphne_Morrow&target=Daphne+Morrow&offset=20250126&limit=2.

Benefits:
Encourage user participation and don't disappoint or confuse users who care about their streaks.

Everybody can see "Longest streak" at https://en.wikipedia.org/wiki/Special:Impact/Daphne_Morrow. The local time zone should not be revealed for privacy reasons so it would require showing something different to the user and others. Maybe a toggle for the user to switch between UTC and local time.

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald Transcript

Thank you for filling the task! Unfortunately, this request is more challenging than it might look like. We originally used the user's time zone preference to render the Impact module. We moved away from that in 2023, because we discovered it leads to a security vulnerability. Specifically, the Impact module is considered public data: we allow anyone to view anyone's impact by going to Special:Impact/Username. Because of the publicity, accounting for the user's timezone would make the user's timezone public knowledge. This is potentially risky, especially at smaller wikis. More details about the vulnerability caused by this feature can be found at T328643: CVE-2023-29137: GrowthExperiments: UserImpactHandler returns timezone preference data for arbitrary users. As a solution for that vulnerability, we decided to base the computation on the wiki's timezone (which is public by definition), rather than on the user's timezone.

If we were to implement this, we would need to address the infoleak risk somehow. Potential solutions include:

  • making the Impact module private only to the user themselves,
  • making the public version use the wiki's offset, but the Homepage one the user's offset,
  • using the wiki's timezone by default, but allowing users to opt-in into using their own timezone (provided they agree to publishing their own timezone to the public)

None of those options appears to be particularly easy: making the module private entails removal of functionality, using different timezone based on usage is fairly confusing and the agree to release would presumably need Legal approval (and might not even be a choice to begin with).

In practice, this is only a problem on wikis where the local timezone regularly doesn't match the editors' actual timezone. For example, most of Czech Wikipedia editors are Czech, and the wiki is in the Europe/Prague timezone, so for most users, the streaks would be calculated using the expected day. However, for eg. the English Wikipedia, there is no "right" timezone; so the wiki is put into the UTC timezone, which in turn causes issues like this one.

@KStoller-WMF I'm curious about your thoughts on this one. My recommendation would be to decline it (considering the difficulty and riskiness involved when working with private data), but I understand the confusion that UTC-based streaks can cause on large wikis. Maybe we should make it more clear rather than changing how the streaks are computed?

Moving to Needs Discussion pending a decision.

@PrimeHunter - thanks for creating this task. I can see how this could be frustrating and confusing for editors who encounter this.

And thanks, @Urbanecm_WMF for the explanation as to why this task is a larger effort (and the associated privacy implications).

Since this is a real user problem, I don’t want to decline the task. However, this is the first complaint I’ve heard about it, and clearly there’s no straightforward solution. For now, I’m moving this to Triaged with the assumption that we won’t address it unless we revisit the Impact module in the future.