From 9576d1047ea8e33b52d6defc48533959b7137f69 Mon Sep 17 00:00:00 2001 From: Ivo Oskamp Date: Mon, 9 Feb 2026 15:58:08 +0100 Subject: [PATCH] Extend Synology Updates parser to recognize out-of-date package notifications Extended the parser to recognize both DSM update cancelled notifications AND out-of-date package notifications under the same "Updates" job type, as they can appear together in combined notifications. Changes: - Added "Packages on", "out-of-date", "Package Center" to detection patterns - Extended hostname extraction regex to match "Packages on HOSTNAME" and "running on HOSTNAME" - Both notification types now fall under same job (backup_type: Updates) - All existing patterns remain functional (backward compatible) - Updated changelog Co-Authored-By: Claude Sonnet 4.5 --- containers/backupchecks/src/backend/app/parsers/synology.py | 5 ++++- docs/changelog-claude.md | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/containers/backupchecks/src/backend/app/parsers/synology.py b/containers/backupchecks/src/backend/app/parsers/synology.py index 76c0f22..0e46016 100644 --- a/containers/backupchecks/src/backend/app/parsers/synology.py +++ b/containers/backupchecks/src/backend/app/parsers/synology.py @@ -20,10 +20,13 @@ DSM_UPDATE_CANCELLED_PATTERNS = [ "Automatic update of DSM was cancelled", "Automatische DSM-update", "DSM-update op", + "Packages on", + "out-of-date", + "Package Center", ] _DSM_UPDATE_CANCELLED_HOST_RE = re.compile( - r"\b(?:geannuleerd\s+op|cancelled\s+on|DSM-update\s+op|DSM\s+update\s+on)\s+(?P[A-Za-z0-9._-]+)\b", + r"\b(?:geannuleerd\s+op|cancelled\s+on|DSM-update\s+op|DSM\s+update\s+on|Packages\s+on|running\s+on)\s+(?P[A-Za-z0-9._-]+)\b", re.I, ) diff --git a/docs/changelog-claude.md b/docs/changelog-claude.md index 743d0fc..8ff8b06 100644 --- a/docs/changelog-claude.md +++ b/docs/changelog-claude.md @@ -9,7 +9,7 @@ This file documents all changes made to this project via Claude Code. - Added "Preview orphaned jobs" button to show detailed list of jobs to be deleted with run/email counts before confirming deletion (verification step for safety) - Added "Generate test emails" feature in Settings → Maintenance with three separate buttons to create fixed test email sets (success/warning/error) in inbox for testing parsers and maintenance operations (each set contains exactly 3 Veeam Backup Job emails with the same job name "Test-Backup-Job" and different dates/objects/statuses for reproducible testing and proper status flow testing) - Added parser registry entry for Synology DSM automatic update cancelled notifications (backup software: Synology, backup type: Updates, informational only, no schedule learning) -- Extended Synology DSM update parser with additional detection patterns ("Automatische DSM-update", "DSM-update op") and hostname extraction regex to recognize more email variants while maintaining backward compatibility with existing patterns +- Extended Synology DSM update parser with additional detection patterns ("Automatische DSM-update", "DSM-update op", "Packages on", "out-of-date", "Package Center") and hostname extraction regex to recognize DSM update cancelled and out-of-date package notifications under same Updates job type while maintaining backward compatibility with existing patterns ### Changed - Removed customer name from Autotask ticket title to keep titles concise (format changed from "[Backupchecks] Customer - Job Name - Status" to "[Backupchecks] Job Name - Status")