Commit Graph
32 Commits
Author SHA1 Message Date
Evandro Fonseca Junior 43aa538932 chore(ci): drop trailing whitespace in the publish workflow 2026-09-14 08:51:55 -03:00
Gemini Nexus Bot b13f06c0a3 ci: upload release assets sequentially with retry
Prevents 'HTTP 404: Not Found' and '502 Bad Gateway' errors from GitHub API
when attempting to upload many assets simultaneously using the gh cli.
2026-05-02 02:28:38 -03:00
Gemini Nexus Bot 268428a119 fix(ci): use Node 22 for semantic-release (requires ^22.14.0) 2026-05-02 00:53:33 -03:00
Gemini Nexus Bot 080bf30e38 fix(ci): remove explicit pnpm version from workflows
pnpm/action-setup@v4 reads the version from package.json packageManager
field automatically. Having both causes ERR_PNPM_BAD_PM_VERSION.
2026-05-02 00:50:12 -03:00
Gemini Nexus Bot 71bf8122d1 fix(ci): resolve release pipeline conflicts and clean repo structure
- Delete conflicting .releaserc.json (keep release.config.cjs as single source)
- Fix repo URL from Draculabo/AntigravityManager to evandrodevbr/GeminiNexus
- Fix @semantic-release/git to commit pnpm-lock.yaml (not package-lock.json)
- Normalize Node.js version to 20 across all workflows
- Add packageManager field to package.json for pnpm consistency
- Update AGENTS.md: npm -> pnpm (18 references)
- Update .gitignore: add tools/, thoughts/, binaries, one-shot scripts
2026-05-02 00:30:44 -03:00
Gemini Nexus Bot 195af14707 ci: chain publish workflow after release via workflow_run
- Replaced push/release triggers with workflow_run on Release completion
- Added check-release job to verify a new release exists before building
- Simplified publish job to use tag from check-release output
- This solves the GITHUB_TOKEN limitation where events don't trigger
  other workflows
2026-04-29 03:28:43 -03:00
Gemini Nexus Bot fea752cc4d ci: use GITHUB_TOKEN for semantic-release and add tag trigger to publish
Publish Release / build (x64, ubuntu-latest, linux) (push) Successful in 16m25s
Publish Release / build (arm64, macos-14, darwin) (push) Canceled after 0s
Publish Release / build (arm64, ubuntu-24.04-arm, linux) (push) Canceled after 0s
Publish Release / build (arm64, windows-11-arm, win32) (push) Canceled after 0s
Publish Release / build (x64, macos-15-intel, darwin) (push) Canceled after 0s
Publish Release / build (x64, windows-latest, win32) (push) Canceled after 0s
Publish Release / Publish Release (Manual Approval) (push) Canceled after 0s
- Switched from custom GH_TOKEN PAT to built-in GITHUB_TOKEN (always valid)
- Added push tags trigger (v*) to publish.yaml since GITHUB_TOKEN
  releases don't fire the 'on: release' event
2026-04-29 03:14:42 -03:00
Gemini Nexus Bot df7ecfe290 ci: auto-trigger release on main push and bump Node to 22
- Added push trigger on main branch for automatic releases
- Bumped Node.js from 20 to 22 (semantic-release requires ^22.14.0)
2026-04-29 03:12:00 -03:00
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
Gemini Nexus Bot afe8859f16 test: fix broken unit tests, add missing fixtures, and stabilize CI pipeline
- Fix os module mock pattern for Vitest v4 in proxy-ide-config tests

- Fix enterprise oauth_client_key expectations in cloudHandler-sync and token-manager-parity tests

- Fix proxy-controller integration test argument expectations

- Add missing proxy-parity JSON fixtures (OpenAI tools, Anthropic tool-use, Gemini SSE)

- Add reasoning_content mapping to convertClaudeToOpenAIResponse

- Fix google-api service test env var cache leak with resetModules + dynamic imports

- Fix proxy-metrics timer tests by calling onModuleInit in beforeEach

- Fix locale-sensitive number formatting in StatCard tests

- Add missing test files to version control (components, hooks, ipc, mocks, server, utils)

