Two feedback problems.
1. "Operation started" says nothing about the operation
Starting any async task (e.g. a data migration) shows a blue toast reading "Operation started", with the action name only as the small title. It reads like a positive confirmation but is info-coloured, and the wording is identical for every async action, so it never identifies what began.
The backend creates the notification with a fixed message for all task actions — common/src/notification/notification-events.ts:226:
this.notify = await notificationHelper.progress(this.action, 'Operation started', this.taskId);
and the frontend toasts it verbatim — frontend/src/app/components/notification/notification.component.ts:91-92:
toastProgress(notification: any) {
this.toastService.info(notification.message, notification.action);
}
this.action is the TaskAction (e.g. Migrate data). Nothing is wrong with the mechanism, but the result is a toast that carries no information.
2. A failed policy search is reported twice
Searching for a remote policy that fails shows the same error twice — inline in the Search Policy dialog and as a global toast.
frontend/src/app/modules/policy-engine/dialogs/search-external-policy-dialog/search-external-policy-dialog.component.ts handles the HTTP error itself and sets an inline message (this.error = e?.error?.message, :48/:70), rendered in the dialog body. Meanwhile the global HandleErrorsService interceptor toasts every HTTP error, so MESSAGE_NOT_FOUND: Message 1 could not be retrieved… also appears as a "404 Other Error" toast.
There is already a mechanism for this: SILENT_HTTP_ERRORS (frontend/src/app/constants/http-context-tokens.ts), which the interceptor checks and which branding.service and auth.service already use for requests they handle themselves.
Reproduce
- Start a data migration → blue "Operation started" toast that does not say what started.
- Manage Policies → Remote Policies → Search, with a message id that fails → the same error inline and as a toast.
Two feedback problems.
1. "Operation started" says nothing about the operation
Starting any async task (e.g. a data migration) shows a blue toast reading "Operation started", with the action name only as the small title. It reads like a positive confirmation but is info-coloured, and the wording is identical for every async action, so it never identifies what began.
The backend creates the notification with a fixed message for all task actions —
common/src/notification/notification-events.ts:226:and the frontend toasts it verbatim —
frontend/src/app/components/notification/notification.component.ts:91-92:this.actionis the TaskAction (e.g.Migrate data). Nothing is wrong with the mechanism, but the result is a toast that carries no information.2. A failed policy search is reported twice
Searching for a remote policy that fails shows the same error twice — inline in the Search Policy dialog and as a global toast.
frontend/src/app/modules/policy-engine/dialogs/search-external-policy-dialog/search-external-policy-dialog.component.tshandles the HTTP error itself and sets an inline message (this.error = e?.error?.message,:48/:70), rendered in the dialog body. Meanwhile the globalHandleErrorsServiceinterceptor toasts every HTTP error, soMESSAGE_NOT_FOUND: Message 1 could not be retrieved…also appears as a "404 Other Error" toast.There is already a mechanism for this:
SILENT_HTTP_ERRORS(frontend/src/app/constants/http-context-tokens.ts), which the interceptor checks and whichbranding.serviceandauth.servicealready use for requests they handle themselves.Reproduce