Commit Graph
13 Commits
Author SHA1 Message Date
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