deps: bump radiance, and the sing-box-minimal replace to match - #8934
Conversation
radiance moves to 149f0d7, picking up the smart dialer's reversed disorder/split ordering fix (radiance#580) and the per-host dialer change (radiance#579). kindling follows as a transitive bump. The sing-box-minimal replace moves with it, from d0cc8eb to 1739626. A replace in the main module overrides a dependency's, so leaving it behind would have pinned us to the older sing-box while radiance believed it had the newer one — and the two process-routing fixes in that range (a searcher missing on live rule-set update, and case-insensitive process rules on Windows) would never have reached users behind a green radiance bump. Verified against the built AAR rather than go.mod alone: radiance 149f0d726208, kindling 573c1ef64464 and sing-box-minimal 1739626c9ad2 are the versions actually linked into libgojni.so. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (1)
📝 WalkthroughWalkthroughUpdates three Lantern-related dependency entries in ChangesDependency updates
Estimated code review effort: 1 (Trivial) | ~2 minutes Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Pull request overview
Updates the project’s Go module dependencies to pick up recent fixes in github.com/getlantern/radiance and ensure the main module’s replace for sing-box aligns with the version radiance expects, so the intended routing/process fixes actually ship in the final binary.
Changes:
- Bump
github.com/getlantern/radiancetov0.0.0-20260727212115-149f0d726208. - Move/update the
replace github.com/sagernet/sing-box => github.com/getlantern/sing-box-minimal ...target tov1.12.22-lantern.0.20260727203219-1739626c9ad2. - Update
go.sumaccordingly (includingkindlingindirect version/hash changes).
Reviewed changes
Copilot reviewed 1 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| go.mod | Bumps radiance and updates the sing-box → sing-box-minimal replace to the intended version so dependency updates take effect. |
| go.sum | Updates checksums for the bumped module versions (radiance/sing-box-minimal/kindling). |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| replace github.com/sagernet/sing => github.com/getlantern/sing v0.7.18-lantern | ||
|
|
||
| replace github.com/sagernet/sing-box => github.com/getlantern/sing-box-minimal v1.12.22-lantern.0.20260717223538-d0cc8eb0fb17 | ||
| replace github.com/sagernet/sing-box => github.com/getlantern/sing-box-minimal v1.12.22-lantern.0.20260727203219-1739626c9ad2 | ||
|
|
||
| replace github.com/sagernet/wireguard-go => github.com/getlantern/wireguard-go v0.0.1-beta.7.0.20251208214020-d78e69f1eff4 |
There was a problem hiding this comment.
Agreed on the diagnosis — I raised the same gap in the PR description. Checked the mechanism you propose and it would work, but I'd rather not make the change in this PR. Reasoning below.
The suggestion is sound. Expanding the path filter really would give AAR coverage, not just re-run Kotlin compilation:
- the AAR cache key is
hashFiles('go.mod', 'go.sum', 'Makefile', '**/*.go'), so a dep change is a guaranteed cache miss - on a miss the job runs
make install-android-deps, thenmake android-debug-ci android-debug-ci→$(ANDROID_DEBUG_BUILD)→$(ANDROID_DEBUG_BUILD): $(ANDROID_LIB_BUILD)→$(ANDROID_LIB_BUILD): $(GO_SOURCES)→make build-android, i.e. a realgomobile bind
So two lines in paths: would close it.
Why not here. The exclusion is deliberate and documented in the workflow header:
Scope: the PR trigger runs only on Kotlin (*.kt) changes. It intentionally does NOT run on Go/gomobile-AAR or Flutter/dep changes — a Go change that breaks the AAR<->Kotlin interface would surface in build-android.yml / release, not here.
Reversing a documented decision is a maintainer call with a real cost — it puts a full gomobile bind plus APK build on the critical path of every dependency PR — and it would need that header rewritten too, or the comment starts lying about the config. That is its own change with its own tradeoff discussion, not a rider on a dependency bump.
Coverage for this PR specifically: I ran the AAR build locally and verified against the linked binary rather than go.mod, since go.mod agreeing is not the same as the artifact agreeing:
$ go version -m jni/arm64-v8a/libgojni.so
dep github.com/getlantern/kindling v0.0.0-20260727211028-573c1ef64464
dep github.com/getlantern/radiance v0.0.0-20260727212115-149f0d726208
=> github.com/getlantern/sing-box-minimal v1.12.22-lantern.0.20260727203219-1739626c9ad2
Leaving this thread open rather than resolving it — happy to send the workflow change as a separate PR if a maintainer wants it.
Brings radiance to
149f0d7and moves thesing-box-minimalreplace with it.What radiance picks up
584a056..149f0d7, four commits:disorder/splitordering fixed, plus test coverage and an Android test harnessThe headline is #580:
split:200|disorder:1was spelled backwards. configurl pipes left→right, sodisorderended up wrappingsplitand its*net.TCPConnassertion could never succeed — on every platform, with every base dialer. We were quietly running four of five TLS strategies in the smart dialer.Why the replace moves too
This is the part worth reviewing.
radiance#581bumped sing-box-minimald0cc8eb→1739626, but areplacein the main module overrides a dependency's. Bumping radiance alone leaves us on the Jul 17 sing-box while radiance believes it has the Jul 27 one — a green PR that silently ships nothing. Same shape as the lantern-boxv0.0.58/v0.0.65incident.That range is two process-routing PRs (4 files, +110/−52):
C.IsWindows; Windows paths aren't case-sensitive, so a rule forlantern.exefailed against a process reported asLantern.exe.Both are desktop fixes, Windows in particular — mobile has no process matching. They're unrelated to the smart-dialer work; they ride along with #581.
Verification
go buildandgo testwith the CI tag set — passmake build-android(gomobile bind, arm64) — AAR buildsAnd because go.mod agreeing is not the same as the binary agreeing, checked what is actually linked into
libgojni.so:go mod tidyrun;go.modandgo.sumcommitted together.Caveats for the reviewer
android-compile-check.ymlis scoped to**/*.ktandbuild-android.ymlis workflow_call-only, so a go.mod-only PR like this gets no Android build in CI. That's why I ran the AAR build locally. It's also the gap the lantern-box incident went through.🤖 Generated with Claude Code
Summary by CodeRabbit