lightningmate: update to 0.7.7 - #6094
Open
opensourceminers wants to merge 4 commits into
Open
opensourceminers wants to merge 4 commits into
opensourceminers wants to merge 4 commits into
Conversation
Member
|
Thanks @opensourceminers! Packaging looks good. I noticed two things in 0.7.6: upgrading enables auto-sizing even when auto-pricing was off, and auto-sizing can change prices while auto-pricing is disabled. Would you like us to hold off until those are fixed, or go live now and address them in the next update? |
opensourceminers
pushed a commit
to opensourceminers/lightningmate
that referenced
this pull request
Sep 18, 2026
Both issues raised by Umbrel's reviewer on getumbrel/umbrel-apps#6094, confirmed and reproduced before fixing, plus two siblings with the same root cause that the review did not mention. Root cause: 0.7.6 started fetching the engine's recommendation for auto-sizing as well as auto-pricing. Every consumer downstream had been written when "we have a recommendation" still implied "pricing is delegated", so with auto-pricing OFF and auto-size ON: 1. Resizing an offer also wrote the engine's price (reported). Reproduced: fee_rate 1 -> 3936 ppm with auto-pricing off. 2. Relisting a depleted offer did the same (not reported). 3. With no offer at all, a NEW offer was created at the engine's price (not reported). Creating an offer means choosing its price. Fix: the price target is now released only when auto-pricing is on, at the single place it is produced, which closes all three paths. Offer creation is gated on auto-pricing explicitly, as it implicitly was in 0.7.5. The upgrade migration (reported) never ran. It used `??=`, but defaults had already been merged into the config two lines earlier, so every upgraded install got auto-size ON regardless of auto-pricing. The "existing installs keep their behaviour" claim in the 0.7.6 commit was wrong. It now checks the PERSISTED config before defaults are merged, and is one-shot and written to disk immediately: - config from before the switch existed: inherit auto-pricing's value - config written by 0.7.6 with pricing off and sizing forced on: switch sizing off. The repair only ever turns automation OFF, so it cannot overturn an operator who deliberately switched sizing off. - an explicit choice made after the upgrade survives restarts Found while fixing it: with pricing off, sizing still derived its minimum channel size from the ENGINE's price, so it could open the window to orders that lose money at the price actually listed. The floor now comes from the offer's own fee rate and base fee when pricing is not delegated, and if no size pays at that price, sizing leaves the offer alone. Verified by driving the real Autopilot.runSell against a faked Amboss that records every mutation: all 7 migration cases, reshape/relist/create with pricing off (price untouched, nothing created), the own-price floor (2000 ppm lists from 450k where the engine floor would be 200k, and the smallest admitted order still earns 900 sat against 825 to cover), and controls proving auto-pricing ON still reprices and creates.
Contributor
Author
|
To be clear: thanks for the catch, both are fixed in 0.7.7 and this PR now carries that version. Good to go from our side. |
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.
Updates Lightning Mate from 0.7.0-patch.1 to 0.7.5.
Image:
ghcr.io/opensourceminers/lightningmate:v0.7.5@sha256:09988286632ac1e79f320b9934913a2a5dfa1f6105afda1b301545f31306afac(multi-arch amd64 + arm64, digest-pinned, built by CI from the tagged source).Only
version,releaseNotesand the image pin change. Everything the Umbrel team set (id, category, port, gallery, storage/dataRoot) is untouched.What's in it
Magma liquidity selling, reworked. Offers were priced against what other sellers were asking rather than what buyers actually paid, and the Autopilot cut the price a little further for every day without a sale. That loop is wrong at the root: a Magma purchase carries no offer id, so Amboss picks the seller — being cheapest wins nothing and only gives away margin. Pricing now uses Amboss's real completed-order history, the downward ratchet is gone, and a related bug that let the effective price collapse to the base fee is fixed. The app also now shows what share of real orders an offer's size window can even be matched with, which is usually the actual reason an offer sits unsold.
Channel peer suggestions gained a trust signal. Peers are checked against lightningnetwork.plus for rank, Prime status and the ratings operators gave each other. Peers with no LN+ profile are never penalised, and the signal only refines the existing graph-based ranking. Requested by a community node runner in opensourceminers/lightningmate#1.
Also since 0.7.0: a Routing view (per-channel flow direction, routing corridors, forwards refused for lack of liquidity), rebalancing fixes so the autopilot refills earning channels instead of only repricing them, a cleaner Performance tab, and an expired Amboss key now surfaces in Settings instead of failing silently.
No changes to permissions, ports, dependencies or the data layout.