1
0
Commit Graph

15378 Commits

Author SHA1 Message Date
Sander van Grieken
495f51e6ad don't log sensitive wizard values 2023-01-06 16:45:57 +01:00
Sander van Grieken
7f0f09a90b qml: cleanup prev commit, add default icons to MessageDialog, add question icon 2023-01-06 14:57:37 +01:00
Sander van Grieken
99951a437c qml: make trampoline vs gossip routing a switch, and ask confirmation for selecting gossip mode 2023-01-06 14:40:39 +01:00
Sander van Grieken
881afa3b29 qml: underline selected qr type indicator 2023-01-06 14:23:57 +01:00
Sander van Grieken
8795bd6d85 qml: define address colors in Constants, change frozen address to blue 2023-01-06 14:16:07 +01:00
Sander van Grieken
971d7d4da6 qml: make app menu modal 2023-01-06 14:05:49 +01:00
Sander van Grieken
d32c907d3d qml: rename NetworkStatusIndicator to OnchainNetworkStatusIndicator 2023-01-06 14:05:26 +01:00
Sander van Grieken
0cfbbe3b1d qml: remove Wallets menu option, wallet selection is now shown when pressing topbar wallet name 2023-01-06 13:44:29 +01:00
Sander van Grieken
1887502151 qml: remove back button in top bar, move menu button to left
add AppController.isAndroid function to test for android platform. Disable fade in if not on android
2023-01-06 13:42:59 +01:00
Sander van Grieken
20eacc37e1 qml: allow delete wallet if has channels not in REDEEMED state but is channelbackup 2023-01-06 13:42:59 +01:00
ThomasV
a1716df115 follow-up 975cdca474 2023-01-06 13:18:27 +01:00
ThomasV
975cdca474 Qt coin control: allow to add/remove coins one by one.
Not many users know how to select multiple coins at once.
2023-01-06 11:45:14 +01:00
Sander van Grieken
6c410c0548 qml: make listmodel item count a property for channels and transactions 2023-01-06 10:58:47 +01:00
Sander van Grieken
3129fdb358 also build android x86_64 arch. update python-for-android to include x86_64 qt5 patch. 2023-01-06 10:44:48 +01:00
Sander van Grieken
a4a2134db5 better handle p4a parent qt5 recipe 2023-01-05 21:38:51 +01:00
Sander van Grieken
1e658b9b7f center electrum_presplash.png, reduce canvas to 512x512 2023-01-05 20:09:14 +01:00
Sander van Grieken
9704dab68b qml: remove qml splash, update python-for-android with splash support.
main.qml now shows black cover that fades out when app is ready.
2023-01-05 20:09:14 +01:00
ThomasV
07b86f39d9 fix race in address synchronizer (follow-up 29a0560f98) 2023-01-05 14:11:13 +01:00
Sander van Grieken
6a1f19fd86 update python-for-android to electrum_20210421d fb8f6fc44ef7465500c534186b0aba2a5e4ddc15
includes fixes for nativeSetenv
2023-01-05 14:06:42 +01:00
Sander van Grieken
d52afee635 qml: fix autoconnect/single server selection, tapping server selects. 2023-01-04 10:32:27 +01:00
Sander van Grieken
e59e1ec959 qml: change piechart item order, less chance of overlap 2023-01-03 22:53:02 +01:00
Sander van Grieken
02dce339cc qml: fix regressions after can_rbf removal, remove RbF checkboxes 2023-01-03 22:52:09 +01:00
Sander van Grieken
3a31c0df1b qml: fix Switch layout issues and add section headings to preferences 2023-01-03 18:22:59 +01:00
Sander van Grieken
89aea77213 qml: add placeholder text for transaction history and channel list 2023-01-03 18:22:29 +01:00
Sander van Grieken
e31bd958d3 qml: styling fixes 2023-01-03 18:22:15 +01:00
SomberNight
2e06a7992e util: improve Tor SOCKS detection
see https://github.com/spesmilo/electrum/issues/7317#issuecomment-1369281075

