What the user sees
An installed Crosslink app that is opened while the desktop host is off does not show the browser’s cannot connect to server page. Crosslink caches its own shell, so the app opens to a Crosslink screen naming your application:application metadata, carries your colours and icon, and shows the
Crosslink mark and attribution. It retries on its own, and when the host comes
back it verifies the existing device identity and hands your app a fresh session
— no new pairing code.
Re-pairing is required only when the trust relationship is genuinely gone:
revoked from the desktop, deleted, or unreadable. Not when the desktop was
closed, the machine slept or restarted, the Wi-Fi changed, or the phone moved
networks.
Client offline
When the client loses connectivity:Host offline
When the host goes offline:Host unreachable but running
If the host is running but unreachable (network partition):Offline call queueing
Only idempotent methods are queued during disconnection:What makes a method idempotent?
A method is idempotent if calling it multiple times with the same input produces the same result:- Read operations (
get,list,search) — naturally idempotent - Write operations (
create,update,delete) — generally not idempotent - Conditional writes (
update if current == X) — idempotent
Subscription restore
After reconnection, subscriptions are automatically restored:Identity persistence
Both host and client persist their identity across restarts:- Host:
.crosslink-data/<appId>/identity.json(or OS keychain) - Client: IndexedDB (encrypted) or localStorage (fallback)