github peterdu1109/NotifySync v5.5.11.0
🔔 NotifySync v5.5.11.0

latest releases: v5.5.11.2, v5.5.11.1
2 hours ago

🇬🇧 English

📝 In Short

The admin Configuration page is fully redesigned — tabs, search filters, drag-and-drop, sortable table, sticky save button, toast notifications. Zero change to the bell, the API, or your saved config: this is pure UI polish.

✨ What's New

  • Tabbed navigation — Settings / Libraries / Collections / Categories / Deletions. No more endless scrolling.
  • Header card with the NotifySync logo, version badge, GitHub link.
  • Live counters on each tab: see at a glance how many libraries / collections / categories you have enabled.
  • Quota slider (1–50) with live value display, instead of a bare number input.
  • Libraries & Collections panels:
    • Search filter to quickly find a library when you have many
    • "Select all" / "Clear all" buttons that respect the current search
    • Live counter "X / Y selected"
  • Categories panel:
    • Drag-and-drop to reorder mappings (priority of match)
    • Delete confirmation modal so a misclick can't wipe a setup
  • Deletions panel:
    • Toggle-switch for "Enable deletion tracking" instead of a bare checkbox
    • Sortable columns (Name / Type / Series / Year / Date)
    • Type-colored badges (Movie / Episode / Audio)
    • Pagination (20 rows per page)
    • Search filter
  • Sticky save button bottom-right, always visible — no need to scroll back up to save.
  • Toast notifications for save success, refresh confirmation, errors — replaces the old popup dialogs.
  • Responsive layout — tabs scroll horizontally on mobile.

🔧 Technical details for the curious

ConfigurationPage.html rewrite:

  • All inline styles moved into a single <style> block at the top of the file. Theming via CSS custom properties (--ns-bg, --ns-card, --ns-accent, etc.).
  • No external libraries — drag-and-drop uses HTML5 native dragstart/dragover/drop events. Sortable table is plain JS. Toast and modal are vanilla.
  • All API calls preserved: ApiClient.getPluginConfiguration, ApiClient.updatePluginConfiguration, ApiClient.getUserViews, ApiClient.getItems (BoxSet), ApiClient.ajax('/NotifySync/DeletedItems'), ApiClient.ajax('/NotifySync/Refresh').
  • Config schema unchanged: MaxItems, EnabledLibraries[], EnabledCollections[], CategoryMappings[], ManualLibraryIds[], EnableDeletedTracking, DeletedRetentionDays.
  • Existing configs continue to load without migration.
  • i18n FR/EN dictionary extended with the new labels (tabs, toast messages, search placeholders, confirmation dialog).

Reminder: after updating, restart Jellyfin (so the new ConfigurationPage.html is served from the new DLL) and hard-refresh your browser (Ctrl+Shift+R).


🇫🇷 Français

📝 En bref

La page de configuration admin est entièrement refondue — onglets, filtres de recherche, drag & drop, table triable, bouton "Sauvegarder" sticky, notifications toast. Zéro impact sur la cloche, l'API, ou ta config sauvegardée : c'est du pur polish UI.

✨ Quoi de Neuf

  • Navigation par onglets — Paramètres / Bibliothèques / Collections / Catégories / Suppressions. Fini le scroll infini.
  • Header card avec le logo NotifySync, badge de version, lien GitHub.
  • Compteurs en direct sur chaque onglet : sache d'un coup d'œil combien de bibliothèques / collections / catégories sont activées.
  • Slider quota (1–50) avec affichage de la valeur en live, au lieu d'un input numérique sec.
  • Onglets Bibliothèques & Collections :
    • Filtre de recherche pour trouver rapidement une bibliothèque sur les setups avec beaucoup d'éléments
    • Boutons "Tout cocher" / "Tout décocher" qui respectent la recherche en cours
    • Compteur en direct "X / Y sélectionnés"
  • Onglet Catégories :
    • Drag & drop pour réordonner les mappings (priorité de match)
    • Modale de confirmation pour la suppression — plus moyen de tout effacer par un mauvais clic
  • Onglet Suppressions :
    • Toggle switch pour "Activer le suivi" au lieu d'une checkbox sèche
    • Colonnes triables (Nom / Type / Série / Année / Date)
    • Badges colorés par type (Film / Épisode / Audio)
    • Pagination (20 lignes par page)
    • Filtre de recherche
  • Bouton "Sauvegarder" sticky en bas à droite, toujours visible — plus besoin de remonter pour sauvegarder.
  • Notifications toast pour les sauvegardes, régénération d'historique, erreurs — remplacent les anciennes popups.
  • Layout responsive — les onglets scrollent horizontalement sur mobile.

🔧 Détails techniques pour les curieux

Réécriture de ConfigurationPage.html :

  • Tous les inline styles déplacés dans un seul bloc <style> en haut du fichier. Theming via CSS custom properties (--ns-bg, --ns-card, --ns-accent, etc.).
  • Aucune librairie externe — drag-and-drop utilise les events HTML5 natifs (dragstart/dragover/drop). Tri de table en JS pur. Toast et modale en vanilla.
  • Tous les appels API préservés : ApiClient.getPluginConfiguration, ApiClient.updatePluginConfiguration, ApiClient.getUserViews, ApiClient.getItems (BoxSet), ApiClient.ajax('/NotifySync/DeletedItems'), ApiClient.ajax('/NotifySync/Refresh').
  • Schéma config inchangé : MaxItems, EnabledLibraries[], EnabledCollections[], CategoryMappings[], ManualLibraryIds[], EnableDeletedTracking, DeletedRetentionDays.
  • Les configs existantes se chargent sans migration.
  • Dictionnaire i18n FR/EN étendu avec les nouveaux labels (onglets, messages toast, placeholders de recherche, dialogue de confirmation).

Rappel : après la mise à jour, redémarrer Jellyfin (pour que le nouveau ConfigurationPage.html soit servi depuis la nouvelle DLL) et faire un hard refresh navigateur (Ctrl+Shift+R).

Don't miss a new NotifySync release

NewReleases is sending notifications on new releases.