Download deltas feature write-up

Thanks for a great write-up! I have a clarifying question that is hopefully not out of place in this thread:
As of today (snapd 2.30), are there any specific requirements to get snap updates to be downloaded as deltas instead of full snaps?

I’m having trouble getting updates of an app that I’m publishing myself to download as deltas. It’s a python script + libraries that result in a 23MB snap. If I make a minor change to the codebase, snapcraft successfully generates a small (~300KB) delta and pushes that delta to the store when I run snapcraft push <snapname>.snap, so that’s good. I then release the snap to “edge”.

However, when I run snap refresh on a client, the full 23MB snap is downloaded, instead of the ~300KB delta. I tried a few times on sequential releases, with the same result each time. I’d like to understand what it is about my setup that’s causing the full snap to be downloaded rather than the delta.

Some potentially relevant facts:

  • As mentioned, this is a private snap in the “edge” channel
  • My snapcraft.yaml file has grade: devel and confinement: strict set. Confinement is not overridden during install.
  • I have only carried out the above-mentioned updates by running snap refresh manually, rather than waiting for auto-refresh.
  • Perhaps unsurprisingly, sudo journalctl -u snapd doesn’t throw up anything related to these refreshes. It’s not clear to me where to look for the log messages pasted in the original link (e.g. Deltas enabled.), or indeed how to go about troubleshooting this further.

Let me know if the question should be moved to a separate thread - I’m posting here in the hope that it’s a simple answer that can contribute to the existing discussion around functionality. Thanks in advance for any help anyone can offer!