Paperback-iOS / app

Repository to host app releases, issues, and feature requests for Paperback
https://paperback.moe/
664 stars 20 forks source link

[BUG] Trackers are not reliably notified of chapter read actions #737

Open IntermittentlyRupert opened 1 year ago

IntermittentlyRupert commented 1 year ago

Describe the bug Intermittently, the app will stop updating linked trackers when a chapter is finished. Force-closing and reopening the app fixes the issue.

This is not a tracker-specific bug - either all linked trackers process the action or none of them do. Debug logging in the tracker shows that the processChapterReadActionQueue method is never called by the app. There are no errors logged and there are no actions listed on the "View Action Queue" page in the tracker settings.

To Reproduce I don't have consistent reproduction steps, as the issue is intermittent. The typical scenario where I see the issue is:

  1. Foreground the app after it has been in the background for a long time (overnight or after several hours)
  2. Fetch updates in my library
  3. Read the newly released chapters

All the manga in my library are tracked with both the Anilist and MangaUpdates trackers.

Expected behaviour processChapterReadActionQueue should be called on each tracker when a chapter is finished.

App Version v0.8-r43

Screenshots n/a

IntermittentlyRupert commented 1 year ago

I'll keep an eye on this and see if I can narrow down better reproduction steps, since "sometimes it just happens after a while" isn't very useful.

IntermittentlyRupert commented 1 year ago

Just had the issue happen again - same scenario as the reproduction steps above.

In this case the app had been backgrounded for ~11 hours and iOS hadn't killed it (the app foregrounded on the search tab where I left it, and I didn't get the loading splash screen).

After reading a couple of chapters, I opened the manga progress management form for the Anilist tracker, which successfully loaded data for the manga. Once I'd done that, chapter read actions started getting processed correctly again.

The only errors in the app logs are due to thumbnails timing out (from LibraryCollectionController:loadImage():368, around the time I opened the app). Connecting the debugger via paperback-cli (after the first chapter read failed to update Anilist/MangaUpdates) shows no tracker activity until I opened the manga progress management form.

So it seems like maybe there's an issue with the action queue reviving a stale JS environment or something?

FaizanDurrani commented 1 year ago

I'll take a look at this today