Mercurial > projects > package-update-indicator
view org.guido-berhoerster.code.package-update-indicator.gschema.xml @ 31:9905d4ae351c
Fix continuos loop of update checks if the refresh cache interval is 0
If the interval for refreshing the cache is set to 0 each check for available
updates refreshes the cache and causes an "updates-changed" signal to be
emitted after a short delay which in turn triggers another check for updates.
The "updates-changed" signal does not actually mean that the number of
available updates has changed but rather that the package metadata cache has
been invalidated. Fix this by blocking the "updates-changed" signal handler
from when a periodic or irregular check is started until 4 seconds after it has
finished. This is necessary since the signal will be delivered with a delay
after a transaction has been completed.
In addition prevent checks for updates triggered by the "updates-changed"
signal from refreshing the cache even the interval is 0 since the emission of
the signal implies that the cache has just been refreshed.
author | Guido Berhoerster <guido+pui@berhoerster.name> |
---|---|
date | Thu, 29 Aug 2019 13:48:47 +0200 |
parents | 3d72ca76538d |
children | 24cba399757f |
line wrap: on
line source
<schemalist> <schema id="org.guido-berhoerster.code.package-update-indicator" path="/org/guido-berhoerster/code/package-update-indicator/" gettext-domain="package-update-indicator"> <key name="update-command" type="s"> <default>""</default> <summary>Update command</summary> <description>Command for installing updates.</description> </key> <key name="refresh-interval" type="u"> <default>86400</default> <summary>Refresh interval</summary> <description>The interval in seconds for refreshing metadata.</description> </key> <key name="use-mobile-connection" type="b"> <default>false</default> <summary>Whether to use a mobile connection</summary> <description>If enabled, use a mobile connection refreshing the package cache.</description> </key> </schema> </schemalist>