- Added reusable ellipsis styling for detail fields to prevent long values (e.g., email addresses) from overlapping other UI elements.
- Implemented click-to-expand for ellipsized fields so the full text becomes visible and selectable; double-click expands and selects all text.
- Added automatic tooltip (title) showing the full value when the field is truncated.
- Removed the redundant "Objects" heading above the objects table (table column header remains as the single label).
- Applied the detail-field truncation behavior consistently across Inbox, Deleted Mail, Run Checks, Daily Jobs, Job Detail, and Admin All Mail popups/pages where long values can occur.
---
## v20260109-09-ellipsis-reset-on-popup-close
- Reset expanded ellipsis fields when a Bootstrap modal is shown or hidden, so expanded state does not persist between openings.
- Added the same reset behavior for Bootstrap offcanvas components to keep behavior consistent across popups.
---
## v20260109-10-veeam-cloud-connect-report-parser
- Updated the Veeam Cloud Connect Report parser to correctly handle object naming by combining User and Repository Name with a "|" separator.
- Excluded the row containing "TOTAL" from being processed as an object.
- Adjusted status detection so red rows are interpreted as Errors and yellow/orange rows as Warnings.
- Ensured the overall status is set to Error when one or more objects are detected as errors.
- Improved parsing logic to correctly classify mixed-status reports within a single mail.
---
## v20260109-11-ntfs-auditing-audit-parser
- Added parser support for “NTFS Auditing” with type “Audit”.
- Implemented job name extraction from the mail subject (e.g. “<hostname> file audits”).
- Handled reports without an overall status by defaulting the result to Success.
- Ensured existing missing-run logic is applied when no audit report mail is received.
- Defined that these audit mails contain no objects; object list remains empty.
---
## v20260109-12-ntfs-audit-fqdn-jobname
- Updated NTFS Auditing (Audit) subject parsing to extract the hostname/FQDN directly from the start of the subject before "file audits".
- Removed the dependency on a fixed "Bouter <host>" subject prefix, so hosts like dc01.totall-it.local and fs01.totall-it.local are recognized.
---
## v20260109-13-ntfs-audit-jobname-prefix-flex
- Updated NTFS Auditing (Audit) subject parsing to support both formats:
- Subjects starting with "Bouter <host> file audits"
- Subjects starting directly with "<host> file audits"
- Ensures both btr-dc001/btr-dc002 and dc01/fs01 style hostnames are recognized consistently.
---
## v20260112-01-synology-abb-partial-warning
- Updated the Synology Active Backup for Business parser to detect “partially completed” jobs as Warning instead of ignoring them.
- Added support for localized variants of the completion message (including cases without an explicit host in the first line).
- Improved host detection by extracting the system name from the “From” header when not present in the subject/body.
- Extended object parsing to recognize per-device backup results and correctly classify them as Success or Error.
- Fixed the ABB-specific regular expression to prevent parser failures on valid warning mails.
- Updated the Synology Active Backup for Business subject matching to also recognize “Virtual machine backup task …” variants.
- Added subject-based detection for “partially completed / gedeeltelijk voltooid” and map this to Overall status: Warning.
- Fixed the ABB completion regex (it previously failed to match valid subjects).
- Improved per-device object parsing by detecting “backup succeeded/failed” device-list variants and mapping them to Success/Error accordingly.
---
## v20260112-03-ntfs-audit-recognize-bouter-hosts
- Improved NTFS Auditing (Audit) subject parsing to extract the hostname reliably, including subjects with a leading company prefix (e.g. "Bouter ...") and underscores-as-spaces variants.
- Set overall status to Warning when the subject indicates any detected changes (↑/↓ counts > 0); otherwise Success.
- Ensured job name is consistently generated as "<hostname> file audits" for all supported senders.
- Enabled VSPC company-mapping popup visibility for “Active alarms summary” messages even when no objects are parsed.
- Exposed parsed VSPC company list via the inbox message detail endpoint.
- Updated inbox popup logic to trigger the dedicated VSPC company-mapping workflow based on detected companies instead of parsed objects.
---
## v20260112-13-vspc-company-mapping-popup-ui
- Added VSPC company extraction to the inbox message detail response so multi-company summaries expose a company list even when no objects are stored.
- Updated the Inbox message modal to show the “Map companies” button based on the returned VSPC company list (with fallback to legacy object-name parsing).
- Disabled the standard Customer selector when VSPC company mapping is available to avoid using the wrong approval flow.
---
## v20260112-14-vspc-company-mapping-require-all
- Filtered VSPC company extraction to include only companies with alarms > 0 to avoid showing unrelated companies in the mapping popup.
- Added default customer prefill for each VSPC company based on existing per-company jobs (previous mappings).
- Changed VSPC approval flow to require all companies in the email to be mapped before approval; when mappings are incomplete the message stays in the Inbox while newly provided mappings are still saved.
- Added a vertical scrollbar to the VSPC company mapping popup so “Approve mapped companies” stays reachable without browser zoom.
- Changed VSPC approval to approve only mapped companies; if some companies are still unmapped, the email stays in the Inbox while runs for mapped companies are created.
- Added de-duplication for VSPC approvals to prevent creating duplicate runs on repeated approvals.
- Improved VSPC error detection by treating both “Error” and “Failed” states as errors for the run status.
- Enhanced VSPC parsing to use the “Alarm Details” column so object rows (e.g., HV01, USB Disk) persist with their full alarm messages and become visible in the customer job view.
- Extended the Synology Active Backup for Business parser to correctly detect objects listed in warning / partially completed emails.
- Improved object extraction logic to recognize devices mentioned in generic device lists (e.g. “List of devices …”), ensuring DC01 and SQL01 are included as objects.
- Ensured that when a device appears in both generic and specific status sections, the more specific status (failed / warning / success) takes precedence.
This release delivers a comprehensive set of improvements focused on parser correctness, data consistency, and clearer operator workflows across Inbox handling, Run Checks, and administrative tooling. The main goal of these changes is to ensure that backup notifications are parsed reliably, presented consistently, and handled through predictable and auditable workflows, even for complex or multi-entity reports.
### Mail Parsing and Data Integrity
- Fixed Veeam Backup for Microsoft 365 parsing where the overall summary message was not consistently stored.
- Improved extraction of overall detail messages so permission and role warnings are reliably captured.
- Ensured the extracted overall message is always available across Job Details, Run Checks, and reporting views.
- Added decoding of HTML entities in parsed object fields (name, type, status, error message) before storage, ensuring characters such as ampersands are displayed correctly.
- Improved robustness of parsing logic to prevent partial or misleading data from being stored when mails contain mixed or malformed content.
### Object Classification and Sorting
- Updated object list sorting to improve readability and prioritization.
- Objects are now grouped by severity in a fixed order: Errors first, then Warnings, followed by all other statuses.
- Within each severity group, objects are sorted alphabetically (A–Z).
- Applied the same sorting logic consistently across Inbox, Job Details, Run Checks, Daily Jobs, and the Admin All Mail view.
- Improved overall run status determination by reliably deriving the worst detected object state.
### Parsers Overview and Maintainability
- Refactored the Parsers overview page to use the central parser registry instead of a static, hardcoded list.
- All available parsers are now displayed automatically, ensuring the page stays in sync as parsers are added or removed.
- Removed hardcoded parser definitions from templates to improve long-term maintainability.
- Fixed a startup crash in the parsers route caused by an invalid absolute import by switching to a package-relative import.
- Prevented Gunicorn worker boot failures and Bad Gateway errors during application initialization.
### User Management and Feedback Handling
- Added support for editing user roles directly from the User Management interface.
- Implemented backend logic to update existing role assignments without requiring user deletion.
- Ensured role changes are applied immediately and reflected correctly in permissions and access control.
- Updated feedback listings to show only Open items by default.
- Ensured Resolved items are always sorted to the bottom when viewing all feedback.
- Preserved existing filtering, searching, and user-controlled sorting behavior.
### UI Improvements and Usability Enhancements
- Introduced reusable ellipsis handling for long detail fields to prevent layout overlap.
- Added click-to-expand behavior for truncated fields, with double-click support to expand and select all text.
- Added automatic tooltips showing the full value when a field is truncated.
- Removed the redundant “Objects” heading above objects tables to reduce visual clutter.
- Applied truncation and expansion behavior consistently across Inbox, Deleted Mail, Run Checks, Daily Jobs, Job Detail views, and Admin All Mail.
- Reset expanded ellipsis fields when Bootstrap modals or offcanvas components are opened or closed to prevent state leakage.
- Fixed layout issues where the Objects table could overlap mail content in the Run Checks popup.
### Veeam Cloud Connect and VSPC Parsing
- Improved the Veeam Cloud Connect Report parser by combining User and Repository Name into a single object identifier.
- Excluded “TOTAL” rows from object processing.
- Correctly classified red rows as Errors and yellow/orange rows as Warnings.
- Ensured overall status is set to Error when one or more objects are in error state.
- Added support for Veeam Service Provider Console daily alarm summary emails.
- Implemented per-company object aggregation and derived overall status from the worst detected state.
- Improved detection of VSPC Active Alarms emails to prevent incorrect fallback to other Veeam parsers.
- Fixed a SyntaxError in the VSPC parser that caused application startup failures.
### VSPC Company Mapping Workflow
- Introduced a dedicated company-mapping popup for VSPC Active Alarms summary reports.
- Enabled manual mapping of companies found in mails to existing customers.
- Implemented per-company job and run creation using the format “Active alarms summary | <Company>”.
- Disabled the standard approval flow for this report type and replaced it with a dedicated mapping workflow.
- Required all detected companies to be mapped before full approval, while still allowing partial approvals.
- Prevented duplicate run creation on repeated approvals.
- Improved visibility and usability of the mapping popup with scroll support for large company lists.
- Ensured only alarms belonging to the selected company are attached to the corresponding run.
### NTFS Auditing and Synology ABB Enhancements
- Added full parser support for NTFS Auditing reports.
- Improved hostname and FQDN extraction from subject lines, supporting multiple subject formats and prefixes.
- Ensured consistent job name generation as “<hostname> file audits”.
- Set overall status to Warning when detected change counts are greater than zero.
- Improved Synology Active Backup for Business parsing to detect partially completed jobs as Warning.
- Added support for localized completion messages and subject variants.
- Improved per-device object extraction and ensured specific device statuses take precedence over generic listings.
### Workflow Simplification and Cleanup
- Removed the “Mark success (override)” button from the Run Checks popup.
- Prevented creation of unintended overrides when marking individual runs as successful.
- Simplified override handling so Run Checks actions no longer affect override administration.
- Ensured firmware update notifications (QNAP) are treated as informational warnings and excluded from missing-run detection and reporting.
---
## v0.1.19
This release delivers a broad set of improvements focused on reliability, transparency, and operational control across mail processing, administrative auditing, and Run Checks workflows. The changes aim to make message handling more robust, provide better insight for administrators, and give operators clearer and more flexible control when reviewing backup runs.
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.