Cloud sync fixes (CMEM Pro)
- Lapsed trial or revoked token no longer retries forever. When the sync server answers 401/403, claude-mem pauses cloud sync, re-checks once an hour, and resumes on its own after a renewal. Status explains the cause: renew at cmem.ai/pro (subscription inactive) or reconnect at cmem.ai → Connect (token no longer valid).
- Sync failures are no longer silent. A paused or long-failing sync now shows one plain-language line in the SessionStart context, and
/api/sync/statusgainsauthErrorandhealth. HTML error pages are summarized instead of dumped. - #4228: installs with cloud sync off clear the leftover
sync_outboxbacklog on worker start. - #4086: one op the sync server keeps rejecting (e.g.
revision_hash_conflict) is quarantined after 3 attempts so the rest of the queue keeps uploading.
PR: #4236