@@ -1448,9 +1448,10 @@ async def _set_playlog_from_user_sync(self, progresses: list[MediaProgress]) ->
14481448 # timestamp, we do not update again.
14491449 if not self .progress_guard .guard_ok_abs (progress ):
14501450 continue
1451- if progress .current_time is not None and not progress .current_time >= 30 :
1452- # same as mass default, only > 30s
1453- continue
1451+ if progress .current_time is not None :
1452+ if int (progress .current_time ) != 0 and progress .current_time >= 30 :
1453+ # same as mass default, only > 30s
1454+ continue
14541455 if progress .library_item_id not in known_ids :
14551456 continue
14561457 __updated_items += 1
@@ -1499,11 +1500,14 @@ async def _update_playlog_book(self, progress: MediaProgress) -> None:
14991500 )
15001501 if mass_audiobook is None :
15011502 return
1502- await self .mass .music .mark_item_played (
1503- mass_audiobook ,
1504- fully_played = progress .is_finished ,
1505- seconds_played = int (progress .current_time ),
1506- )
1503+ if int (progress .current_time ) == 0 :
1504+ await self .mass .music .mark_item_unplayed (mass_audiobook )
1505+ else :
1506+ await self .mass .music .mark_item_played (
1507+ mass_audiobook ,
1508+ fully_played = progress .is_finished ,
1509+ seconds_played = int (progress .current_time ),
1510+ )
15071511
15081512 async def _update_playlog_episode (self , progress : MediaProgress ) -> None :
15091513 # helper progress also ensures no useless progress updates,
@@ -1517,11 +1521,14 @@ async def _update_playlog_episode(self, progress: MediaProgress) -> None:
15171521 mass_episode = await self .get_podcast_episode (_episode_id , add_progress = False )
15181522 except MediaNotFoundError :
15191523 return
1520- await self .mass .music .mark_item_played (
1521- mass_episode ,
1522- fully_played = progress .is_finished ,
1523- seconds_played = int (progress .current_time ),
1524- )
1524+ if int (progress .current_time ) == 0 :
1525+ await self .mass .music .mark_item_unplayed (mass_episode )
1526+ else :
1527+ await self .mass .music .mark_item_played (
1528+ mass_episode ,
1529+ fully_played = progress .is_finished ,
1530+ seconds_played = int (progress .current_time ),
1531+ )
15251532
15261533 async def _cache_set_helper_libraries (self ) -> None :
15271534 await self .mass .cache .set (
0 commit comments