I guess this should be at least as reliable as the old method -
however the old method would log an error for the Tor process,
and this does not.
Suggested by Tor contributor: trinity-1686a.
2023-01-03 14:49:57 +00:00
SomberNight
738204022c prepare release 4.3.3 2023-01-03 12:41:40 +01:00
Sander van Grieken
30079c06a8 qml: handle android back button in wizard, map to prev page action instead of closing wizard.
Also add initial focus to WCHaveSeed and WCHaveMasterKey wizard components.
2023-01-02 17:02:19 +01:00
Sander van Grieken
562b4c50df qml: add a few more dialog icons 2023-01-02 17:02:19 +01:00
SomberNight
54f3446c1d release.sh: (trivial) add details re how to git tag 2023-01-02 15:45:24 +00:00
SomberNight
f893a1995a update locale 2023-01-02 15:31:34 +00:00
SomberNight
824ce64e66 qt gui: display nice error if QR code data overflows
there is existing handler-code at e.g.
1a7634e615/electrum/gui/qt/transaction_dialog.py (L309)
but we should make sure setData() always raises the exc when needed,
as paintEvent() is too late for nice handling.

closes https://github.com/spesmilo/electrum/issues/4288
closes https://github.com/spesmilo/electrum/issues/4280
2023-01-02 13:38:05 +00:00
SomberNight
1a7634e615 cirrus CI: disable macOS builds, as no more intel-based mac workers
related https://cirrus-ci.org/blog/2022/11/08/sunsetting-intel-macos-instances/
2023-01-02 12:41:22 +00:00
SomberNight
3422bee585 build: use $CIRRUS_CPU to determine cpu count on CI
related https://github.com/cirruslabs/cirrus-ci-docs/issues/1115
2023-01-02 12:25:53 +00:00
SomberNight
253150cb36 qt network dialog: don't poll Tor socks proxy, but scan on interaction
Polling is introduces spam in Tor logs.
Also, Tor Browser 12.0 apparently has a bug where our polling renders
the socks proxy unusuable after some time.
see https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/41549

Instead of trying to detect a Tor socks proxy every 10 seconds, we now
run detection when the Qt network dialog gets opened, and also when
the user switches to the "Proxy" tab in the dialog.

fixes https://github.com/spesmilo/electrum/issues/7317
2023-01-02 11:58:16 +00:00
SomberNight
e3485de496 qt gui: handle swap server unreachable
note: testnet swap server is offline atm
closes https://github.com/spesmilo/electrum/issues/8107
2023-01-01 23:43:25 +00:00
Sander van Grieken
c51b6dd75a qml: server list styling, group indicator per chain 2022-12-31 12:52:10 +01:00
Sander van Grieken
f774174c85 qml: add serverlistmodel.py, add server list to ServerConfigDialog.qml 2022-12-30 23:46:04 +01:00
Sander van Grieken
f13b43d546 qml: styling server/proxy config 2022-12-30 22:46:52 +01:00
Sander van Grieken
e6e3fd7083 qml: move label outside of server/proxy config component 2022-12-30 22:40:14 +01:00
Sander van Grieken
90d64a004b qml: make dialog content flickable for small displays for CloseChannelDialog, OpemChannelDialog and InvoiceDialog 2022-12-28 16:07:30 +01:00
Sander van Grieken
87aa44eb26 qml: show swap service problem to user 2022-12-28 14:59:39 +01:00
Sander van Grieken
d80e9e7dea qml: don't crash when initiating swap when swap service is not available 2022-12-27 17:41:58 +01:00
SomberNight
61f2654f31 wallet: fire fewer 'status' and 'wallet_updated' triggers
Especially during initial history sync, there are a lot of False->False up_to_date transitions
(e.g. adb.add_address generates one), and the GUI does some work for each, which adds up to a lot
of CPU usage for the full sync.
2022-12-23 09:35:29 +00:00
SomberNight
0037053d73 bitcoin: 3x speedup for DecodeBase58Check
(compared to HEAD~2)

