4 months ago
14b7e0aRedesign the iOS home screen as a proper iOS Settings/Mail-style grouped list (no more bento card, accordion, or permanent drag handles), with a trailing compose button, pull-to-refresh, an in-section error/retry row, and a tappable "Cowork Desktop disconnected" banner that routes to Remote access. Mirror the same shape on the non-iOS fallback. Make remote thread sync resilient: requestThreadList ensures init like readThread/resumeThread; loadRemoteThreadsFromPlan runs in parallel via Promise.allSettled and throws when every entry fails so callers can surface errors instead of resolving with empty results; useThreadHome exposes refreshHome() to re-fetch workspaces + bounded threads, with an 8s outer race so user-initiated loads never hang. Detect a stale pairing in the transport layer: after two consecutive sendPlaintext failures matching the repin-required pattern (cert mismatch, connection refused, network failed), secureTransportClient clears the active session, persists, and flips connectionStatus to "error" with DESKTOP_IDENTITY_CHANGED_ERROR so the home banner has honest state to render and the user gets a one-tap path back into Remote access. Co-authored-by: Cursor <cursoragent@cursor.com>
Parentf13d664