github peterdu1109/NotifySync v5.5.12.1-beta2
🧪 NotifySync v5.5.12.1-beta2

latest releases: v5.5.12.3-beta4, v5.5.12.2-beta3
7 hours ago

🧪 Beta channel — This release is opt-in. The standard repository feed still points to 5.5.11.12. To install, add the beta repository URL: https://raw.githubusercontent.com/peterdu1109/NotifySync/main/repository-beta.json. If you're already on 5.5.12.0-beta1, Jellyfin will offer this as a regular update — no reinstall needed.

🇬🇧 English

📝 In Short

When a file replacement triggers more than one detection signal at once, the badge now lists all of them — e.g. MAJ Codec + Audio when both the codec changed and a new audio track was added.

✨ What's New

  • Stacked upgrade labels — Previously, when a release changed both the codec and added a French dub, only MAJ Codec was shown (Codec wins over Audio in priority order). Now the badge reads MAJ Codec + Audio. Same for MAJ Quality + Codec, or even MAJ Quality + Codec + Audio on a full upgrade.

📊 Examples

Before (filename) After (filename) Badge
[VOSTFR][x264] [FRENCH][HEVC] MAJ Codec + Audio
[1080p][x264] [2160p][HEVC] MAJ Quality + Codec
[VOSTFR][1080p][x264] [VFF][2160p][HEVC] MAJ Quality + Codec + Audio
[1080p] [2160p] MAJ Quality (single kind, unchanged)
[x264] [HEVC] MAJ Codec (single kind, unchanged)

🧪 What to test

If you have a workflow that produces multi-kind upgrades (Sonarr/Radarr replacing a 1080p x264 VOSTFR release with a 4K HEVC FRENCH master, for example), let me know if the badge lists all three.


🔧 Technical details for the curious

ClassifyUpgrade now accumulates kinds. Instead of returning the first match in priority order, it checks all three (Quality, Codec, Audio) and returns a comma-separated string like "quality,codec,audio" (always in display priority order). When nothing matches, it returns null.

client.js upgradeKindLabel splits and joins. The label function splits item.UpgradeKind on ,, maps each kind to its localized label via the T.kindQuality / T.kindCodec / T.kindAudio dictionary entries, then joins with " + ". Single-kind values from older builds (e.g. "codec") still render correctly — split(",") returns a single-element array.

Translations cleanup. The kindMinor key was removed from both the FR and EN translation dictionaries (it was unused after the KindMinor classifier path was removed in 5.5.12.0-beta1).

Schema. No new columns, no migration. The UpgradeKind column is still TEXT NULL; it just stores a comma-separated value now when multiple kinds fire on the same change.

Internal version is 5.5.12.1 (System.Version-parsable). Bumped from 5.5.12.0 so Jellyfin's catalog offers this build as an automatic update to anyone running 5.5.12.0-beta1. The user-facing strings (tag, release title, README badge, admin-page badge, client.js banner) all read 5.5.12.1-beta2.


🇫🇷 Français

📝 En bref

Quand un remplacement de fichier déclenche plusieurs signaux de détection en même temps, le badge liste maintenant tous les changements — par exemple MAJ Codec + Audio quand le codec change et qu'une nouvelle piste audio est ajoutée.

✨ Quoi de Neuf

  • Étiquettes d'upgrade empilables — Avant, quand un release changeait à la fois le codec et ajoutait un doublage français, seul MAJ Codec était affiché (Codec gagne sur Audio dans l'ordre de priorité). Maintenant le badge affiche MAJ Codec + Audio. Pareil pour MAJ Quality + Codec, ou même MAJ Quality + Codec + Audio sur un upgrade complet.

📊 Exemples

Avant (nom de fichier) Après (nom de fichier) Badge
[VOSTFR][x264] [FRENCH][HEVC] MAJ Codec + Audio
[1080p][x264] [2160p][HEVC] MAJ Quality + Codec
[VOSTFR][1080p][x264] [VFF][2160p][HEVC] MAJ Quality + Codec + Audio
[1080p] [2160p] MAJ Quality (kind unique, inchangé)
[x264] [HEVC] MAJ Codec (kind unique, inchangé)

🧪 À tester

Si tu as un workflow qui produit des upgrades multi-kinds (Sonarr/Radarr qui remplace un release 1080p x264 VOSTFR par un master 4K HEVC FRENCH par exemple), fais-moi savoir si le badge liste bien les trois.


🔧 Détails techniques pour les curieux

ClassifyUpgrade accumule maintenant les kinds. Au lieu de retourner le premier match dans l'ordre de priorité, elle vérifie les trois (Quality, Codec, Audio) et retourne une string séparée par virgules type "quality,codec,audio" (toujours dans l'ordre de priorité d'affichage). Quand rien ne matche, elle retourne null.

client.js upgradeKindLabel split et join. La fonction split item.UpgradeKind sur ,, mappe chaque kind à son label localisé via le dictionnaire T.kindQuality / T.kindCodec / T.kindAudio, puis joint avec " + ". Les valeurs à kind unique des builds précédents (ex "codec") s'affichent toujours correctement — split(",") retourne un tableau à un élément.

Nettoyage traductions. La clé kindMinor a été retirée des dictionnaires FR et EN (plus utilisée depuis que le chemin KindMinor du classifier a été retiré en 5.5.12.0-beta1).

Schéma. Aucune nouvelle colonne, aucune migration. La colonne UpgradeKind reste TEXT NULL ; elle stocke juste une valeur séparée par virgules maintenant quand plusieurs kinds se déclenchent sur le même changement.

Version interne 5.5.12.1 (parseable par System.Version). Bumpée depuis 5.5.12.0 pour que le catalogue Jellyfin propose ce build en update automatique à quiconque tourne sur 5.5.12.0-beta1. Les strings user-facing (tag, titre release, badge README, badge page admin, bannière client.js) affichent toutes 5.5.12.1-beta2.

Don't miss a new NotifySync release

NewReleases is sending notifications on new releases.