Page MenuHomePhabricator

Provide users with a way to update their Library Bundle eligibility
Open, Needs TriagePublic

Description

We update users Library Bundle eligibility in two ways: on login, and once per day. This results in most users eligibility being accurate. However, there are cases where a user logs in to the platform while not being eligible, but then becomes eligible, which leave them confused - we still say they're blocked, when they've just been unblocked, for example. We don't currently provide users any feedback about why their eligibility might not be up to date, or what they can do to refresh it.

We could provide users with a Refresh button on the homepage, in the Library Bundle box, which would enable them to trigger a bundle eligibility update from OAuth. This would need to be rate limited to avoid a user triggering too many backend data updates.

We discussed also providing further explanatory text, but concluded that having a refresh button should be sufficient. If the eligibility isn't up-to-date, users can simply refresh to update it; further text would be redundant.

Original task description
Follow up from report at https://meta.wikimedia.org/w/index.php?title=User_talk:Xaosflux&oldid=20181194#Side_affects_of_blocks

Observed behavior:
When a user is blocked on a WMF project and attempts to access the library, they are refused per current configuration.

However, if their block is resolved, the library continues to reject their access. This may be resolved by the user creating a new session by logging out and logging back in - possible bad caching in this application.

Expected behavior:
Users without active blocks should not be denied access - the application should always validate current status.

Event Timeline

Xaosflux created this task.Jun 17 2020, 3:55 PM

Checking a user's eligiblity requires a moderate amount of backend traffic, so right now we do it on login + some parts as a a scheduled task. I think the biggest issue is that we aren't giving the editor enough information about how the checks work. Even adding a brief note such as "Eligibility checked at login" might improve things. We talked through various options such as displaying timestamps for the eligibility info or adding a "re-fetch" button, but they all had their own downsides.

This should only be a problem in a limited range of cases, because in addition to login we should also be updating eligibility every day. Because of this, eligibility due to blocks should only be an issue when someone gets unblocked and immediately (within 24h) wants to access the Library Bundle, and they still have a logged in session.

I just went to check that, however, and it looks like that Cron job (https://github.com/WikipediaLibrary/TWLight/blob/master/TWLight/crons.py#L45) isn't running. I looked through the platform cron log and there are no entries for user_update_eligibility. Is that accurate @jsn.sherman, or am I missing something?

Samwalton9 renamed this task from Wikipedia Library reports unblocked users as still blocked to Provide users with a way to update their Library Bundle eligibility.Jun 18 2020, 8:56 AM
Samwalton9 updated the task description. (Show Details)

Deployed and verified that the related scheduled tasks are running correctly.

Samwalton9 updated the task description. (Show Details)Jun 22 2020, 11:46 AM