Page MenuHomePhabricator

Chinese variants issue w/ Top Read?
Open, MediumPublicBUG REPORT

Description

Reported by Cooltey: Has en and zh-tw. In today's explore feed both show Top Read, but when scrolling down to prior days only English is shown.

Event Timeline

FYI: I also tested the issue with language ja with en, and the ja Top read also shows only once, so maybe it is not a Chinese language variants specific issue.

I haven't been able to reproduce so far. I've been testing with both en and zh-tw and ja, on a fresh install of Testflight 6.8.1 (1813). I notice the Explore feed does continue to fetch previous when you scroll down to the bottom, and if you come back after several days it does not fetch intervening days, which is the opposite of how we originally thought this worked.

I tested by setting the device to a date in the past, scrolling through the feed and confirming I see Top Read for both languages, and at the bottom upon fetching previous days I continue to see Top Read cards for both. Then I changed the device date to a current date, wait for the Explore feed to refreesh by either pulling to refresh or terminating and relaunching, and confirming I see Top Read cards for both on the current date. I can hide Top Read if I turn it off for zh-tw or ja in the Explore feed settings, which is expected. Maybe this is more of an edge case bug where that setting is somehow getting toggled when it shouldn't be.

I also tried testing via an upgrade from 6.7.4 to 6.8.0 (where a zh language preference upgrades to the more specific zh-tw language preference), and tried adding zh-tw as a preference a week after a fresh install. In this case Chinese cards aren't shown at all during the window of time where we've already fetched in the past, but it will populate and show again if we scroll so far down that it has to fetch en as well.

@cooltey are you still seeing this bug on your device? If so, can you check the Explore feed settings and see if Top Read is turned off for these languages? Also, can you let me know what language and region you have set up in device settings (General > Language and Region)?

Following up with some weirdness I did see, to document possible improvements we can make in the future:

Test steps

  1. Set your device date to a week in the past, and languages to be en and zh-tw.
  2. Fresh install app, click through onboarding which should show that it automatically chose EN and Chinese Traditional (Taiwan) as app languages
  3. Scroll through explore feed, all cards should appear. Scroll further past the bottom of the page for subsequent pages to be fetched and populated
  4. Terminate app, change device date to today, relaunch app
  5. Notice Explore feed updates, Today data is fully populated, keep scrolling.
  6. Weirdness: "Yesterday" date is only partially updated. It has a "EN" In the news card and a "Enable notifications" card, after that it jumps to a week ago's data.

Test steps:

  1. Set your device date to a week in the past, and languages to be en.
  2. Fresh install app, click through onboarding which should show that it automatically chose EN as app language
  3. Scroll through explore feed, all cards should appear. Scroll further past the bottom of the page for subsequent pages to be fetched and populated
  4. Background app, change device date to today, return to app
  5. Go to app languages and add Chinese Traditional (Taiwan) as a language
  6. Return to Explore feed and pull to refresh. Explore feed updates and Today data is fully populated, keep scrolling.
  7. Today and Yesterday will (partially, due to weirdness above) get populated, then it shows a week ago's data.
  8. Weirdness: A week ago's data shows only EN cards, so it seems like we don't backfill and intersperse Chinese Traditional (Taiwan) results in this window.
  9. Continue scrolling, once you reach the bottom of the scroll feed new fetches occur, and Chinese Traditional (Taiwan) is interspersed again in this new fetch of the past.

I haven't been able to reproduce so far. I've been testing with both en and zh-tw and ja, on a fresh install of Testflight 6.8.1 (1813). I notice the Explore feed does continue to fetch previous when you scroll down to the bottom, and if you come back after several days it does not fetch intervening days, which is the opposite of how we originally thought this worked.

I tested by setting the device to a date in the past, scrolling through the feed and confirming I see Top Read for both languages, and at the bottom upon fetching previous days I continue to see Top Read cards for both. Then I changed the device date to a current date, wait for the Explore feed to refreesh by either pulling to refresh or terminating and relaunching, and confirming I see Top Read cards for both on the current date. I can hide Top Read if I turn it off for zh-tw or ja in the Explore feed settings, which is expected. Maybe this is more of an edge case bug where that setting is somehow getting toggled when it shouldn't be.

I also tried testing via an upgrade from 6.7.4 to 6.8.0 (where a zh language preference upgrades to the more specific zh-tw language preference), and tried adding zh-tw as a preference a week after a fresh install. In this case Chinese cards aren't shown at all during the window of time where we've already fetched in the past, but it will populate and show again if we scroll so far down that it has to fetch en as well.

@cooltey are you still seeing this bug on your device? If so, can you check the Explore feed settings and see if Top Read is turned off for these languages? Also, can you let me know what language and region you have set up in device settings (General > Language and Region)?

I am still seeing the bug on my device (iPad) and my wife's iPhone. The current settings are the following:

  1. iPad language: English
  2. iPad preferred language order: English -> Chines, Traditional (Taiwan)
  3. Wikipedia App languages: Traditional Chinese (Taiwan) -> English

For "today", I can see both zh-tw and en cards, but when scrolling down to "yesterday" or older dates, almost all en related cards are gone.

IMG_0224.PNG (2×1 px, 3 MB)

But when scrolling to further older dates like April 29th, the en related cards show up again, which probably is the same issue you were seeing in the above comment.

@cooltey thanks! That's helpful. Does your Explore feed preferences show anything about Top Read only being enabled for one of the languages?

IMG_0024.PNG (2×1 px, 526 KB)

I was able to sortof repro this bug with these steps:

  1. Set device date to a week ago. Fresh install app.
  2. In onboarding, set language preferences to zh-tw only (i.e. remove English if it shows there).
  3. Top Read should show in Explore feed for zh-tw. Go to Explore settings and toggle off "Top Read", alternatively you could select the 3 vertical dots icon on the Top Read card and choose "Hide all Top Read cards".
  4. Background the app. Change device date to current day. Foreground the app. Go to App Language settings and add EN as a secondary language. Pull to refresh on Explore feed to make sure it's updated.
  5. Weirdness: en starts to show in Explore feed, including en top read cards. zh-tw cards still don't show Top Read cards.

I'm not sure if this is exactly the bug, but it's the closest I've come so far. The user has to explicitly turn off "Top Read" cards at some point though then add en later, so maybe this isn't the source.

Hi @Tsevener

@cooltey thanks! That's helpful. Does your Explore feed preferences show anything about Top Read only being enabled for one of the languages?

Here's the screenshot from my iPad, and I believe I haven't changed any feed-related settings before.

File_000.png (2×1 px, 291 KB)

Tsevener subscribed.
This comment was removed by Shizhao.
Aklapper changed the subtype of this task from "Task" to "Bug Report".Feb 17 2023, 8:26 AM