Commit Graph

20001 Commits

Author SHA1 Message Date
f321x 9079badfdb qml: add default topPadding to ElTextArea
I noticed all ElTextAreas seem to look better with some topPadding,
so it makes more sense to add it as default to ElTextArea.
Followup to https://github.com/spesmilo/electrum/pull/10579
2026-04-27 13:20:40 +02:00
ghost43 9b26c1812d Merge pull request #10485 from accumulator/ndk28_qt610_rebase_p4a
p4a rebase, use ndk28 and qt6.10
2026-04-24 17:06:25 +00:00
SomberNight 96a3345ab5 setup.py: "qml_gui" extra: update pyqt version 2026-04-24 16:48:34 +00:00
ghost43 cc1874c9c9 Merge pull request #10575 from f321x/lnurlw_prefix
pi: handle lud-17 lnurl URIs
2026-04-24 15:00:07 +00:00
ghost43 8be4f8c8cf Merge pull request #10606 from f321x/trampoline_route_fees
trampoline: handle edges with known fees during route edge fee allocation
2026-04-24 14:46:40 +00:00
SomberNight b483e0d163 trampoline: _allocate_fee_budget_among_route: followup comment 2026-04-24 14:41:48 +00:00
f321x 06fd088992 test_lnrouter: add unittests for tramp fee allocation
Adds `TestAllocateFeeBudget` for trampoline route fee allocation
coverage.

Co-Authored-By: SomberNight <somber.night@protonmail.com>
2026-04-24 16:34:52 +02:00
f321x 6933faee32 trampoline: handle edges with known fees in allocation
Handle `TrampolineEdge` with known fees when allocating fees to
`TrampolineEdge` with `PLACEHOLDER_FEE` during trampoline route
construction.

This allows to create a mixed route from edges where we know the exact
feerates (e.g. provided through lazy trampoline) and evenly spread the
remaining budget between the edges where the fees are unknown (`PLACEHOLDER_FEE`).

Co-Authored-By: SomberNight <somber.night@protonmail.com>
2026-04-24 16:34:46 +02:00
ghost43 ca212da72a Merge pull request #10605 from f321x/crash_reporter_start_new_window
qt: send start_new_window exc to reporter
2026-04-24 14:05:36 +00:00
SomberNight 5af40f435a Merge branch '202604_pr10603_ledger'
adapt Ledger_Client_Legacy to work with newer ledger bitcoin app

manual merge of https://github.com/spesmilo/electrum/pull/10603
2026-04-24 13:57:23 +00:00
f321x c8c44e354c qt: send start_new_window exc to reporter
Send more types of exceptions happening during daemon.load_wallet
in `ElectrumGui.start_new_window()` to the crash reporter to catch
e.g. assertion failures instead of showing them to the user as a warning
dialog.
2026-04-24 15:54:56 +02:00
SomberNight 1096ebcd6a build: update pinned ledger-bitcoin (partial rerun freeze_packages) 2026-04-24 13:51:07 +00:00
ghost43 b9dc6aa34c Merge pull request #10591 from SomberNight/202604_fix_wallet_mktx_base_tx
wallet: make_unsigned_tx: fix base_tx for GUI simple-send batching
2026-04-24 13:01:24 +00:00
ghost43 e96b833fe7 Merge pull request #10592 from SomberNight/202604_testnet_mainnet_mixup2
wallet_db: put 'genesis_blockhash' in DB, detect mainnet/testnet mixup. (db upgrade)
2026-04-24 12:59:31 +00:00
ghost43 c66458e517 Merge pull request #10598 from f321x/onion_message_followup
onion_messages: minor simplifications, followup 10546
2026-04-24 12:58:24 +00:00
f321x 5a0c052384 onion_message: move round-robin logic in Request method 2026-04-24 14:00:16 +02:00
f321x 3ff3205b19 onion_message: use util.random_shuffled_copy instead rand sort 2026-04-24 14:00:16 +02:00
f321x d31d1cf75e onion_message: simplify send_onion_message_to
Remove the hops data encryption from the blinded path branch of
send_onion_message_to. Our hops data is already encrypted before
and the blinded paths hops data is already encrypted by the recipient,
so this is a no-op.

