6 Commits

Author SHA1 Message Date
Gitea Actions
cb0dfe2c21 docs: update changelog for v0.1.2
Some checks failed
Create Release PR / Create Release PR (push) Has been cancelled
Build and Publish Plugin / Build Plugin + Update Manifest (release) Successful in 44s
2026-04-04 09:39:03 +00:00
eaf6ea91e1 Merge pull request 'chore(main): release 0.1.2' (#25) from release-please--branches--main into main
Some checks failed
Create Release PR / Create Release PR (push) Has been cancelled
Reviewed-on: #25
2026-04-04 11:38:56 +02:00
Gitea Actions
180a998be1 chore(main): release 0.1.2
All checks were successful
Create Release / Publish Release (pull_request) Successful in 9s
2026-04-04 09:36:28 +00:00
6fd2638414 Merge branch 'main' of https://git.tdpi.dev/TDPI/jellyfin-plugin-smartnotify
All checks were successful
Create Release PR / Create Release PR (push) Successful in 19s
2026-04-04 11:36:02 +02:00
0e10e3c089 fix: refresh series name before notification 2026-04-04 11:35:59 +02:00
Gitea Actions
e729c7b8d5 chore: update manifest for v0.1.1
All checks were successful
Create Release PR / Create Release PR (push) Successful in 4s
2026-04-03 17:32:41 +00:00
5 changed files with 41 additions and 8 deletions

View File

@@ -1,3 +1,3 @@
{
".": "0.1.1"
".": "0.1.2"
}

View File

@@ -1,5 +1,12 @@
# Changelog
## 0.1.2 (2026-04-04)
## 0.1.2 (2026-04-04)
### Bug Fixes
* Problem behoben das der Serienname vor der Benachrichtigung nicht aktualisiert wurde.
## 0.1.1 (2026-04-03)
## 0.1.1 (2026-04-03)

View File

@@ -3,8 +3,8 @@
<PropertyGroup>
<TargetFramework>net9.0</TargetFramework>
<RootNamespace>Jellyfin.Plugin.SmartNotify</RootNamespace>
<AssemblyVersion>0.1.1.0</AssemblyVersion>
<FileVersion>0.1.1.0</FileVersion>
<AssemblyVersion>0.1.2.0</AssemblyVersion>
<FileVersion>0.1.2.0</FileVersion>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<GenerateDocumentationFile>true</GenerateDocumentationFile>

View File

@@ -430,12 +430,19 @@ public class SmartNotifyBackgroundService : IHostedService, IDisposable
var changed = false;
if (string.IsNullOrEmpty(notification.SeriesName) || notification.SeriesName == "Unknown Series")
// Always refresh SeriesName from the library — at queue time the name
// may have been the Sonarr folder name (before metadata refresh).
{
// episode.SeriesName is often null (especially with Shokofin VFS),
// but the Series navigation property usually has the correct name
notification.SeriesName = episode.SeriesName ?? episode.Series?.Name;
changed = true;
var freshSeriesName = episode.SeriesName ?? episode.Series?.Name;
if (!string.IsNullOrEmpty(freshSeriesName) && freshSeriesName != notification.SeriesName)
{
_logger.LogInformation(
"[DEBUG Refresh] SeriesName changed: '{Old}' -> '{New}'",
notification.SeriesName,
freshSeriesName);
notification.SeriesName = freshSeriesName;
changed = true;
}
}
if (string.IsNullOrEmpty(notification.SeriesId) || notification.SeriesId == Guid.Empty.ToString())
@@ -464,6 +471,17 @@ public class SmartNotifyBackgroundService : IHostedService, IDisposable
changed = true;
}
// Always refresh the item name — it may have been a placeholder at queue time
if (!string.IsNullOrEmpty(episode.Name) && episode.Name != notification.Name)
{
_logger.LogInformation(
"[DEBUG Refresh] Name changed: '{Old}' -> '{New}'",
notification.Name,
episode.Name);
notification.Name = episode.Name;
changed = true;
}
// Refresh image if missing
if (string.IsNullOrEmpty(notification.ImagePath) && episode.SeriesId != Guid.Empty)
{

View File

@@ -8,6 +8,14 @@
"category": "Notifications",
"imageUrl": "",
"versions": [
{
"version": "0.1.1.0",
"changelog": "## 0.1.1 (2026-04-03)\n\n### Bug Fixes\n\n* fix: unknown series\n\n### Chores\n\n* chore: workflow fix\n* chore: removed old versions\n* chore: update manifest for v0.1.0",
"targetAbi": "10.11.0.0",
"sourceUrl": "https://git.tdpi.dev/TDPI/jellyfin-plugin-smartnotify/releases/download/v0.1.1/smartnotify_0.1.1.zip",
"checksum": "459569cbae49ba569291011ac9a54202",
"timestamp": "2026-04-03T17:32:41Z"
},
{
"version": "0.1.0.0",
"changelog": "## 0.1.0 (2026-03-05)\n\n**Features**\n\nIntelligente Discord-Benachrichtigungen\n\nAutomatische Benachrichtigungen bei neuen Filmen und Episoden via Discord Webhook\nSchöne Discord-Embeds mit Thumbnail, Beschreibung und Links zu externen Datenbanken (IMDb, TMDb, AniDB, AniList, TVDB)\n\n**Smarte Episoden-Gruppierung**\n\nEpisoden werden intelligent gebündelt statt einzeln gemeldet — z.B. \"Staffel 1: Episode 1-12\" statt 12 einzelne Nachrichten\nKonfigurierbares Zeitfenster für die Gruppierung\n\n**Qualitäts-Upgrade-Erkennung**\n\nErkennt automatisch ob eine Datei neu ist oder nur ein Qualitäts-Upgrade einer bestehenden Datei\nKeine Spam-Benachrichtigungen mehr beim Ersetzen von Dateien durch bessere Versionen\nStabile Erkennung über Provider-IDs (AniDB, TMDb etc.) — funktioniert auch mit Shokofin/VFS\n\n**Robuste Metadaten-Verarbeitung**\n\nVerzögerte Verarbeitung damit Jellyfin Zeit hat Metadaten zu laden\nDreistufige Validierung: beim Hinzufügen, beim Einreihen und beim Senden\nAutomatische Unterdrückung von reorganisierten Items (Pfad-/Metadata-Änderungen)\n\n**Konfigurierbar**\n\nBenachrichtigungen für Filme und Episoden einzeln aktivierbar\nUpgrade-Unterdrückung optional\nAnpassbare Verzögerung, Gruppierungsfenster, Bot-Name und Embed-Farbe",