Commit Graph
6 Commits
Author SHA1 Message Date
Gemini Nexus Bot de866a74bf ci: migrate all workflows to pnpm, upgrade @vitejs/plugin-react to v6
- Replace npm ci with pnpm install --frozen-lockfile in all 5 workflows
- Add pnpm/action-setup@v4 step to lint, format, testing, release, publish
- Upgrade @vitejs/plugin-react 4.7.0 -> 6.0.1 (supports vite 8)
- Add @rolldown/plugin-babel as required peer dependency
- Remove package-lock.json (project uses pnpm-lock.yaml)
2026-04-29 02:48:19 -03:00
Gemini Nexus Bot 3420fc86d2 ci: add semantic-release config, regenerate build icons, normalize Node 20
- Create .releaserc.json with conventional commits, changelog, npm version bump, and GitHub release
- Regenerate all build icons (PNG, ICO, ICNS) from new GN logo
- Normalize Node.js version to 20 across all CI workflows (testing, lint, format, release)
2026-04-29 02:37:29 -03:00
Gemini Nexus Bot bac7b5591e style(design): apply Minimal Dark Mode design system\n\n- Switched to complete Dark Mode (OLED-friendly)\n- Established standard color palette matching modern technical aesthetics\n- Changed font to Plus Jakarta Sans for increased legibility\n- Enforced dark mode as default in App.tsx\n- Fixed several React cascading render (setState in useEffect) warnings 2026-04-28 03:49:34 -03:00
Draculabo 6328378da5 chore: make release manual and publish on release 2026-02-01 17:55:06 +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
Draculabo d2945a6e8a ci: setup semantic release configuration and github actions workflow 2026-01-25 05:07:39 +08:00