Desktop app now holds a persistent websocket to the server and syncs
on push notifications instead of a fixed timer, falling back to the
old polling interval only when the socket is down. Cloud folder/file
listings are cached locally so the browser stays usable offline.
Claude-Session: https://claude.ai/code/session_01PoLmSR1pFVyHf8i5b1rNWk