- Fix CI workflows: testing.yaml (use vitest run, add type-check job, npm cache), lint.yaml and format.yaml (add npm cache, concurrency, fix job names)
2026-04-23 16:57:58 -03: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 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 f572ae4652 feat: add multi-arch release artifacts and MSI packaging (#65) 2026-02-05 22:25:00 +08:00
vin 080fb67974 chore: add Windows ARM64 publish runner and update readme (#57) 2026-02-01 18:08:13 +08:00
Draculabo 6328378da5 chore: make release manual and publish on release 2026-02-01 17:55:06 +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
Sujit BiswasandDraculabo 1265d044f6 feat: Implement collapsible sidebar and refined status bar UI (#45)
* chore: mark peer dependencies in package-lock.json

* docs: add comprehensive developer guide for antigravity-manager

* build: add @radix-ui/react-tooltip dependency

The tooltip component is needed for future UI enhancements to provide better user guidance and information display.

* feat(StatusBar): add collapsed view with toggle button

- Introduce `isCollapsed` prop to support both expanded and compact layouts
- Collapsed view shows a single icon button with status tooltip
- Enhanced visual styling with shadows, borders, and improved spacing
- Use Tooltip component to display status in collapsed mode

* feat(ui): add Radix UI tooltip component wrapper

Create a reusable tooltip component using Radix UI primitives.
The wrapper provides styled content with animations and integrates
with the project's class name utility for consistent theming.

* feat(layout): add collapsible sidebar with persistent state

- Add toggle button to collapse/expand sidebar with smooth animations
- Persist sidebar state in localStorage to maintain user preference
- Show tooltips for navigation items when sidebar is collapsed
- Adjust StatusBar component to support collapsed state

* chore: remove "peer": true flags from package-lock.json

* build: mark peer dependencies in package-lock.json

* build: add yaml v2.8.2 dependency and update package-lock

* docs(project_overview): update skill documentation formatting

* docs: remove extra blank line in AGENTS.md

* docs: update changelog formatting to use hyphens

* docs: improve readability of OpenSpec workflow files

* chore: standardize YAML string quotes in GitHub configs

* style(StatusBar): reformat JSX for consistency and readability

- Simplify className expres

* style(ui): standardize quotes and class order in tooltip component

- Use single quotes consistently across imports and strings
- Reorder Tailwind CSS classes to follow recommended conventions

* style(ipc): remove unnecessary parentheses in debug log statement

* style(MainLayout): improve code formatting and consistency

- Reformat multi-line import for better readability
- Normalize Tailwind CSS class ordering
- Remove unnecessary whitespace and ensure consistent quotes
- Maintain all functionality while improving code style

* style(i18n): format long translation strings for better readability

* style: remove unnecessary line break in logger.info call

The logger.info call had an unnecessary line break that made the code less readable. The line has been consolidated to improve code style consistency.

* chore: disable several ESLint rules for development flexibility

Disable TypeScript ESLint rules and other linting rules that are too restrictive during active development. This allows faster iteration without constant linting errors for common patterns like `any` types, unused variables, and inline comments.

* refactor: use const for immutable variables in request mapper

- Change `let` to `const` for variables that are not reassigned
- Improves code clarity and prevents accidental reassignment

* refactor: replace direct hasOwnProperty calls with safe variant

Use Object.prototype.hasOwnProperty.call to avoid issues when objects have overridden hasOwnProperty method. This ensures consistent behavior across all object types.

* fix: disable eslint for intentional assignment in useEffect

The eslint warning was triggered by directly using setProxyConfig with config.proxy inside useEffect without including it in the dependency array. This assignment is intentional and only needs to run when config changes, not when setProxyConfig changes. Adding the eslint-disable comment prevents the warning while maintaining correct behavior.

* chore: disable react-hooks/exhaustive-deps rule

This rule was already disabled; the change only adds a trailing comma to the ESLint configuration for consistency.

* fix(eslint): re-enable lint rules for hooks and case-declarations

---------

Co-authored-by: Draculabo <[email protected]>
2026-01-28 18:55:40 +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 6a07bc0a10 ci: trigger publish on release published event 2026-01-25 18:35:20 +08:00
Draculabo d2945a6e8a ci: setup semantic release configuration and github actions workflow 2026-01-25 05:07:39 +08:00
Draculabo e96d3e0e8e fix: add macOS arm64 build for Apple Silicon support 2026-01-21 17:15:17 +08:00
Draculabo a079cf5ccc fix: ci build error 2026-01-10 01:17:48 +08:00
Draculabo c4a0fa773f docs: update project document 2025-12-24 23:11:54 +08:00
Draculabo 91ed81f736 ci: disable E2E tests in CI
Publish Release / publish (ubuntu-latest) (push) Failing after 5m44s
Publish Release / publish (macos-latest) (push) Canceled after 0s
Publish Release / publish (windows-latest) (push) Canceled after 0s
2025-12-23 20:09:26 +08:00
Draculabo 0652c31b3e fix: add node-addon-api and remove redundant rebuild step 2025-12-23 19:41:08 +08:00
Draculabo 6071f2a930 fix: rebuild native modules for Electron in CI 2025-12-23 02:00:37 +08:00
Draculabo d0417339c1 Initial Commit 2025-12-23 01:38:53 +08:00