rewrite base_{decode,encode} based on 2fae7065e3/base58/__init__.py
2022-12-23 09:14:18 +00:00
SomberNight
4f20e4a21f bitcoin: trivial speedup for DecodeBase58Check (down to ~80% time) 2022-12-23 09:14:14 +00:00
SomberNight
29a0560f98 rework AddressSynchronizer.is_up_to_date
- AddressSynchronizer no longer has its own state re up_to_date,
  it defers to Synchronizer/Verifier instead
- Synchronizer is now tracking address sync states throughout their lifecycle:
  and Synchronizer.is_up_to_date() checks all states
- Synchronizer.add_queue (internal) is removed as it was redundant
- should fix wallet.is_up_to_date flickering during sync due to race

related:
dc6c481406
1c20a29a22
2022-12-21 15:23:11 +00:00
ghost43
77981956d6 Merge pull request #7953 from SomberNight/202208_logging_stderr_timestamps
logging: add a relative timestamp to stderr console logs
2022-12-21 15:07:47 +00:00
SomberNight
1c20a29a22 Revert "wallet.is_up_to_date: fix flickering during sync due to race"
This reverts commit dc6c481406 as it introduced its own issue:
while add_address was running on one thread, synchronizer._reset could be running on another,
and by the time the "enqueue" coro would run, it would use a new add_queue and
addr would not be in requested_addrs anymore...

```
I/w | wallet.Standard_Wallet.[test_segwit_2] | starting taskgroup.
I | lnworker.LNWallet.[test_segwit_2] | starting taskgroup.
E/i | interface.[testnet.qtornado.com:51002] | Exception in run: KeyError('tb1q3wmgf8n5eettnj50pzgnfrrpdpjmwn37x7nzsc5780kk4je9v4hspym8mu')
Traceback (most recent call last):
  File ".../electrum/electrum/util.py", line 1243, in wrapper
    return await func(*args, **kwargs)
  File ".../electrum/electrum/interface.py", line 506, in wrapper_func
    return await func(self, *args, **kwargs)
  File ".../electrum/electrum/interface.py", line 529, in run
    await self.open_session(ssl_context)
  File ".../electrum/electrum/interface.py", line 679, in open_session
    async with self.taskgroup as group:
  File ".../aiorpcX/aiorpcx/curio.py", line 304, in __aexit__
    await self.join()
  File ".../electrum/electrum/util.py", line 1339, in join
    task.result()
  File ".../electrum/electrum/synchronizer.py", line 80, in _run_tasks
    async with taskgroup as group:
  File ".../aiorpcX/aiorpcx/curio.py", line 304, in __aexit__
    await self.join()
  File ".../electrum/electrum/util.py", line 1339, in join
    task.result()
  File ".../electrum/electrum/synchronizer.py", line 127, in subscribe_to_address
    self.requested_addrs.remove(addr)
KeyError: 'tb1q3wmgf8n5eettnj50pzgnfrrpdpjmwn37x7nzsc5780kk4je9v4hspym8mu'
```
2022-12-20 16:15:24 +00:00
SomberNight
dc6c481406 wallet.is_up_to_date: fix flickering during sync due to race
AddressSynchronizer.add_address called synchronizer.add, which would only
schedule adding the addr to the Synchronizer in the next event loop iter.
If during that time, the synchronizer called adb.set_up_to_date(True),
the wallet would falsely believe and advertise itself as up_to_date
(as the wallet would see wallet.synchronize not creating new addresses,
and adb (via synchronizer) telling it is up_to_date).
Moments later, the synchronizer._add_address is finally executed and
up_to_date=False propagates out synchronizer->adb->wallet.
2022-12-20 13:58:02 +00:00