chore: bump version 2.4.1 - #678
Conversation
…very fix: stop auto-accepting stale monitors
fix: harden shop payment bridge
…ed-vss fix: fail closed without vss auth
fix: consume vss-client 0.5.23
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Greptile SummaryThis hotfix release advances Bitkit to version 2.4.1 (build 196) and incorporates security hardening from the listed master commits.
Confidence Score: 5/5The reviewed changes appear safe for their intended hotfix release branch, with no actionable defects identified. The changed security boundaries, migration-consumption lifecycle, lock cleanup, authenticated VSS setup, dependency pin, and release metadata are internally consistent and covered by focused tests.
|
| Filename | Overview |
|---|---|
| Bitkit/Components/ShopWebView.swift | Adds native sender-origin validation and restricts checkout navigation while leaving non-shop web views unrestricted. |
| Bitkit/Utilities/ShopOrigin.swift | Centralizes trusted Bitrefill host, message-origin, and main-frame navigation policies. |
| Bitkit/ViewModels/AppViewModel.swift | Adds a payment-only scan scope that rejects setup, authentication, gift, and other non-payment payloads before resetting send state. |
| Bitkit/Services/LightningService.swift | Removes stale-monitor auto-acceptance, requires authenticated VSS setup, and releases the process lock when setup fails before creating a node. |
| Bitkit/Services/MigrationsService.swift | Defers deletion of pending channel migration data until the consuming setup operation succeeds. |
| Bitkit/Services/VssBackupClient.swift | Removes the unauthenticated VSS fallback and consistently fails closed when LNURL-auth parameters are unavailable. |
| Bitkit.xcodeproj/project.pbxproj | Advances all relevant targets to version 2.4.1 build 196 and pins vss-rust-client-ffi to 0.5.23. |
Sequence Diagram
sequenceDiagram
participant B as Bitrefill Embed
participant W as ShopWebView
participant O as ShopOrigin
participant A as AppViewModel
participant P as Payment Sheet
B->>W: postMessage(payment_intent)
W->>O: Validate frame and exact origin
alt Trusted embed origin
O-->>W: Allow
W->>A: handleScannedData(paymentRequests)
A->>A: Decode and validate payment type
A->>P: Open validated payment request
else Untrusted origin or request
O-->>W: Reject
W-->>B: Ignore or block navigation
end
Reviews (1): Last reviewed commit: "chore: version 2.4.1" | Re-trigger Greptile
|
E2E test run: https://github.com/synonymdev/bitkit-ios/actions/runs/32460494275 ✅ |
|
Branch has conflicts with the base branch |
Expected. This branch was cut from The cherry-picked fixes are already on master via their original PRs. After store ship, a small follow-up on master will add |
Bump version to 2.4.1 (build 196) for release.
This is a hotfix branch cut from
v2.4.0, not from master. Do not merge this branch into master. Master already contains these commits plus 2.5.0 work. After store ship, open a small follow-up on master to insert## [2.4.1], drop consumedchangelog.d/next/fragments, and bump master's version.Description
CURRENT_PROJECT_VERSION: 195 → 196MARKETING_VERSION: 2.4.0 → 2.4.1Cherry-picked from master
Linked Issues/Tasks
N/A
Screenshot / Video
N/A
Made with Cursor