Skip to content

bug: a payment link that crossed the pin lock is quick-paid without review #992

Closed

Description

@ovitrif

Refs:

What happened?

A lightning: link under the QuickPay threshold that reaches Bitkit while the PIN screen is up is QuickPaid as soon as it routes, with no review. @jvsena42 found two routes (comment, thread):

21:32:11.970 DEBUG: Hiding sheet pubkyAuthApproval reason: PubkyAuthApprovalSheet.swift:346 authorizeContent - SheetViewModel
21:32:12.715 INFOℹ️: Received deeplink: lightning [MainNavView.swift: handleDeepLink(_:) line: 915]
21:32:12.846 INFOℹ️: Paying bolt11: lnbcrt16050n1p4d9978pp5qr4pexgpd54rqya2qhhy3fmkew9...

Android opens Send for review instead: every scan that crossed the lock is marked suppressQuickPay (markDeferredScanUnlocked).

Expected behavior

A payment link that crossed the PIN lock, or waited behind a sign-in link, opens Send for review instead of QuickPay, as on Android. QuickPay still applies to links opened while Bitkit is unlocked.

Steps to Reproduce

  1. Turn the PIN and QuickPay on, with a spending balance, and terminate Bitkit.
  2. Open a lightning: invoice under the QuickPay threshold (optionally followed by a bitkit://pubky-auth/signin link).
  3. Enter the PIN (and cancel the Authorize sheet when it opens).
  4. The invoice is paid without a review screen.

Additional context

Suggested fix: carry a "crossed the lock" flag with the pending link through handleDeepLink into PaymentNavigationHelper.openPaymentSheet and skip the .quickpay view when it is set.

Activity

  1. added this to the 3.0.0 milestone on Oct 16, 2026
  2. self-assigned this
    on Oct 16, 2026
  3. modified the milestones: 3.0.0, 3.0.5 on Oct 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions