Interface blocked by hundreds of old warnings, "Dismiss all" does not work

I have a job that runs every 30 minutes. Right now it always throws a warning when it completes.

So after a few days if I log in to the interface, I’ve got a vertical column of 4 big warning messages:

I can tell using the dev console that there are over 900 of these queued up.

There are two problems here:

  1. Clicking Dismiss on a warning appears to the user to do nothing at all. But what’s really happening is that notification is being dismissed and an identical one takes its place, with not a single pixel on the screen changing. There needs to be user feedback here that something is happening.
  2. The Dismiss All button doesn’t work. Clicking on it makes Duplicati go totally unresponsive for a few seconds, after which I can use the dev tools to see that only removed 50 or so of them. Here’s what I get after clicking the button:
    image

Because of #2, the Duplicati interface is unusable until I click that Dismiss All button 18 times, waiting 15 times in between. And if I had waited 2 months since the last time I opened in the interface, it’d be hopeless

I am running 2.0.5.1_beta_2020-01-18

Obviously some improvement needs to be made to Duplicati in this regard. Perhaps some upper limit on the number of unacknowledged alerts.

I wonder if you could have used GitHub - Pectojin/duplicati-client: A command line client for controlling the Duplicati Server to dismiss all the alerts. It’s a command line utility that talks to the web UI service. I see it supports a “dismiss” command but I’ve never tried it.

From monitoring the network tab of the dev tools, it appears that the problem might be that the interface is trying to dismiss every alert, but it does it by firing off a DELETE request for each and every alert individually. It does several successfully but then hits some 503s and bails out of the process.

Seems like the most immediate way to address this issue is to make an endpoint that allows deleting multiple alerts in a single call