Also use encrypt_hops_recipient_data in create_route_to_introduction_point,
it does the same as the existing encryption step.
2026-04-24 14:00:16 +02:00
Ilya Artemov 44570bfa3b Bump minimum required version of ledger_bitcoin (build-time and runtime) 2026-04-24 09:09:00 +02:00
ghost43 294fdd1267 Merge pull request #10604 from f321x/dedup_valid_wallet_name
qml: deduplicate wallet name validation
2026-04-23 14:30:13 +00:00
f321x d34129ef5c qml: deduplicate wallet name validation
Deduplicates the wallet name validation between wizard and daemon.
2026-04-23 16:11:36 +02:00
ThomasV 7c433c5645 rm 'received orphan channnel' log line (too verbose) 2026-04-23 09:29:08 +02:00
ThomasV 4b412de93c Merge pull request #10599 from f321x/fix_fw_fail_htlc
regtest: make fw_fail_htlc less flaky
2026-04-23 09:07:38 +02:00
ghost43 d13c6a6a92 Merge pull request #10596 from romanz/update-patch
appimage: update Dockerfile dependencies
2026-04-22 17:54:03 +00:00
ghost43 230e627559 Merge pull request #10600 from SomberNight/202604_lnpeer_chan_reest
lnpeer: channel_reestablish: split "they_are_ahead" into ctn vs revnum
2026-04-22 16:27:10 +00:00
f321x 14f202941e regtest: increase timeouts 30s -> 120s
I suspect the timeouts are a bit too short for the slow ci machine.
2026-04-22 18:00:52 +02:00
SomberNight 46eadbf442 lnpeer: channel_reestablish: further restrict states for msg handler
re REQUESTED_FCLOSE and WE_ARE_TOXIC (as per f321x):
> There is no reason for the peer to send channel_reestablish after we
> have sent the force close request (error) and I assume we don't
> want to give surface to the peer to attempt finding out if we really lost state?

re FORCE_CLOSING:
the peer might not have realised we started force-closing but we probably don't want to run the message-handler even in that case
2026-04-22 15:57:18 +00:00
f321x 36e9f185d2 regtest: make fw_fail_htlc less flaky
On master fw_fail_htlc is, especially on the CI, flaky.
We mine 100 blocks, then wait fixed 5 seconds, then check if bob has
failed back the htlcs to alice.
However if the test runs slowly (CI) 5 seconds can be too short
for bob to catch up to the new 100 mined blocks.
Instead we should just use the wait_until_htlcs_settled helper function
which polls Alice local_unsettled_sent with 30 sec timeout, allowing bob
to take a bit longer (or be faster) than 5 s.

