pocket-casts-android icon indicating copy to clipboard operation
pocket-casts-android copied to clipboard

Why dose Archive status sync before Starred Status?

Open CookieyedCodes opened this issue 3 years ago • 2 comments

I ask because my starred podcasts keep getting archived tho I never want them too(I want to keep the download), maby it's because I rarely have and iOS & watch in the mix too -once every 2+ weeks watch more frequent- but it's a bit of a pain point even tho auto archive for starred is disabled all devices

CookieyedCodes avatar Dec 01 '22 19:12 CookieyedCodes

Is this still an issue?

geekygecko avatar Aug 29 '24 22:08 geekygecko

@geekygecko I think it is yes, I still have files that get deleted from iOS to Android because archive syncs first

CookieyedCodes avatar Aug 30 '24 06:08 CookieyedCodes

Seems that the call to episodeManager.archive(episode, playbackManager, sync = false) at line 890 internally doesn't take on account if episode was / wasn't started and cleans up right away. If compared with archivePlayedEpisode function that one checks for episode being stared. So indeed looks like something that should be relatively easy to fix. Will pick up one free evening if there is no takers..

https://github.com/Automattic/pocket-casts-android/blob/1585aad387eb28883f61ba8d48224c81883e3080/modules/services/repositories/src/main/java/au/com/shiftyjelly/pocketcasts/repositories/sync/PodcastSyncProcess.kt#L869-L894

stic avatar Nov 12 '24 20:11 stic

If you could that would be great and greatly appreciated, you probably should check the iOS side too that would be good to make sure the behavior is consistent on both sides 🙂

CookieyedCodes avatar Nov 13 '24 13:11 CookieyedCodes

Hi @CookieyedCodes I've started with adding test case and realised that current app behaviour is to delete download on Archive (even if episode is Starred), marking it Played for when auto archive is off will retain download. Thus when during sync an episode reports archived it's expected behaviour to remove a download.

I'd suspect that auto-archive settings between devices might be out of sync (hence episodes are getting archived on one of your devices)? To keep digging can you please outline steps to replicate and run a check on the setting your end, i.e:

You have devices A and B with podcast subscribed Your global Auto archive is Archive played episodes: After playing, Archive inactive episodes: Never and Include starred episodes: Turned off? Do you have podcast specific settings for Auto archive? Do both devices have above 2 set to the same?

So far I've checked:

  • if starred flag does get passed on between devices (it does on phones, can you please check on you watches)?
  • auto archive settings of podcast sync (no these doesn't sync, so that might be a gap if your settings are on podcast level)
  • auto archive settings on app (global) level sync (no these doesn't sync, so again it might be a diversion is devices setup that leads to unexpected behaviour)

stic avatar Nov 15 '24 22:11 stic

IMG_20241116_091943.jpg

Screenshot_2024-11-16-09-10-01-91_28ad70af3b47247953fcd94176b9a9c1.jpg

So my global is set the same on both devices as shown above, on iOS I only use global, on Android I have like 5 podcasts that use local episode limits but the other settings aren't different and global, whats fascinating is starred dose transfer because on iOS/watch will not delete an episode if it's starred but from iOS to Android it will, my thoughts is because it syncs archived/mark as played first by looking at the listening history on Android but it's not checking starred before it syncs this deleting the episode, android to web dose work correctly tho so hmmmmm

Apple watch settings follow iOS from my understanding as stars tend do get kept

CookieyedCodes avatar Nov 16 '24 09:11 CookieyedCodes

Another thing to note it's only the first time, Android (downloaded starred)>iOS (archived and starred)>android(not downloaded archived & starred) So I download it again on Android and then back and forth it remembers and doesn't rearchived So you can see why this is annoying me hmmmmm

CookieyedCodes avatar Nov 16 '24 11:11 CookieyedCodes

I was looking around sync and to be fair can't spot bug. On initial login the logic is slightly off (i.e. if you got archived episodes already, downloads will be removed right away, even if episodes are starred server (other device) side - as it's second sync that will bring starred), but that isn't your issue. I haven't yet looked to what's being posted to server on sync, might be that starred and finished episodes are somehow becoming archived too.. otherwise, hard to see where the archived status would come from. Anyway, time allowing will keep pondering. By the way latest versions brought some wear improvements so maybe it's actually fixed? ;-)

stic avatar Nov 18 '24 18:11 stic