Hide 'Copy content for offline use' when not used
The option to copy an online CardDAV address book locally is completely ignored and confusing for the user
Evolution > Edit > Accounts > Add > Address Book > CardDAV Copy book content locally for offline operation: Checked/Unchecked
Regardless if the copy-offline option is checked or not, the address book is always completely downloaded to the /home/main/.cache/evolution/addressbook/ directory. It is always created and never deleted if the option is unchecked. Neither is the address book saved to /home/main/.local/share/evolution/addressbook/ Any update is always written to the '.cache' local file regardless if the option is checked or not
If the "Detect Online: Default" option is set, then every time Evolution is closed and re-opened, the address book is displayed empty, regardless if the copy-offline option is checked or not. Additionally, the complete address book remains in the /home/main/.cache/evolution/addressbook/ directory and is not even updated if there are no changes. This proves that Evolution is completely aware of it's existence and re-uses it after it confirms that is it identical to the contents of the server. It also proves that the communication via proxy is working correctly with the server.
If the "Detect Online: Always Online" is set, then when Evolution is closed and re-opened, the address book is immediately visible, regardless if the copy-offline option is checked or not and EVEN regardless if the "Work Offline" override is set.
I understand that there are two parts, the Evolution GUI and the Evolution Data Server, however, Evolution must be coherent with the user.
If a cleanup is not planned for these offline/online/proxy/copy-offline features to make them coherent, the simplest would be to remove the "Copy book content locally for offline operation" for now since it is more confusing and only takes partial effect on reboot. The behavior would remain as-is with a few fixes to the ignore the "Detect Online" results since all that matters is that there is cached data or not. This is basically the way it behaves at the moment if the "Detect Online: Always Online" is set.
Here are a two examples expected behaviors:
Copy-offline NOT set > Evolution offline (auto-detected or forced "Work Offline" > contacts inaccessible
Copy-offline SET > contacts always accessible, they never dissapear, regardless of "Detect Online: Default", and even if the detect code is broken with a proxy glib#1320, we don't care if we are online or not, we had set copy-offline!
For reference, Evolution properly sets the [Offline]:StaySynchronized options in the configuration files:
cat ~/.config/evolution/sources/* | grep StaySynchronized
Edit->Preferences->Network Preferences->Method to detect online state: Always Online.
Also, setting the copy-offline for the CardDAV Address Book leads to less confusion since Evolution currently mostly behaves like copy-offline is set.
Evolution > Edit > Accounts > Add > Address Book > CardDAV Copy book content locally for offline operation: Checked
Workaround in summary: "Network detect: Always Online" and "Copy book content locally" combined.