WIP: Add receive_payment_with_callback for instant confirmations#8
Draft
amackillop wants to merge 1 commit intomainfrom
Draft
WIP: Add receive_payment_with_callback for instant confirmations#8amackillop wants to merge 1 commit intomainfrom
amackillop wants to merge 1 commit intomainfrom
Conversation
Implement a callback-based payment receive method that fires a JavaScript callback immediately when each payment is received, rather than waiting for the full timeout before returning. Key changes: - Add receive_payment_with_callback() in Rust with ThreadsafeFunction - Add ReceivedPayment struct with Clone derive for callback use - Update TypeScript definitions for the new method Testing revealed that while callbacks fire correctly, the RPC calls are deferred until the Rust function returns due to Node.js event loop blocking. The PLAN.md has been updated with: - Documentation of this architectural limitation - Solution 3: Async Rust implementation for truly instant callbacks - Implementation roadmap for future work Current behavior: Callbacks queue during event loop, execute after return. This still improves UX by enabling per-payment notifications rather than batching, and sets the foundation for the async fix.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Implement a callback-based payment receive method that fires a JavaScript callback immediately when each payment is received, rather than waiting for the full timeout before returning.
Key changes:
Testing revealed that while callbacks fire correctly, the RPC calls are deferred until the Rust function returns due to Node.js event loop blocking. The PLAN.md has been updated with:
Current behavior: Callbacks queue during event loop, execute after return. This still improves UX by enabling per-payment notifications rather than batching, and sets the foundation for the async fix.