Page MenuHomePhabricator

[Bug] Page offline availability state is not handled correctly for pages in multiple reading lists
Closed, ResolvedPublic1 Estimated Story Points

Description

I've identified some bugs around pages added to multiple reading lists:

a) If a page is in two saved reading lists and then one of those lists is un-saved, the page content directory will be deleted and the page will not be available offline when accessed via the other list. (In fact, the other list will be no longer be indicated as "available offline" because it now contains an online-only page.)

b) When trying to view a page that should be saved but isn't as a result of (a) while offline, the DAO/savedpage service will enter an infinite loop where the savedpage service continually fires, finds an OUTDATED page, then fails to save it. Going online allows the background service to perform the save, breaking the loop.

Steps to repro

  1. Save a page to two or more reading lists, with both available offline.
  2. Un-save one list.
  3. Go offline, clear the cache, open the reading lists fragment, open the list that should still be saved, and navigate to the shared article.

Expected: Content is still available for reading offline.
Actual: Content is unavailable; logcat shows background savedpage service looping infinitely until connectivity is restored.

Event Timeline

Mholloway renamed this task from [Bug] Page offline availability state is not handled correctly for pages in multiple lists to [Bug] Page offline availability state is not handled correctly for pages in multiple reading lists.May 13 2016, 8:37 PM
Mholloway updated the task description. (Show Details)
Mholloway updated the task description. (Show Details)
MBinder_WMF set the point value for this task to 1.May 18 2016, 7:21 PM

Bumping this to high priority so it doesn't slip through the cracks, as saved page functionality is important and currently at least somewhat broken.

Mholloway lowered the priority of this task from High to Medium.Jul 19 2016, 2:11 PM
Mholloway updated the task description. (Show Details)

Faulty memory, apparently. This is still unfixed but there are a couple of other issues for which I'll write up separate tasks.

Dbrant claimed this task.

Closing, since we now handle offline state on a per-page basis.