-
Notifications
You must be signed in to change notification settings - Fork 1
feat(send): node connecting UI #401
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
08d95b0 to
9555fd1
Compare
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
There seems to be a regression (from e2e
Screen.Recording.2026-01-26.at.20.59.54.mov |
This comment was marked as outdated.
This comment was marked as outdated.
5ae4524 to
a15fef5
Compare
1b79730 to
a4f98bf
Compare
|
Updated and tested against |
|
@piotr-iohk Could you run e2e for this locally, please? Also note the test matrix in |
CI E2E unblocked, but passed locally for me in the meantime. I will update e2e with missing cases (currently ~60% covered). |
jvsena42
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
tAck
piotr-iohk
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
tACK
|
Found a small bug, patching... |
This comment has been minimized.
This comment has been minimized.
46140ea to
0c629c2
Compare
0c629c2 to
ed94cf7
Compare
Code reviewAfter reviewing this PR for bugs and CLAUDE.md compliance, I found one issue: Potential infinite wait state in SendSheet.swift Location: Issue: If Lightning channels exist but never become usable (e.g., peer permanently offline, stuck channel state), users will be trapped in the sync overlay indefinitely with no escape. The early return at lines 197-200 exits without setting Suggested fix: Add a timeout mechanism or fallback logic: // Option 1: Add timeout state
@State private var syncStartTime: Date?
// In .onAppear or when showing overlay:
syncStartTime = Date()
// In validatePaymentAfterSync:
let syncDuration = Date().timeIntervalSince(syncStartTime ?? Date())
if hasAnyChannels, !wallet.hasUsableChannels {
if syncDuration > 30 { // 30 second timeout
// Fall back to onchain or show "channels unavailable" error
hasValidatedAfterSync = true
// Proceed with validation or dismiss
} else {
return
}
}Or add a manual dismiss option in the sync overlay UI so users aren't trapped if something goes wrong. |
|
Can I get another review please @piotr-iohk @jvsena42, I appended a bug fix |
|
@pwltr is this looks like something that needs to be addressed? #401 (comment) |
The comment is about channels never becoming usable, in that case the user will not be able to send any payments anyway. Can think about showing an error state but I'd consider that polishing for later. |
piotr-iohk
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, sanity tested with deeplinks.
Description
Linked Issues/Tasks
Closes #339
Screenshot / Video
Unified invoice:
Simulator.Screen.Recording.-.iPhone.17.-.2026-01-16.at.01.00.09.mov
QuickPay (deeplink):
Simulator.Screen.Recording.-.iPhone.17.-.2026-01-16.at.01.00.09.mov
QA Notes
Use a deeplink like