omacal v0.15.0
What's new
A CalDAV server on your own network connects. A self-hosted Radicale, Baïkal or Nextcloud on your LAN was refused three different ways at once: the account field demanded something shaped like an email address, so a plain username could not even be submitted; plain http:// was accepted only for localhost, which is not where anyone's home server actually lives; and when omacal turned an address down it said "Sync failed. See the application log for details." rather than why. All three are fixed. The field is now "Email or account name", http:// works for addresses that can only be on your own wire — loopback, 192.168.x.x, 10.x.x.x, 172.16–31.x.x, and names like nas, *.local or *.home.arpa — and a refusal now tells you what it wants. A public http:// address is still turned down: the password rides on every request in the clear. Thanks to @xmha97 for reporting it (#28).
Closing the window can quit omacal. Settings → General → Closing the window quits omacal, off by default. Off is still the right default — reminders only fire while omacal is running, so an app that ends with its window is one whose notifications quietly stop — but "I closed it, I'm done with it" is a fair way to want a desktop app to behave, and until now the only way out was a tray icon you may have turned off yourself. Thanks to @xmha97 for asking (#26).
The AppImage now says what it is, and where to update from. It carries the X-AppImage-* desktop keys — name, version, architecture, homepage — so AppImage managers can recognise it and notice a new release, and it now ships with real AppImage update information plus the matching .zsync file beside it, which is what AppImageUpdate, appimaged and AppManager actually fetch to update in place. omacal's own in-app Update button is unchanged and still the simplest route. Thanks to @xmha97 for the request (#27).
Install / update: on v0.4.0+, click Update in the header's notice. Or:
curl -fsSL https://extremelabs.io/omacal/install.sh | sh
omacal skill install