```
.***** test_fw_fail_htlc ******
initializing alice
funding alice
a101c8c4c22043ff42029bcab2f0bf6ce5482a60d656294cbec3a4df557e2687
initializing bob
funding bob
d323d572c54817116d185c91f15e449550c651eb4ed76891d3011e0a8eb4ef9a
initializing carol
funding carol
bbf3503663876a4ae00f70c7e58ad49318e83d5cf99d6effe692e113d10910c2
mining 1 blocks
starting daemon (PID 5559)
/tmp/alice/regtest/wallets/default_wallet
true
starting daemon (PID 5577)
/tmp/bob/regtest/wallets/default_wallet
true
starting daemon (PID 5595)
/tmp/carol/regtest/wallets/default_wallet
true
alice and carol open channels with bob
mining 3 blocks
wait until alice sees channel open.
wait until alice sees channel open..
wait until alice sees channel open...
alice pays carol
Daemon stopped
mining 1 blocks
mining 150 blocks
wait until 99ad1d44b9054f5a85c2fb45e9a9b93eb13c785104ed0664be5cf866d79d38fc:2 is spent.
...
wait until 99ad1d44b9054f5a85c2fb45e9a9b93eb13c785104ed0664be5cf866d79d38fc:2 is spent............................
mining 1 blocks
mining 100 blocks
alice htlc was not failed
FDaemon stopped
```
2026-04-22 17:12:30 +02:00
Roman Zeyde 8e49eb8087 appimage: update Dockerfile dependencies 2026-04-22 12:08:32 +02:00
Sander van Grieken 83b6770021 android: remove unneeded dl-ndk-ci.sh 2026-04-22 11:26:06 +02:00
Sander van Grieken 29b5e1672b p4a ref 1098be6964cfc2156959e435e81c2c50f8398586 2026-04-22 11:17:30 +02:00
Sander van Grieken 7b7d7028bd android: hash-pin hostpython prerequisites for pyqt6sip and sip 2026-04-22 11:13:32 +02:00
Sander van Grieken 9d5b4a7cd9 android: use plain 'build' dependency (using 'venv') instead of 'build[virtualenv]',
remove setuptools as its use is now pinned via hostpython_prerequisites where applicable,
update depends asserts in pyqt6sip, sip, pyqt_builder
2026-04-22 10:15:30 +02:00
Sander van Grieken c8f5798d4e android: build pyqt_builder and sip ourselves, hash pin all hostpython_prerequisites 2026-04-22 10:15:30 +02:00
Sander van Grieken 854f95b794 android: openssl 3.0.18 2026-04-22 10:15:30 +02:00
Sander van Grieken 74f3c0427d android: pin hostpython3 PyProjectRecipe versions,
pin android and pyjnius recipes Cython version
2026-04-22 10:15:30 +02:00
Sander van Grieken f2e8b466cd qml: add type hints for QVariant pyqtProperty workarounds 2026-04-22 10:15:30 +02:00
f321x 323189874b android: update Qt6 to 6.10.2, PyQt6 to 6.10.2 2026-04-22 10:15:30 +02:00
Sander van Grieken 3f34e6bee0 qml: additional styling InfoTextArea in dialogs 2026-04-22 10:15:30 +02:00
Sander van Grieken 31b1974089 qml: FlatButton: show indicator for press-and-hold functionality 2026-04-22 10:15:30 +02:00
Sander van Grieken 8e78d74723 qml: remove unused components 2026-04-22 10:15:30 +02:00
Sander van Grieken 3c5dc66068 qml: various styling updates 2026-04-22 10:15:30 +02:00
Sander van Grieken 7c83e749ef icons: square closebutton.png and copy_bw.png so they don't resize on highlight (qml)
and upscale qrcode-[_white].png for the same reason and so we don't need to apply scaling
2026-04-22 10:15:30 +02:00
Sander van Grieken 895679a6be qml: styling History, ProxyConfig and NostrConfigDialog 2026-04-22 10:15:30 +02:00
Sander van Grieken 87bb63e442 qml: use standard Button for buttons outside of buttoncontainer 2026-04-22 10:15:30 +02:00
Sander van Grieken 3a740256c5 qml: add missing button containers 2026-04-22 10:15:30 +02:00
Sander van Grieken 1c0851c6eb styling OpenChannelDialog 2026-04-22 10:15:30 +02:00
Sander van Grieken 738992ac9e qml: don't add navigationbar padding when on-screen keyboard is visible,
also allow stackview pages to override navigationbar background color to
allow correct color runoff below buttons
2026-04-22 10:15:30 +02:00
Sander van Grieken 28f744f778 qml: additional styling updates 2026-04-22 10:15:30 +02:00
Sander van Grieken e99b3023e9 qml: wizard styling, password dialog styling 2026-04-22 10:15:30 +02:00