-
Notifications
You must be signed in to change notification settings - Fork 122
Update to upstream LDK after 4263 and 4370 #780
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
Closed
TheBlueMatt
wants to merge
1
commit into
lightningdevkit:main
from
TheBlueMatt:2026-02-upstream-updates
+47
−28
Closed
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
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
Oops, something went wrong.
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.
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.
I don't see how this is preferable. We'll still need to keep that third repository in-sync.
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.
It doesn't work for me out of the box also
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.
FWIW this repository is ~always in sync. Annoying, yes, but this shouldn't be an issue. We could also have a repo that's more automated.
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.
Wat? I've never seen this....I bumped the max but...weird, honestly.
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.
I think at the time Joost tested it lightningdevkit/rust-lightning#4370 wasn't merged. I then went reviewed and landed that PR, bumped
bitcoin-payment-instructions, opened the other PR, and asked him to review so we can be unblocked, as he in particular was held up today due to LDK's API breaks. IMO it shows once more that we need to go back to the drawing board on depedency mgmt and merge policy. Maybe we need a hard CI check in LDK that requires fixes are up before we merge any breaking change.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.
Hmm, should still have worked. the Commit here was the top commit on that PR, rather than the future merge commit. I think it was just a git oddity hitting an nginx max request body size issue.
As for the general issue, I'm a bit confused why someone was blocked on an update to LDK Node syncing to two trivial upstream PRs? Testing against upstream without those PRs should have been pretty easy, and waiting a day for the update doesn't seem like an issue to me.
But, either way, the limitation in this case wasn't a desire for rust-lightning devs to update LDK Node, but rather that it currently requires you to do something on your
bitcoin-payment-instructionsfork, which means you're the only one who actually can update LDK Node.I wonder if we can't automate that part - just have a git repo that maintains a
bitcoin-payment-instructionsthat gets itsCargo.tomlauto-updated (as long as no API changes have impacted it) and maintains branches for the last few week's worth of commits to rust-lightning so that there's always a commit to point to.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.
I'll let @joostjager speak to that, but: Yes, it's all doable of course, but if you have an LDK PR that's based on current
mainthat you want to test, it costs you at least 10-15 minutes every time to figure out what's going on on the LDK Node side, which exact PRs broke something, check which API changes have already been accounted for, then create a new branch with the changes you want to test, rebase that, account for potential rebase conflicts. Then every time you make changes to that forked branch you'll need to re-apply them to your actual PR branch, potentially running into conflicts again, which is all pretty messy an error prone. Again, all doable, but I can see that it's just an annoying procedure to deal with that forces you to pay attention to things that you actually don't want spend time/brain resources on right now and you end up cleaning up after the API breaks that others introduced.Yeah, all ears for alternatives.
Right, that's basically automating what I've been doing over at https://github.com/tnull/bitcoin-payment-instructions/tree/2025-12-ldk-node-base. I generally like the idea of just automating that branch an ensuring that there is a bump commit for every LDK commit, so anybody can just pick the right commit. However, that will break as soon as we break any of the APIs actually used by
bitcoin-payment-instructions, and then it might become even more confusing?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.
Nothing to add.
I still think many of these pain points could be alleviated by moving to a monorepo. We'd trade the current problems (git rev juggling, forked branches, mirror sync, after the fact breakage cleanup) for a simpler one: whoever changes an API updates ldk-node in the same PR, enforced by CI. We might lose some release cadence flexibility, but I think we can come up with a reasonable plan for that.