Snap and content snap

This bug i reported years back: Installation of snap with content snap as dependency, still exists in the latest upgraded snapd on Ubuntu 20.04.2LTS

snap    2.51
snapd   2.51
series  16
ubuntu  20.04
kernel  5.8.0-55-generic

I will try to outline the issues once again clearly, with tests.

Bug Description:
This issue is related to the behavior of snapd when it installs any snap that require to download a content snap (which most of time contains runtime libraries).

The behavior -
when snapd is asked to download a snap that also contain a content snap in its snapcraft yaml with snap install command.

Steps to reproduce-
For this we will take one of the famous snap as example Whatsie which requires content snap called qt513 that contains Qt runtime libraries.
To test this make sure you purge both of these snaps, i.e, remove them from snapd download cache so that we can emulate the real download situation. In terminal

  • snap install whatsie
  • As sson as snapd complete downloading whatsie snap package that is ~14Mb in size, Notice that the application is available to end user from desktop menus, command prompts while the content snap that is important part of the main snap is still being downloaded or is due for install.

I don’t know what is the intention of snappy developer have with this behavior of installing snaps that require content snaps. This issue being misguiding people since years, users ends up writing bad reviews about the app in store that the app is not starting(those who expect the app to get launched when they click the desktop launcher icon of app), some report that the app is reporting missing libraries thing when they run it from terminal.

I hope snappy developers will prioritize this and fix this soon.

Sorry for my bad English, am not a native English speaker
Thank you.

we should be able to mitigate this (which is a regression from when we reordered some operations) in the context of the work we are doing to finalize refresh app-awareness. The support we have there to wait to let applications start while they are refreshed should be usable also during install.