fix(webui/tasks): give app-less task notifications the LibrePortal identity

App-less system tasks (verify, regen, …) resolved to an empty displayName
and null icon in _taskNotificationDescriptor, so their completion toast
rendered an empty <strong></strong><br> — a blank bold line that showed as
a random gap above the message — and had no icon, unlike every other
notification. Treat any task with no app slug as a system task so it gets
the 'LibrePortal' subject and libreportal.svg icon.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Signed-off-by: librelad <librelad@digitalangels.vip>
This commit is contained in:
librelad 2026-06-25 12:54:39 +01:00
parent c66eb78671
commit c7484572df

View File

@ -79,7 +79,11 @@ class TasksManager {
const sysBackupSubject = sysBackup
? (sysBackup[1] === 'system' ? 'Configs' : 'All apps')
: null;
const isSystemTask = action.startsWith('setup-') || appName === 'system' || !!sysBackup;
// Any task with no app slug (verify, regen, update, …) is a LibrePortal /
// system task. Without this it resolves to a blank subject + no icon, so
// its notification renders an empty bold line above the message (gap) and
// looks unlike the app/system notifications.
const isSystemTask = action.startsWith('setup-') || appName === 'system' || !!sysBackup || !appName;
let actionTitle = this.formatActionTitle(action);
// Tool tasks: prefer the catalog-defined label.
const toolCmdMatch = ((task && task.command) || '').match(/libreportal app tool (\S+) (\S+)/);