Conversation
There was a problem hiding this comment.
Pull request overview
This PR updates the radiance dependency to adopt new VPN connection and IPC status APIs. The update simplifies the Linux VPN connection flow by removing the need for explicit IPC server configuration and multi-step connection processes. Additionally, it fixes an Arch Linux packaging issue where /usr/sbin is symlinked to /usr/bin.
Changes:
- Updated radiance dependency from
20260225211011-60649d634494to20260227010202-aaebc26205fc - Migrated Linux VPN APIs from
ipc.StartService/ipc.SelectOutboundto simplifiedvpn.AutoConnect/vpn.Connectmethods - Removed obsolete
ipc.SetSettingsPathinitialization call from core.go - Fixed Arch Linux packaging by making lanternd destination path configurable via
LANTERND_DSTvariable
Reviewed changes
Copilot reviewed 5 out of 6 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| go.mod | Updates radiance to version 20260227010202-aaebc26205fc and common to 20260224184656-5aefb9c21c85 |
| go.sum | Updates checksums for radiance and common dependency updates |
| lantern-core/core.go | Removes obsolete ipc.SetSettingsPath call and associated imports (errors, runtime, vpn/ipc) |
| lantern-core/ffi/ffi_linux.go | Updates VPN APIs: replaces ipc.StartService with vpn.AutoConnect, removes ipc.SelectOutbound logic, and updates status mapping to use ipc.VPNStatus constants |
| Makefile | Adds LANTERND_DST variable set to /usr/sbin for deb/rpm and /usr/bin for archlinux packages |
| linux/packaging/nfpm.yaml | Makes lanternd destination path configurable using ${LANTERND_DST} variable |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
@garmr-ulfr Where are we with this one? Since radiance changes were merged in the main, now this blocker is for my storekit v2 changes. |
|
@jigar-f sorry! I forgot to merge main into my branch in radiance when testing so when I updated this branch to point to radiance main, it pulled in your OAuth changes. So this was blocked until your lantern PR implementing those changes was merged 😆. But it's all good now! |
| @@ -151,10 +152,7 @@ func startVPN(_logDir, _dataDir, _locale *C.char) *C.char { | |||
| return C.CString(err.Error()) | |||
| } | |||
There was a problem hiding this comment.
@atavism since the status returned from the IPC now matches the VPN status' here, except all lower-case, should I just remove this function and capitalize the first character?
There was a problem hiding this comment.
Wtf..it grabbed the lines.. This is referring to mapIPCStateToUIStatus.
Update radiance dependency and necessary VPN/IPC APIs calls.
Upgrade radiance with new VPN connection and IPC status APIs
ipc.SetSettingsPathcall during core initialization — the IPC server no longer depends on the data directory. (lantern-core/core.go)startVPNandconnectToServeron Linux to usevpn.AutoConnectandvpn.Connect— the sing-box config needs to be provided with connect requests now. (lantern-core/ffi/ffi_linux.go)StatusRunning,StatusConnecting, etc. to theipc.VPNStatusconstants (Connected,Connecting,Disconnecting,Disconnected). (lantern-core/ffi/ffi_linux.go)Arch apparently symlinks
/usr/sbin→/usr/bin, which is causing packaging issues... 😑 so thelanternddestination is now passed asLANTERND_DSTto nfpm, set to/usr/sbinfor deb/rpm and/usr/binfor archlinux.