Repository navigation
fix: honour XDG_CONFIG_HOME on Windows so the CI matrix can go green - #17
Merged
Merged
Conversation
configDir() checked win32 first and returned %APPDATA%\plx unconditionally, so the explicit override was ignored on exactly one platform. The test suite points XDG_CONFIG_HOME at a fresh temp dir per test for isolation, which meant every Windows test instead shared one real %APPDATA%\plx: a credential saved by one case was still there for the next, and config.test.ts:43 read back 'arl-value' where it expected ''. Both Windows legs of the CI matrix have been red since the matrix was added. Check the override before the platform branch. %APPDATA% stays the Windows default and ~/.config the Unix one; only the precedence changes. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The out-of-scope note lumped Windows, Linux and Firefox together as "not done yet", which was wrong in both directions. Windows Chromium is not pending work but closed: App-Bound Encryption (Chrome 127+) wraps the cookie key in SYSTEM-DPAPI, and every bypass is malware behaviour. Firefox was listed as key4.db-encrypted, but key4.db holds logins — cookies.sqlite is plaintext on every OS, making it the one cheap backend, not a hard one. Also record why both Windows CI legs were red, and state in the README that Windows and Linux run plx fine and only lack the auto-fetch shortcut. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
plx | 9564961 | Commit Preview URL Branch Preview URL |
Aug 19 2026, 08:24 AM |
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.
Both
windows-latestlegs of the CI matrix have been red since the matrix was added — including on the0.1.3release commit. This fixes the cause and corrects the docs that misreported it.The bug
configDir()checked the platform before the override:So
XDG_CONFIG_HOMEwas honoured everywhere except Windows.tests/config.test.tspoints that variable at a fresh temp dir per test for isolation, which meant every Windows test instead shared one real%APPDATA%\plx. A credential written by one case survived into the next, andconfig.test.ts:43read back'arl-value'where it expected''.Nothing about the shipped Windows behaviour was broken — only its overridability, and therefore the tests.
The fix
Check the override first, then branch on platform.
%APPDATA%stays the Windows default and~/.configthe Unix one; only precedence changes.Docs
The out-of-scope note treated Windows, Linux and Firefox cookie decryption as one undifferentiated backlog. Two corrections:
elevation_service.execan unwrap it. Published bypasses are COM hijacking or injection into the elevation service — malware behaviour that would get plx flagged as an infostealer.key4.db-encrypted.key4.dbprotects saved logins;cookies.sqlitestores cookie values in plaintext on every OS. That makes Firefox the one cheap backend — and the only realistic route to auto-fetch on Windows — not a hard one.README now also states plainly that Windows and Linux run plx fine and only lack the auto-fetch shortcut.
Verification
typecheck,lint,buildand 116/116 tests pass locally on macOS. The point of this PR is thewindows-latestlegs — the bug is a Windows bug and macOS cannot prove it fixed. Merge once those are green.🤖 Generated with Claude Code