Skip to content

release v0.1.119 - #922

Merged
ranxianglei merged 1 commit into
masterfrom
2026-09-18_release-v0.1.119
Sep 18, 2026
Merged

ranxianglei merged 1 commit into
masterfrom
2026-09-18_release-v0.1.119

Conversation

@ranxianglei

@ranxianglei ranxianglei commented Sep 18, 2026

Copy link
Copy Markdown
Owner

Changes since v0.1.118

Base rebased onto current master (4a1b4e7) — the original head was cut before the OpenCode/pi native stack landed.

OpenCode native stack (V2)

OpenCode V1 native support

pi native plugin mode

Cache reconciliation

Compression & context

Install & platform

Tests & docs


Commit release v0.1.119 touches ONLY package.json + package-lock.json (version fields, 0.1.118 → 0.1.119). Branch based on current master (4a1b4e7). Per requester instruction no extra local test rounds were run — this workflow's checks (npm ci + typecheck + test + build) gate the publish.

Requested by @ranxianglei in #772.

@github-actions

github-actions Bot commented Sep 18, 2026

Copy link
Copy Markdown
Contributor

📦 Built Package Artifact

Branch: 2026-09-18_release-v0.1.119 (a3993e4)

Option A — Install from npm PR tag (recommended)

npm install -g billion-context@pr-922

Each push to this PR publishes a new version under the pr-922 npm tag.

Option B — Download artifact

  1. Download the artifact from the Actions run
  2. Extract the tarball and install:
tar xzf billion-context-pr922.tgz
npm install -g package

Install instructions are refreshed on each push.

@ranxianglei

Copy link
Copy Markdown
Owner Author

🤖 Powered by ework · qwen3.8-27b

[bot] 🏷 Verified release v0.1.119 (PR #922, head 2026-09-18_release-v0.1.119 → master):

Branch & commit

  • Branch based on current master 0cfde7a (zero drift); tip commit c54c3c4 carries exactly the message release v0.1.119
  • Diff vs master: ONLY package.json + package-lock.json, version fields 0.1.118 → 0.1.119 (3 lines total) — nothing else bundled

Content scope

CI 🔄 (at time of writing)

  • Green: version-guard, test (ubuntu-latest, 22), test (ubuntu-latest, 24), build-artifact, real codex vs deterministic fake upstream (zero tokens), codex accepts CODEX_HOME overlay + registers bili MCP
  • Still running: test (windows-latest, 22), test (windows-latest, 24)

I'll follow up here once the Windows jobs finish. Merge stays human-only — please merge #922 once CI is fully green, then verify with npm view billion-context version.

中文摘要:v0.1.119 release 分支已核验(仅版本字段变更、基于最新 master、#731/#895 均已合入),CI 除两个 Windows 测试外全绿,Windows 跑完我会在此跟进;合并请人工操作。

@ranxianglei

Copy link
Copy Markdown
Owner Author

🤖 Powered by ework · qwen3.8-27b

[bot] 🏷 CI update: 7/8 green — one failure, diagnosed as a pre-existing Windows-only flake, NOT caused by this release commit.

The failure (test (windows-latest, 22) only):

not ok 101 - #152: ensureRootCA writes combined-ca.pem with MITM root + public roots
  tests/ca-combined.test.ts:36 — AssertionError: 'combined bundle must contain the MITM root CA'
# tests 1744 / pass 1743 / fail 1

Why it can't be this commit: the diff is 3 version-string lines; the identical job was green on master HEAD 0cfde7a; windows-24 and both ubuntu jobs are green on this exact commit. It's intermittent.

Root cause (verified against code + logs):

  1. tests/ca-combined.test.ts isolates state by setting process.env.HOME to a temp dir — but Node's os.homedir() ignores $HOME on Windows (it uses %USERPROFILE%). So on win32, caDir() (src/paths.tsdataDir()homedir()) resolves to the runner's real shared dir, not the temp home. The test saves/restores XDG_DATA_HOME but never actually sets it.
  2. node --test runs files concurrently, and four files touch CA paths (ca-combined, launcher, mitm, web-routing).
  3. ensureRootCA() (src/ca.ts) is check→generate(2048-bit RSA, ~1s)→write, non-atomic. Two processes that both see "no root yet" each generate a different root and interleave writes of root-ca.pem / combined-ca.pem, leaving an inconsistent pair on disk (combined from generation A, root file from generation B). Only ca-combined.test.ts asserts on the file contents, so it's the sole visible victim. Linux/macOS are immune because $HOME is honored there.
  4. Side note (latent, same mechanism): two bili proxies starting simultaneously on a fresh install could hit the same first-boot window in production. Low probability (keygen window, once per machine), flagging for completeness.

Action taken: I re-ran the failed job — https://github.com/ranxianglei/billion-context/actions/runs/35299920051 — will report the outcome here. If it passes, that confirms the flake and the PR is mergeable as-is.

Suggested fixes (for your call — I didn't open a separate issue per workflow rules):

  • Test-side (minimal, hermetic): have ca-combined.test.ts set XDG_DATA_HOME to the temp dir (the xdg() helper checks env vars first, works identically on all platforms) instead of relying on HOME.
  • Product-side (optional hardening): make ensureRootCA()'s first-boot write atomic (generate to temp + rename, or O_EXCL creation) so concurrent processes can't clobber each other's root.

中文摘要:CI 唯一失败项(windows-22 的 CA 合并测试)已定位为 Windows 专属的既有 flake——测试用 $HOME 做隔离但 Windows 上 os.homedir() 不认 $HOME,并行测试进程共享真实 CA 目录,ensureRootCA() 非原子首启写入互相覆盖;与本次 release 提交无关(仅版本字符串变更,同一作业在 master HEAD 上是绿的)。已重跑失败作业,结果稍后在此跟进;修复建议见上,由你拍板。

@ranxianglei

Copy link
Copy Markdown
Owner Author

🤖 Powered by ework · qwen3.8-27b

[bot] 🏷 Rerun result: test (windows-latest, 22) → success on the identical commit c54c3c4. All jobs in the run are now green (8/8): version-guard, test ubuntu 22/24, test windows 22/24, build-artifact, plus the codex e2e / CODEX_HOME jobs from the other workflow.

That confirms the diagnosis — intermittent Windows-only CA-dir race, not a defect in this release. The PR is verified and mergeable as-is; merging stays with you per repo rules. If you want the flake killed for good, the one-line test fix (XDG_DATA_HOME instead of HOME in tests/ca-combined.test.ts) is ready to go whenever you open the issue for it.

中文摘要:重跑后 windows-22 作业通过,全绿,确认是偶发 flake 而非本 release 的问题——PR #922 可以合并(合并由你操作);根治方案(XDG_DATA_HOME 隔离)已备好,等你开 issue。

@ranxianglei
ranxianglei force-pushed the 2026-09-18_release-v0.1.119 branch from 031c83f to a3993e4 Compare September 18, 2026 08:53
@ranxianglei
ranxianglei merged commit ee7bec0 into master Sep 18, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug] 上游从不报告 usage 时 nudge 永不触发——上下文无界增长直到超窗(ChatGPT 登录态后端)

1 participant