add support for a desync store

this currently needs enabling after every reboot with

sudo mkdir /run/kde-linux-sysupdated/
echo "enable_store: true" | sudo tee /run/kde-linux-sysupdated/config.yaml

there is also a second option force_store: true which can be used to force store-behavior even when the heuristics want to do the range requests.

assuming the feature is enabled, the way things work is that first we check what kind of server we have been directed at. if it is a kde server, a cacheless cdn, or an unknown server then store mode gets used. in store mode all remote requests are instead directed at the desync store on storage.kde.org resulting in many tiny requests instead of a few big ones. the primary advantage is that they can be synced down from the origin server relatively quickly, what with being tiny, allowing more responsive streaming of content (avoiding the dreaded input/output error that large range requests suffer from) the additional force_store option makes it so that the server type gets ignored and the store is always used (mostly only useful for testing)

Fixes kde-linux#304 (closed)

Edited by Nate Graham

Merge request reports

Loading