Refresh-"Awareness" kills Security

ogra commented on the bug/bugfix which made firefox misbehave (which looks it will be in snap 2.61). It fixes some interaction with the store where firefox uses some throttling feature for staging releases. From the bugfix PR description:

But what you write is the another issue - the default output of snap refresh. If I remember correctly, output got minimized so it does not interfere with CI builds(?). I think the default should not be so silent (rather provide a flag for silent/CI) or it would be good to have different commands (like apt is for humans, apt-get… are for machines/scripts). But I am unsure how to proceed. Maybe a feature request?

There is a simple solution

But it relies on old and almost unused warnings code which may be buggy.
Also users will be required to execute snap warnings to see what is wrong.

$ sudo snap refresh
WARNING: There is 1 new warning. See 'snap warnings'.
$ snap warnings
last-occurrence:  today at 11:17 UTC
warning: |
  cannot refresh "snapname": snap "snapname" has running apps (appname), pids: 1374296
1 Like

Sorry if I blamed the wrong function for the problem.

There are new Security updates so I checked again and either the problem isn’t firefox itself, or chromium has the same issue:

# snap refresh	
Alle Snaps sind aktuell.
# snap refresh --list
Name      Version        Rev   Size   Publisher   Notes
chromium  117.0.5938.92  2642  162MB  canonical✓  -
firefox   118.0-1        3166  251MB  mozilla✓    -
# snap refresh
Alle Snaps sind aktuell.
# # closed chromium
# snap refresh
chromium 117.0.5938.92 von Canonical✓ aufgefrischt

refresh says “All snaps are up to date” but refresh --list tells another story: neither chromium nor firefox are up to date.

Knowing about --list is helping here, but I strongly believe the default should at least a “There are updates pending, try --list for details” or similar and not a “All snaps are up to date” which is clearly false and misleading.

Ps: Sorry for the german output, I forgot to change locale.