-
Notifications
You must be signed in to change notification settings - Fork 493
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: Komga page-based sync #1025
Conversation
I've been enjoying using this the last few days. I did notice an issue today. Playing around with this a bit more. It seems that it didn't sync read progress on a completed volume for some reason. so i was on ch 161 of chainsaw man. Both mihon and komga were set as page 2. I read through 162 on mihon. Opened to page 3 of 163 In komga, 161 was still left on page page 2. 162 was left unread, and 163 was on page 3. So it seems like the competed pages, and updated page count of 161 didn't sync for some reason. Also if i mark something as read on komga, but then start reading it on mihon, it doesn't sync the change back to komga. I marked 163 as read in komga. Then I start reading 163, it doesn't seem to update the page progress. |
I'm not able to replicate both issues on my end. Have you tried to check the debug logs to see if the read-progress requests are sent as expected? Even if marked read in Mihon, that request is still expected to be sent when start reading it. |
I'm looking into how to provide debug logs but failing. Happy to provide them if you could tell me how (via adb somehow? or some other way ?). Also happy to debug this in real time with you if you message me on discord at |
Chainsaw man had no logs shown. Eyeshield 21 did show working logs though
|
Something i haven't read like chainsaw man 165 does show logs though. Just confirmed with a different series that i've not used on your fork yet. It doesn't track progress for something that's marked as read in mihon. Case 1: Figured out that as long as komga thinks it's unread, you open the Tracker window, tachiyomi takes that state from komga. I'm still unclear how I read 162 of chiansaw man, but then it didn't sync it back to komga, but I can't figure out how to reproduce yet Case 2: If you mark it as unread in komga, then sync from mihon. Mihon will overwrite whatever komga had. I think marked it as unread in mihon and komga, and it synced together. Both are now tracking now that they are in sync for the series Case 3: Almost seems like the best practice for using it would be to always open the Tracker button first to make sure the server didn't get any updates, then start reading. I'm thinking across devices that the server could have been updated (unless the user were to be keeping devices in sync via something like SyncYomi) |
Currently all chapters prior to your last read are ignored from syncing. I think I can change that for page trackers.
This is expected, since the current trakcer uses
Volume read status is handled by old logic of Komga tracker and it's updated by clicking the button and open the tracker window. All updates should be completed within the lifecycle of that Window. The app won't keep a event stream connection to the server so no real-time bidirectional sync: sync to Komga is real time, sync back is triggered when open tracker window. |
@RandomNamer looks like this is closed now? I'm hoping we can keep progress rolling on this! 😊 Any chance of reopening it? |
Migrated to a new branch, did a overhual and it's now at #1032 |
As mentioned in issue #236
Page-level read progress sync for Komga based on the current Komga tracker. This is a preliminary implementation, every page turn would be reported to Komga (just like the Komga web app, no rate limit); to sync page progress from Komga, users have to refresh tracker manually (and to ensure the request completes with in the lifecycle of the dialog window).
I was really suprised to see unlike the web app, progress syncing does not work with page indeces when I tried to use Mihon as reader for my Komga server. As I read the code I have doubts on whether multi-device progress syncing should be implemented as a type of tracker or if we need to design new solutions for syncing, e.g. within the extension. I would really like to see your opinions on this feature.