Spaces:
Sleeping
Sleeping
Commit History
-
Remove unnecessary keep-alive (already in nanobot repo)
Lenson3951597 -
Add keep-alive: use HF token auth, /health endpoint, every 12h
Lenson683941c
-
refactor: decouple AccountPool, split codex-api and web.ts, fix CI (#113)
icebear +1: icebear0828Unverified signature* refactor: decouple AccountPool, split codex-api and web.ts, fix CI Phase 0 — CI fixes: - Fix TS2322: WS transport instructions type mismatch (Electron/Docker build) - Remove duplicate selectAll i18n keys (Vite warning) - Add rebase retry to sync-changelog.yml push step (race with bump-electron) Phase 1-5 — Architecture improvements: - Extract codex-types.ts: API type definitions separated from class - Extract rotation-strategy.ts: pure-function selection logic (10 tests) - Split web.ts (605 LOC) into routes/admin/ (health/update/connection/settings) - Extract account-persistence.ts: injectable fs persistence interface (8 tests) - Split codex-api.ts into codex-sse/usage/models modules (10 tests) All existing import paths preserved via re-exports. 902 tests pass (70 files), build clean. * fix: address PR #113 review issues before merge - Fix needsPersist regression: load() now returns { entries, needsPersist } and auto-persists when backfill is applied (restores original behavio…0c8b3c0 -
fix: use --publish never + manual upload for macOS x64 build
icebear0828electron-builder's publisher tries to manage ALL release assets during upload, causing 422 conflicts when arm64 assets already exist. x64 now builds with --publish never and manually uploads only its own artifacts.dd4a13a -
fix: serialize macOS builds to prevent release asset collisions
icebear0828macOS arm64 and x64 builds were uploading assets in parallel, causing 422 "already_exists" errors for shared files (latest-mac.yml, blockmaps). Now x64 runs after arm64 completes. Also added a pre-pack step to clean stale assets from failed reruns.d71ac65 -
ci: auto-trigger release after bump via workflow_dispatch
icebear0828GITHUB_TOKEN tag pushes don't trigger other workflows (GitHub limitation). Now the bump workflow explicitly dispatches release.yml after pushing the tag. Also renamed workflow for clarity and added retry-on-conflict logic.353ecc2 -
fix: add retry with rebase to bump workflow on push conflict
icebear0828The bump workflow failed when concurrent workflows (e.g. changelog sync) pushed to master between checkout and push, causing a ref lock conflict. Now retries up to 3 times with pull --rebase.968fdb7 -
feat: add version bump workflow + release pipeline tests
icebear0828- bump-electron.yml: auto bump both root + electron version on master push, replacing the old sync-electron.yml version management - release-pipeline.test.ts: validates full build chain (core → desktop → esbuild → prepare-pack) and CI workflow file references1562152 -
ci: add prepare-pack step to release workflow
icebear0828a5b6a79
-
refactor: migrate electron from branch to npm workspace
icebear0828Electron code moved from a separate branch into packages/electron/, eliminating the fragile master→electron branch sync that caused frequent merge conflicts (package.json, lockfile, release.yml). - Add npm workspaces to root package.json - Create packages/electron/ with independent deps (electron, electron-builder, esbuild) - Desktop UI imports use @shared/ Vite alias instead of deep relative paths - Rewrite release.yml for workspace-aware build - Delete sync-electron.yml (no longer needed) - Cherry-pick setup-curl.ts fixes from electron branch (GITHUB_TOKEN, dll rename, tar fallback)178e38e -
fix: macOS Electron login error -86 (EBADARCH) due to wrong-arch curl binary (#96) (#98)
icebear +1: icebear0828Unverified signatureCI built both arm64/x64 DMGs on a single arm64 runner, bundling only the arm64 curl-impersonate into both. Intel Mac users got EBADARCH when spawning the binary during OAuth token exchange. - Split macOS CI into per-arch jobs with --arch flag for setup-curl.ts - Add --arch override to setup-curl.ts for cross-compilation - Improve spawn error message to diagnose architecture mismatch Co-authored-by: icebear0828 <icebear0828@users.noreply.github.com>6c928c9
-
feat: Docker image auto-publish to GHCR + Watchtower support
icebear0828- Add docker-publish.yml workflow: multi-arch (amd64/arm64) build on every push to master, published to ghcr.io/icebear0828/codex-proxy - Switch docker-compose.yml from local build to pre-built GHCR image - Add commented Watchtower service block for automatic updates - Simplify README Docker section: no git clone needed, just curl configs - Update dashboard Docker hint to mention Watchtower option - Add dockerAutoUpdateHint i18n key (en/zh)7ff102d
-
fix: review improvements — schema walker, status helper, UI i18n, CI version skip
icebear0828 +1: Claude Opus 4.61. walkSchema: add patternProperties, if/then/else traversal + cycle detection 2. proxy-handler: extract toErrorStatus() helper, centralize 4x StatusCode casts 3. Header StableText: dynamic t() references for i18n + whitespace-nowrap on status button 4. sync-electron.yml: cancel-in-progress: false + merge two pushes into one Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>6220911
-
fix: stable i18n layout + version sync from electron to master
icebear0828 +1: Claude Opus 4.6- Header: extract StableText component using inline-grid + whitespace-nowrap to prevent layout shift AND line wrapping when switching languages - getProxyInfo(): try git tag first, fall back to package.json (skip 1.0.0) - sync-electron.yml: after bumping electron, sync version to master's package.json with [skip ci] so git-mode users see real version number - Export NEW_VERSION to GITHUB_ENV for cross-step access Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>d712fd9 -
ci: trigger release via workflow_dispatch to fix GITHUB_TOKEN limitation
icebear0828 +1: Claude Opus 4.6GITHUB_TOKEN push events don't trigger downstream workflows. Instead of relying on tag push to trigger release.yml, sync-electron now explicitly calls `gh workflow run` with the tag name after pushing. - release.yml: accept `inputs.tag` for workflow_dispatch, checkout + release by tag - sync-electron.yml: add `gh workflow run release.yml` step after tag push - Add `actions: write` permission for workflow dispatch Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>20b98cc -
fix: generate clean release notes from git log
icebear0828 +1: Claude Opus 4.6Sync release.yml with electron to avoid future merge conflicts. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>984bd7e -
feat: auto-release pipeline + multi-mode update system + commit hash display
icebear0828 +1: Claude Opus 4.6- sync-electron.yml: auto bump patch version + create tag after merge, concurrency group - release.yml: replace CHANGELOG extraction with GitHub auto-generated release notes - self-update.ts: support git/docker/electron deploy modes, GitHub Releases API, periodic checker - Header: show commit hash in status badge, expandable update panel with changelog - use-update-status: add applyUpdate, mode/commits/release fields Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>0c2aed2
-
ci: auto-sync master → electron branch on push
icebear0828 +1: Claude Opus 4.6Automatically merges master into electron when master is pushed. On conflict, creates a GitHub issue with manual resolution steps (deduped by sync-conflict label). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>8e4f44b
-
ci: improve changelog sync to show only Added highlights
icebear0828 +1: Claude Opus 4.6Rewrite sync-changelog workflow from Python to Node.js. Extract only ### Added sections (max 3 versions, 5 items each) instead of dumping the full changelog. Add workflow_dispatch trigger for manual runs. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>2029dd9 -
ci: auto-sync CHANGELOG to README via GitHub Actions
icebear0828 +1: Claude Opus 4.6Extracts the 3 most recent version sections from CHANGELOG.md and injects them between <!-- CHANGELOG:START/END --> markers in README.md. Triggered on push to master when CHANGELOG.md changes. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>680b9a3