Skip to content

fix(windows): show conversation cloud-list failures when only local rows exist - #56

Draft
formed2forge wants to merge 1 commit into
mainfrom
cursor/conversations-cloud-list-ecaa
Draft

fix(windows): show conversation cloud-list failures when only local rows exist#56
formed2forge wants to merge 1 commit into
mainfrom
cursor/conversations-cloud-list-ecaa

Conversation

@formed2forge

@formed2forge formed2forge commented Sep 2, 2026

Copy link
Copy Markdown
Owner

Why

A Windows install that can record locally but cannot pull GET /v1/conversations looked like it had no phone/Linux history. The Conversations page only rendered the cloud error when rows.length === 0, so any local recording hid a failed or non-array cloud response.

The backend list is account-wide (not device-scoped). A 200 HTML/object from the Vite origin (missing VITE_OMI_API_BASE) was also treated as [].

What

  • Show Cloud conversations: … whenever the fetch failed and no cloud row is on screen. A failed revalidation over an already-visible cloud list stays quiet.
  • Treat a non-array list body as a fetch failure.
  • Renderer omiApi falls back to https://api.omi.me when the Vite env is blank (main process already did this).
  • pnpm dev runs ensure-env.mjs so a checkout without .env gets the public production defaults.

Folded into windows-all-fixes

Merge 2a71b814d5. GUI: git fetch origin && git checkout windows-all-fixes && git reset --hard origin/windows-all-fixes. Do not merge this to fork main.

Verification

cd desktop/windows
pnpm exec vitest run src/renderer/src/lib/conversations/filtering.test.ts
# 27 passed

On the Windows box after the WAF reset: open Conversations. If the cloud pull is still failing, a banner should appear above the local recordings. DevTools → Network should show GET https://api.omi.me/v1/conversations with a JSON array and Authorization: Bearer …. Settings → Account email must match Linux/phone.

Failure-Class: FC-denial-rendered-as-empty-success

Open in Web Open in Cursor 

…al rows

GET /v1/conversations is account-wide, not device-scoped. A failed or
non-array response plus a few local Windows recordings used to look like
"this install has no other devices' history" because the banner was
`error && rows.length === 0`. Show the cloud error whenever no cloud row
is on screen. Treat a non-list body as a fetch failure. Fall the
renderer API base back to https://api.omi.me (and copy .env.example on
`pnpm dev`) so a missing Vite env does not hit the local origin.

Verification: pnpm exec vitest run src/renderer/src/lib/conversations/filtering.test.ts — 27 passed.

Failure-Class: FC-denial-rendered-as-empty-success

Co-authored-by: 97rh699b7t <97rh699b7t@privaterelay.appleid.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants