Skip to content

đź”” NotifySync v5.7.15.0

Latest

Choose a tag to compare

@ElieMFR ElieMFR released this 05 Jul 10:38

Fixes a rare case where saving the settings could silently un-monitor all your libraries, plus small polish from a full code audit.

Corrige un cas rare où sauvegarder les paramètres pouvait désélectionner silencieusement toutes vos bibliothèques, plus quelques finitions issues d'un audit complet.


🇬🇧 English

🛡️ Fixes

  • Saving settings can no longer wipe your monitored libraries. If the library list had failed to load (brief network/API hiccup) and you clicked Save — even just to change another setting — your library and collection selections could be silently erased. They are now kept safe whenever their list didn't load.
  • Deletion history shows more entries — the admin log was silently capped at the 200 most recent deletions; it now goes up to 500.
  • Read state stays in sync — in a rare timing case, items could briefly reappear as unread after opening the bell; the client now reconciles with the server automatically.

🇫🇷 Français

🛡️ Corrections

  • Sauvegarder les paramètres ne peut plus effacer vos bibliothèques surveillĂ©es. Si la liste des bibliothèques n'avait pas rĂ©ussi Ă  se charger (bref pĂ©pin rĂ©seau/API) et que vous cliquiez Sauvegarder — mĂŞme pour changer un autre rĂ©glage — vos sĂ©lections de bibliothèques et de collections pouvaient ĂŞtre effacĂ©es silencieusement. Elles sont dĂ©sormais prĂ©servĂ©es quand leur liste n'a pas chargĂ©.
  • L'historique des suppressions affiche plus d'entrĂ©es — le journal admin Ă©tait plafonnĂ© silencieusement aux 200 suppressions les plus rĂ©centes ; il monte maintenant Ă  500.
  • État « lu » toujours synchronisĂ© — dans un cas de timing rare, des Ă©lĂ©ments pouvaient brièvement rĂ©apparaĂ®tre comme non lus après ouverture de la cloche ; le client se resynchronise maintenant automatiquement avec le serveur.

đź”§ Technical details
  • Config-save guard: save() harvested checkbox lists straight from the DOM; if renderLibs/renderCollections had failed (the per-section safe() wrapper swallows errors), zero checkboxes existed and EnabledLibraries/EnabledCollections were overwritten with []. Render-success flags (libsRendered/colsRendered) now gate the harvest — on failure the previously saved values are kept.
  • Deletions tab: the client called /NotifySync/DeletedItems without limit, hitting the 200 default; it now passes limit=500 (the server-side clamp maximum).
  • Mark-read reconciliation: markReadOnServer ignored the HTTP status; a 429 (500 ms per-user throttle, possible when a late fetch re-marks right after opening) silently lost the mark-read while local state said read. On any failure the client now drops its ETag so the next poll refetches and reconciles.
  • Cleanup: removed two dead locals in PopulateInitialHistory (categoryCounts/categorySeriesIds, superseded by CategoryQuotaService).

No database migration — self-contained update.


📦 Upgrading / Mise à jour

Auto-updates from the stable channel on your next Jellyfin restart. Hard-refresh your browser (Ctrl+Shift+R) to pick up the new client script.

Mise à jour auto depuis le canal stable au prochain redémarrage Jellyfin. Rafraîchissez votre navigateur (Ctrl+Shift+R) pour charger le nouveau script client.