vin
caf9d5849a
fix: project id fallback and stream error regression ( #94 )
...
* fix(proxy): harden project id handling for upgraded accounts
* fix(proxy): parse stream error payloads to preserve upstream project errors
2026-02-11 17:11:27 +08:00
vin
ab78d93252
fix: project id forwarding regression ( #93 )
...
* fix(proxy): avoid empty project context and hydrate project_id from account token
* test(proxy): add regressions for empty project and token project_id hydration
* test(scripts): add live request validator for project_id forwarding
2026-02-11 12:36:01 +08:00
vin
e5037dabcb
chore(lint): remove unused imports via eslint unused-imports ( #89 )
2026-02-11 02:54:23 +08:00
vin
b89dd2c3bb
feat: global error fallback and e2e ( #91 )
...
* fix(ui): add global route fallback with error toast and retry
* test(e2e): cover cloud accounts error fallback UI
2026-02-11 02:25:10 +08:00
vin
bcca5ec935
fix: prevent page crash on 500 and add toast-based fallback ( #90 )
2026-02-11 01:22:05 +08:00
vin
13f10fe32f
feat: implement protocol parity and harden upstream handling ( #88 )
...
* feat: implement protocol parity and harden upstream handling
* docs(agents): add lodash-es utility method and named import guideline
2026-02-11 00:42:39 +08:00
vin
0f7a629a47
feat: add vercel and ui skills ( #86 )
2026-02-09 19:44:01 +08:00
vin
e4584d0bc4
docs: upgrade openspec workflow ( #85 )
2026-02-09 19:39:36 +08:00
vin
56137092be
ci: fix publish workflow release tag resolution ( #82 )
2026-02-08 12:38:05 +08:00
vin
5b93ca8891
ci: remove darwin universal build from publish workflow ( #81 )
2026-02-08 11:07:01 +08:00
vin
3eaf9278ae
ci: split publish into build and gated release with dry-run ( #80 )
2026-02-08 10:14:34 +08:00
vin
a93c6d0cea
feat: complete account-bound profile switching and hardening ( #78 )
2026-02-08 01:10:07 +08:00
vin
ee641799c2
fix(ci): increase Node heap for publish step to prevent macOS OOM ( #76 )
2026-02-06 23:57:16 +08:00
vin
5fe434f705
fix(ci): make WiX Toolset setup resilient on Windows runners ( #73 )
2026-02-06 23:13:48 +08:00
vin
18389b9753
docs: translate repository documentation to English ( #72 )
2026-02-06 22:14:06 +08:00
vin
2ae2216f1e
refactor: migrate to winston and enable daily rotated app logs ( #71 )
2026-02-06 21:10:54 +08:00
vin
ed94abf0d6
fix: restore account switching on Antigravity 1.16.5 and migrate db sync to drizzle ( #69 )
2026-02-06 20:16:02 +08:00
vin
f572ae4652
feat: add multi-arch release artifacts and MSI packaging ( #65 )
2026-02-05 22:25:00 +08:00
vin
ce7147025d
feat: windows install guidance ( #63 )
...
* build: add dmg/appimage and artifact metadata
* feat: enhance packaging outputs and add Windows install-path notice
2026-02-04 18:10:26 +08:00
vin
080fb67974
chore: add Windows ARM64 publish runner and update readme ( #57 )
2026-02-01 18:08:13 +08:00
vin
f6f8069ce4
feat: add cloud reset time UI ( #56 )
...
* feat: show quota reset time on cloud account card
* chore: ignore changelog file in prettier
* style: format account card
2026-02-01 18:03:27 +08:00
vin
a785640d7a
feat: sentry integration ( #51 )
...
* feat: integrate sentry error reporting
* feat: report logger errors to sentry with 30s log context
2026-01-30 11:48:49 +08:00
vin
02080588b7
fix(security): add safeStorage fallback for production builds ( #38 ) ( #43 )
...
Summary
- Replace hard keytar dependency with a multi-strategy key storage:
1) safeStorage (Electron built-in) — preferred
2) keytar (system keychain) — fallback
3) file-based encryption — last resort
- Dynamically import keytar to avoid asar load failures
- Refactor cloudHandler to use const (clean code)
- Fix “Failed to load cloud accounts” in packaged app
Rationale
The keytar native module can fail to load from asar archives in production builds. This ensures the app works even when system keychain access is unavailable.
Additional changes
- Replace sync file ops with async (fs/promises)
- Add atomic file writes to prevent data races
- Implement concurrency lock for key generation
- Add security error codes for better diagnostics
- Add warnings for file-based fallback mode
- Align error handling after merge
- Migrate legacy encrypted account data
References
- Issue: #38
- Commit: 92dc2f6
2026-01-27 03:05:41 +08:00