Skip to content

lightningmate: update to 0.7.7 - #6094

Open
opensourceminers wants to merge 4 commits into
getumbrel:masterfrom
opensourceminers:lightningmate-0.7.5
Open

opensourceminers wants to merge 4 commits into
getumbrel:masterfrom
opensourceminers:lightningmate-0.7.5

Conversation

@opensourceminers

Copy link
Copy Markdown
Contributor

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, releaseNotes and 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.

@opensourceminers opensourceminers changed the title lightningmate: update to 0.7.5 lightningmate: update to 0.7.6 Sep 16, 2026
@nmfretz

nmfretz commented Sep 17, 2026

Copy link
Copy Markdown
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?

@nmfretz nmfretz added the question Further information is requested label Sep 17, 2026
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.
@opensourceminers opensourceminers changed the title lightningmate: update to 0.7.6 lightningmate: update to 0.7.7 Sep 18, 2026
@opensourceminers

Copy link
Copy Markdown
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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

question Further information is requested

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants