docs(windows): fresh-Windows setup; pull tasks on first session - #53
Draft
formed2forge wants to merge 5 commits into
Draft
docs(windows): fresh-Windows setup; pull tasks on first session#53formed2forge wants to merge 5 commits into
formed2forge wants to merge 5 commits into
Conversation
Cover the from-zero path Linux testers hit when standing up a native Windows box: MSVC, .NET 10 SDK, Node 22.19, pnpm 10, OS privacy grants, and the GUI/E2E commands CI does not run. Co-authored-by: 97rh699b7t <97rh699b7t@privaterelay.appleid.com>
Win10 19041+ is the helper TFM floor and is a supported test box. Call out winget/App Installer, Settings paths, no screen-recording privacy page, and Mica being cosmetic-only. Co-authored-by: 97rh699b7t <97rh699b7t@privaterelay.appleid.com>
Fresh .NET 10 SDK installs often have zero NuGet sources, so PublishSingleFile fails with NU1100 on Microsoft.NET.ILLink.Tasks. Ship a nuget.config and print that diagnosis from the helper builds. Co-authored-by: 97rh699b7t <97rh699b7t@privaterelay.appleid.com>
A Tasks listIncomplete that beat the renderer session relay no-oped scheduleBackgroundSync without stamping lastSyncAt, then nothing else pulled until window-focus or the 5-min interval. A fresh Windows profile therefore showed an empty Tasks page after sign-in even when the same account had cloud action items. onSessionReady fires on the null→session edge (not token refresh) and index.ts schedules the first census there, matching the AI-profile "credentials arrived" kick. Verification: pnpm exec vitest run src/main/assistants/core/session.test.ts src/main/tasks/taskSyncEngine.test.ts — 70 passed. Failure-Class: FC-sync-gated-on-consumer-trigger Co-authored-by: 97rh699b7t <97rh699b7t@privaterelay.appleid.com>
A fresh Windows profile looking empty is usually a different account, a different VITE_OMI_API_BASE, or a pipe that never ran — not a missing developer API key. Memories are a live /v3/memories pull; tasks are local-first until the Firebase session is relayed; only Record→Screen uses the from-segments outbox. Unstick the stale VITE_OMI_API_KEY "blank = local only" claim in the setup guide, README, and .env.example. Co-authored-by: 97rh699b7t <97rh699b7t@privaterelay.appleid.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
Linux can exercise most of the Electron tree, but it cannot exercise the Windows-only native helpers (OCR, UI automation, WASAPI mute), the companion-bar HWND pathologies, Graphics Capture / Rewind, or the NSIS unpack. Standing up a Windows test box from a clean install was undocumented.
A first Windows 10 box then hit
NU1100restoringMicrosoft.NET.ILLink.Taskswhile buildingwin-ocr-helper(fresh .NET 10 SDK, zero NuGet sources).After helpers, mic, OCR, and Rewind worked, Conversations / Tasks / Memories looked unsynced on that fresh profile. Those are three different pipes, and the setup docs still claimed
VITE_OMI_API_KEYwas required for conversation sync (it is unused by the running app). Tasks had a real startup race: alistIncompletethat beat the renderer Firebase relay no-oped the background pull, then nothing else ran until window-focus or the 5-minute interval — so a just-signed-in Windows box showed an empty Tasks page even when the same account had cloud action items.What
Setup guide + helper restore:
desktop/windows/docs/windows-dev-setup.md(Win10 vs Win11, toolchain pins, first-run permissions)desktop/windows/nuget.configso helperdotnet publishuses nuget.orgTask sync + docs:
onSessionReadyfires on the null→session edge (not token refresh).index.tsschedules the first task census there.VITE_OMI_API_KEY.Folded into
windows-all-fixesMerge commit
e822c8456aonwindows-all-fixes(2026-09-02). GUI testing should reset hard toorigin/windows-all-fixes. This PR stays open as the upstream-landing vehicle — do not merge it to forkmain(mirror policy).Verification
On WAF after the fold:
tscnode + web clean. Fullvitest run src/mainwas 2463 pass / 23 fail on a pre-existingsentry.tselectron CJS named-import, not this change.On the Windows box, after
git fetch origin && git checkout windows-all-fixes && git reset --hard origin/windows-all-fixesand restartpnpm dev:GET https://api.omi.me/v3/memories.Failure-Class: FC-sync-gated-on-consumer-trigger