Repository navigation
fix: harden desktop security and repair async state races - #11
heyitstarek wants to merge 8 commits into
Conversation
|
Thank you, this is a serious piece of work, and several of these issues are real on main. At 83 files and +6k lines, though, mixing security, races, dependency overrides and CI, it’s not something we can review or roll back safely in one go, and it no longer merges cleanly. So I’m closing it, and I’d really like the fixes to come back as small separate PRs, roughly in this order: sandbox: true and webSecurity: true for the main and overlay windows, plus the smoke test Please leave the CI workflows and the pnpm-workspace overrides out for now. Rebase each one on the current main. 1–4 are the highest priority, and I’ll review them quickly. |
Summary
Repairs desktop security and request lifetimes that could leak credentials, restore signed-out sessions, show another account's library, or overwrite newer playback/search/import state.
Commits separate renderer/session security, API/cache behavior, account views, playback/lyrics, frontend lifetimes, and maintenance. No product features, backend changes, request-signing changes, or license changes.
Evidence
After: 428 tests across 66 files pass, TypeScript and the production build pass, and the isolated Windows Electron security smoke passes..
sprintf-jsadvisory with no patched release; the disputedhttp-cache-semanticsadvisory is not claimed as independently remediated.Merge Danger
Door: Two-way for code; reverting to a version without protected-session support requires signing in again after migration removes legacy plaintext tokens.
Blast Radius: Desktop
Cross-cutting native/session changes need a coordinated desktop and frontend release. Existing signed OTA bundles remain upstream-controlled and can replace frontend code; this PR does not change that update policy. Linux without a recognized OS secret store uses memory-only sessions. Native Linux/macOS runtime, packaged installers, live playback, server retention and music-source rights have not been verified.