Commit Graph

21 Commits

Author SHA1 Message Date
delta-cloud-208e
47e1978bef fix(installer): retry git ops + reject placeholder api_key + sync public configs
User hit two bugs in production:
1. uclaude_install.sh ERROR: Command failed at line 82 — gitea returned
   transient HTTP 502 to `git fetch`, `2>/dev/null` masked stderr but
   ERR trap fired with cryptic message.
2. After install, claude model picker showed only 5 models (built-in
   defaults) instead of 19. Root cause: load_config() fell back to the
   PUBLIC sanitized patcher.config.json (api_key='YOUR_API_KEY') after
   remote fetch failed → claude API auth broken → custom models invisible.

Fixes:

claude/uclaude_install.sh:
- New retry_git() helper: 3 attempts, 5s backoff, loud diagnostic
- Existing-clone branch: retry_git wraps `git fetch` AND `git reset`
- Fallback: if fetch fails 3x on existing clone, nuke and re-clone fresh
  (incremental fetch breaks more often than full clone on flaky gitea)
- Secondary fetch (before updater): tolerates failure with `|| true`
  (we already have a working clone)

claude/uclaude_updater.py:
- _config_is_usable() guard: rejects {"api_key": "YOUR_API_KEY"} etc.
- load_config() retries remote 3x with backoff before falling back
- Removed local-file fallback (was loading public sanitized = bait)
- Cache-only fallback now (from previous successful fetch)

Public configs synced from canonical (api_key sanitized, models list
fully refreshed):
- claude/patcher.config.json: 17 → 19 models (+gpt-5.5, +gemini-3.1-pro etc)
- codex/codex_config.json: 4 → 5 models (+gpt-5.5)
- gemini/gemini_config.json: refreshed
- target_version: 2.1.112 → 2.1.119

Tests: tests/test_installer_robustness.py — 6 new GREEN guards.
Total: 196 → 207 GREEN.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-25 18:25:43 +00:00
delta-cloud-208e
8924b75e91 SECURITY: redact api_key from public repo (Variant B)
CRITICAL: api_key 'ClauderAPI2' was committed to PUBLIC unlimitedcoding
repo (private:False on gitea) in 4 *_config.json + 8 ps1 scripts. Anyone
on the internet could read it via curl with no auth (HTTP 200 raw access).

This commit:
1. Sanitizes 4 *_config.json: api_key → "YOUR_API_KEY" + _note pointing
   users to private config repo for production credentials.
2. Removes 'ClauderAPI2' literal from 8 ps1 installer/updater scripts
   (claude/codex/gemini/qwen × install/update). Each script now has a
   sanitized block at top that fetches api_key from private
   unlimitedcoding-config repo at runtime via Authorization token.
3. Switches 6 sh installer scripts from public REPO_RAW to PRIVATE
   unlimitedcoding-config base URL for *_config.json downloads.
4. Removes stale .patcher.config.cache.json (will regen on next install).

Production configs MOVED to private repo (separate commit e839102 on
unlimitedcoding-config/main).

KNOWN UNCHANGED:
- releases/v2.1.119/sea/cli-wrapper.cjs still has api_key (part of npm
  package distribution; clients need it locally; sensey serves same).
- Read-only gitea token (cadffcb0...) remains in installers — needed
  for token-auth fetch from private repo. Scoped read-only.

RECOMMEND: api_key rotation in proxy auth list because ClauderAPI2 was
publicly exposed for an unknown period. Existing client installs would
need re-install or env override.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-25 16:43:08 +00:00
delta-cloud-208e
b97ac4bb9e feat(codex): auto-update to v0.125.0
Binary: 0.124.0 -> 0.125.0
Config synced from claude_code_patcher.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-25 04:06:37 +00:00
delta-cloud-208e
65bc1b4bee feat(codex): auto-update to v0.124.0
Binary: 0.123.0 -> 0.124.0
Config synced from claude_code_patcher.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-23 19:38:16 +00:00
delta-cloud-208e
889d3af956 feat(codex): auto-update to v0.123.0
Binary: 0.122.0 -> 0.123.0
Config synced from claude_code_patcher.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-23 04:06:32 +00:00
delta-cloud-208e
1320f13f5c feat(codex): auto-update to v0.122.0
Binary: 0.121.0 -> 0.122.0
Config synced from claude_code_patcher.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-21 02:06:17 +00:00
delta-cloud-208e
99d55d3ab2 feat(codex): auto-update to v0.121.0
Binary: 0.120.0 -> 0.121.0
Config synced from claude_code_patcher.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-16 02:08:28 +00:00
delta-cloud-208e
fd359755ec feat(codex): auto-update to v0.120.0
Binary: 0.119.0 -> 0.120.0
Config synced from claude_code_patcher.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-11 14:08:02 +00:00
delta-cloud-208e
7d75fabcd2 feat(codex): auto-update to v0.119.0
Binary: 0.118.0 -> 0.119.0
Config synced from claude_code_patcher.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-11 02:09:02 +00:00
delta-cloud-208e
aedec5606d feat(codex): auto-update to v0.118.0
Binary: 0.117.0 -> 0.118.0
Config synced from claude_code_patcher.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-01 02:08:41 +00:00
delta-cloud-208e
3b293c1332 feat(codex): auto-update to v0.117.0
Binary: 0.116.0 -> 0.117.0
Config synced from claude_code_patcher.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-27 02:00:15 +00:00
delta-cloud-208e
65c2671f9d chore: replace API key ClauderAPI → ClauderAPI2
Updated in all config files, installer/updater scripts across
claude/gemini/codex/qwen.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-25 06:52:31 +00:00
delta-cloud-208e
ef964c6442 fix: Windows installer missing CLAUDE_CUSTOM_MODELS and other env vars
PS1 installer/updater only set ANTHROPIC_API_KEY and ANTHROPIC_BASE_URL,
missing CLAUDE_CUSTOM_MODELS (required for model picker), AUTH_TOKEN,
default model vars, and telemetry disable vars.

Also added .claude.json pre-configuration (onboarding skip, dark theme)
and mcp__* permission to settings.json.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-23 08:46:52 +00:00
delta-cloud-208e
de5c9334db feat(codex): auto-update to v0.116.0
Binary: 0.115.0 -> 0.116.0
Config synced from claude_code_patcher.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-20 02:09:12 +00:00
delta-cloud-208e
72cb50a166 feat(codex): auto-update to v0.115.0
Binary: 0.114.0 -> 0.115.0
Config synced from claude_code_patcher.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-17 02:02:39 +00:00
delta-cloud-208e
5525f6009a chore: change codex default reasoning effort from high to xhigh
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 22:39:55 +00:00
delta-cloud-208e
073cb7b18d feat(codex): auto-update to v0.114.0
Binary: 0.111.0 -> 0.114.0
Config synced from claude_code_patcher.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 20:11:36 +00:00
delta-cloud-208e
4734cead32 feat(codex): add gpt-5.3 to model catalog and config
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 09:02:20 +00:00
delta-cloud-208e
d25708db9e fix(codex): update default model to gpt-5.4, remove o3/o4-mini
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 08:15:32 +00:00
delta-cloud-208e
72ac0d75a0 chore: fix file permissions (644 → 755)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 07:46:35 +00:00
delta-cloud-208e
491b2a6854 feat(codex): add Codex CLI patcher — config+env based patching
Codex CLI is a Rust binary — patched via config.toml + env vars.
6 targets: api_endpoint, auth, telemetry, permissions, model, env.
Includes installer, binary updater, config validator, pipeline CLI.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 10:30:57 +00:00