feat(notifications): dedicate AI Failure Detection notification event (#1794)

Split Obico failure-detection dispatch out of the multiplexed
  on_printer_error event onto its own on_ai_failure_detection event so
  users can subscribe to AI alerts without also enabling HMS hardware-
  error pages, and so the discoverable label "AI Failure Detection" is
  what subscribes them rather than the unrelated "Printer Error" toggle.

  New column on notification_providers (default False, branched
  SQLite/Postgres migration), new notification_service.on_ai_failure_detection
  method, new ai_failure_detection template, obico_actions._notify swap.
  Frontend gets a summary badge, a toggle row with description, and ntfy
  priority surfacing. 14 new tests pin the routing + the regression guard
  ("Printer Error" alone must NOT receive AI notifications now). 11 locales
  covered.

  Existing providers keep working: HMS hardware errors continue to ride
  on_printer_error unchanged; users who want spaghetti alerts opt in via
  the new toggle.
This commit is contained in:
maziggy
2026-06-22 08:15:29 +02:00
parent 12b21ce0df
commit 4206d675eb
33 changed files with 579 additions and 23 deletions
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+2 -2
View File
@@ -26,8 +26,8 @@
<!-- Splash screens for iOS -->
<link rel="apple-touch-startup-image" href="/img/android-chrome-512x512.png" />
<script type="module" crossorigin src="/assets/index-ef6eQr6-.js"></script>
<link rel="stylesheet" crossorigin href="/assets/index-D9kvaB_m.css">
<script type="module" crossorigin src="/assets/index-CksvU0PF.js"></script>
<link rel="stylesheet" crossorigin href="/assets/index-DNavQjwR.css">
</head>
<body>
<div id="root"></div>