Internal update mechanism in an app vs. snap update

Lots of apps (Cliqz, Thunderbird, KeePassXC, probably hundreds more) have an internal check-for-updates and/or update-now mechanism.

When such an app is packaged as a snap, should those internal mechanisms be disabled, and only updates of the whole snap package be allowed ? I think yes, put all updates in the same place.

But then how would you handle updating add-ons / extensions within apps (Firefox, Burp Suite, Thunderbird, etc) ?

For now, the answer depends on how the self-update mechanism works. Some snaps may choose to self-update some components using a directory like $SNAP_DATA and so it makes sense to continue the self-update like that, but for others it probably makes more sense to just turn it off entirely.

Eventually, we will have hooks that applications can tie into such that an app can:

  • detect if there is an update available
  • attempt to install the update

See the options discussed here: [WIP] Refresh App Awareness