Open oucil opened 2 years ago
As a follow up, I finally got the two devices to sync up, left for a few minutes and came back and the TO device had reverted to it's place rather than the newly synced stop time that I had just got it to see from the FROM device. Both devices are currently set to sync "Always".
And a further follow up... no matter what I did I could not get the TO device to sync to the from devices spot, so I went to the FROM device, played for a few seconds just to get a new spot, then refreshed on the home screen. Then on the TO device, I "Force Synced" and the new time showed up successfully.... then I went to hit PLAY, and it jumped right back to the spot it was before the sync, ignoring the new synced location. I watched this happen live.
Thanks for bringing this up, I only use Chronicle on my phone so I don't think about these issues much. Yea force sync currently doesn't "push", it just pulls. Same with a manual/timed refresh. The only way to "push" progress is to play the book, currently.
Some things that can be done to make syncing better:
And the scenario you described where you force synced, updated progress, then it resumed playback from the pre-sync progress sounds like a bug. If you can sus out a way to reproduce that behavior consistently could you write up steps to reproduce it and create another ticket?
And some implementation details about 1. & 2. if anyone plans on picking these up:
/:/timeline
endpoint. Dies Plex take playbackTime
into account and prefer the most recently listened device's progres or will we have to pull and resolve conflicts ourselves before pushing progress. (This would apply both to 1 & 2)@mattttvaughn If there could be a preference such as "always ask" or "always use highest progress", etc. that would be great. I would set the default to "ask" until people become familiar with it and choose a more automated / aggressive overwrite.
As for the potential bug, I'll give it a shot, and I'll try with a couple extra phones as well just in case the VM is a unique edge case.
@mattttvaughn Ok, I think I've figured out the cause, and I can consistently reproduce it. The scenario is this, I'm at my desk, I have the "tablet" (VM) running and am listening while I work, then I pause, go out for my walk and throw on my headphones with my phone, launch the app, it sync's and plays properly, then when I get back I pause on the phone, go back to the STILL-RUNNING but paused app on the "tablet", press the FORCE-SYNC which correctly gets the new time.... and this is the cause... the previous session is still in-process, just paused at the last location, still showing along the bottom of the app.... so I go to press play, either one, and it jumps right back to the spot I had paused ON THAT DEVICE, eliminating the force-synced position from the other device.
So the kicker is that the existing session, if there is one, needs to be updated with the force-sync position. I would suggest that EVERY TIME you press play in either the main app window, or in the currently playing window, that it checks the stored stop point before playing, and if it's further along, auto-advances to it in the player window, then continues to play.
This is obviously my edge case, but I tried with another phone and could reproduce the same issue when switching back and forth between them, so I would imagine that this will affect anyone that listens on more than one device.
Hope that helps!
I have my android phone, Pixel 3, which I do most of my listening on, and I have an Android VM running on my PC so I can use Chronicle there (until I can pony up for a win 11 compatible machine). When switching back and forth, even when using a manual "refresh" by pulling down on the main screen of the last device I was listening to, and then using "force sync" on the actual book page on the device that I'm moving to, to pick up at the last spot... I often have to do this 4 or 5 times before the TO device actually picks up the new point.