1
0
Commit Graph

15514 Commits

Author SHA1 Message Date
SomberNight
dbd2e56e85 qt gui: more resilient startup
Example log:
app tries to auto-open to wallet "test_segwit_2", which has too new db version,
then user manually tries to open wallet "test_segwit_3" instead,
which opens okay but - immediately after - the process shuts down (due to line 383 -> line 458).
```
$ ./run_electrum -v --testnet -o
  0.59 | I | simple_config.SimpleConfig | electrum directory /home/user/.electrum/testnet
  0.59 | I | logging | Electrum version: 4.3.4 - https://electrum.org - https://github.com/spesmilo/electrum
  0.59 | I | logging | Python version: 3.10.6 (main, Nov 14 2022, 16:10:14) [GCC 11.3.0]. On platform: Linux-5.15.0-58-generic-x86_64-with-glibc2.35
  0.59 | I | logging | Logging to file: /home/user/.electrum/testnet/logs/electrum_log_20230202T151759Z_220451.log
  0.59 | I | logging | Log filters: verbosity '*', verbosity_shortcuts ''
  0.59 | I | p/plugin.Plugins | registering hardware bitbox02: ('hardware', 'bitbox02', 'BitBox02')
  0.59 | I | p/plugin.Plugins | registering hardware coldcard: ('hardware', 'coldcard', 'Coldcard Wallet')
  0.59 | I | p/plugin.Plugins | registering hardware digitalbitbox: ('hardware', 'digitalbitbox', 'Digital Bitbox wallet')
  0.60 | I | p/plugin.Plugins | registering hardware jade: ('hardware', 'jade', 'Jade wallet')
  0.60 | I | p/plugin.Plugins | registering hardware keepkey: ('hardware', 'keepkey', 'KeepKey wallet')
  0.60 | I | p/plugin.Plugins | registering hardware ledger: ('hardware', 'ledger', 'Ledger wallet')
  1.74 | I | p/plugin.Plugins | loaded payserver
  1.74 | I | p/plugin.Plugins | registering hardware safe_t: ('hardware', 'safe_t', 'Safe-T mini wallet')
  1.74 | I | p/plugin.Plugins | registering hardware trezor: ('hardware', 'trezor', 'Trezor wallet')
  1.74 | I | p/plugin.Plugins | registering wallet type ('2fa', 'trustedcoin')
  1.74 | D | util.profiler | Plugins.__init__ 1.1522 sec
  1.74 | I | exchange_rate.FxThread | using exchange CoinGecko
  1.75 | D | util.profiler | Daemon.__init__ 0.0033 sec
  1.75 | I | daemon.Daemon | starting taskgroup.
  1.75 | I | daemon.Daemon | launching GUI: qt
  1.75 | I | gui.qt.ElectrumGui | Qt GUI starting up... Qt=5.15.3, PyQt=5.15.6
  1.75 | I | daemon.CommandsServer | now running and listening. socktype=unix, addr=/home/user/.electrum/testnet/daemon_rpc_socket
Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
  2.04 | D | util.profiler | ElectrumGui.__init__ 0.2865 sec
  2.04 | I | storage.WalletStorage | wallet path /home/user/.electrum/testnet/wallets/test_segwit_2
  2.13 | I | storage.WalletStorage | wallet path /home/user/.electrum/testnet/wallets/test_segwit_2
  5.24 | E | gui.qt.ElectrumGui |
Traceback (most recent call last):
  File "/home/user/wspace/electrum/electrum/gui/qt/__init__.py", line 354, in start_new_window
    wallet = self._start_wizard_to_select_or_create_wallet(path)
  File "/home/user/wspace/electrum/electrum/gui/qt/__init__.py", line 401, in _start_wizard_to_select_or_create_wallet
    db = WalletDB(storage.read(), manual_upgrades=False)
  File "/home/user/wspace/electrum/electrum/wallet_db.py", line 72, in __init__
    self.load_data(raw)
  File "/home/user/wspace/electrum/electrum/wallet_db.py", line 102, in load_data
    if not self.requires_upgrade():
  File "/home/user/wspace/electrum/electrum/wallet_db.py", line 153, in requires_upgrade
    return self.get_seed_version() < FINAL_SEED_VERSION
  File "/home/user/wspace/electrum/electrum/json_db.py", line 44, in wrapper
    return func(self, *args, **kwargs)
  File "/home/user/wspace/electrum/electrum/wallet_db.py", line 1035, in get_seed_version
    raise WalletFileException('This version of Electrum is too old to open this wallet.\n'
electrum.util.WalletFileException: This version of Electrum is too old to open this wallet.
(highest supported storage version: 50, version of this file: 51)
  5.35 | I | storage.WalletStorage | wallet path /home/user/.electrum/testnet/wallets/wallet_20
  7.90 | I | storage.WalletStorage | wallet path /home/user/.electrum/testnet/wallets/test_segwit_3
  8.48 | D | util.profiler | WalletDB._load_transactions 0.0517 sec
  8.48 | D | util.profiler | AddressSynchronizer.load_local_history 0.0005 sec
  8.48 | D | util.profiler | AddressSynchronizer.check_history 0.0005 sec
  8.70 | D | util.profiler | AddressList.update 0.0000 sec
  9.00 | D | util.profiler | Deterministic_Wallet.try_detecting_internal_addresses_corruption 0.0223 sec
  9.01 | D | util.profiler | ElectrumWindow.load_wallet 0.0808 sec
  9.01 | I | daemon.Daemon | stop() entered. initiating shutdown
  9.01 | I | gui.qt.ElectrumGui | closing GUI
  9.01 | I | daemon.Daemon | stopping all wallets
  9.04 | I | storage.WalletStorage | saved /home/user/.electrum/testnet/wallets/test_segwit_3
  9.04 | D | util.profiler | WalletDB._write 0.0265 sec
  9.04 | I | daemon.Daemon | stopping network and taskgroup
  9.04 | I | daemon.Daemon | taskgroup stopped.
  9.04 | I | daemon.Daemon | removing lockfile
  9.04 | I | daemon.Daemon | stopped
  9.08 | I | p/plugin.Plugins | stopped
QThread: Destroyed while thread is still running
Aborted (core dumped)
```
2023-02-02 15:25:15 +00:00
Sander van Grieken
a174e3780b qml: add flickable to exceptiondialog 2023-02-01 15:44:53 +01:00
Sander van Grieken
9fd7bfd65c handle empty stack in base_crash_handler 2023-02-01 15:44:46 +01:00
Sander van Grieken
ca1edd1545 qml: remove channel backup button if channel list item is channelbackup 2023-01-31 16:33:48 +01:00
Sander van Grieken
80f3492f2a qml: add is_imported attribute to channel list item, show different icon
if channel backup is imported
2023-01-31 16:32:37 +01:00
Sander van Grieken
0b2db9ca46 qml: FormattedAmount: also update fiat when the amount instance changes 2023-01-31 15:52:31 +01:00
Sander van Grieken
f304fa2e60 qml: remove RequestDialog (unused) 2023-01-31 15:08:09 +01:00
Sander van Grieken
d43f37d078 qml: add simple Toaster, mainly to indicate copy to clipboard 2023-01-31 15:05:18 +01:00
Sander van Grieken
845ea599fa qml: add bug icon 2023-01-31 14:02:16 +01:00
Sander van Grieken
6111c69f1e qml: move Lightning can receive amount to ReceiveDialog, rename Lightning can send to Lightning (balance) in BalanceSummary
FormattedAmount is now aware of FX rate changing and updates accordingly
2023-01-31 14:00:41 +01:00
Sander van Grieken
cf3e5c0dfd qml: hamburger menu use icon, not label 2023-01-31 13:31:27 +01:00
Sander van Grieken
d2bab4d51a qml: confirm close electrum dialog instead of double-tap back button 2023-01-31 13:15:19 +01:00
SomberNight
c4061f143b CI: (trivial) make "Locale" task depend on same py version it uses 2023-01-30 17:36:05 +00:00
SomberNight
b230203245 contrib/push_locale: mv temp files from project_root to locale/ 2023-01-30 17:36:01 +00:00
SomberNight
4f66afb8a8 refactor locale scripts
follow-up 000a3de571
2023-01-30 17:35:58 +00:00
Sander van Grieken
d033e10e17 qml: fix leftover in TxDetails 2023-01-30 16:59:23 +01:00
Sander van Grieken
bd10fbeaf0 qml: clean up Channels/ChannelBackups, implement proper count property on QEFilterProxyModel 2023-01-30 16:36:29 +01:00
Sander van Grieken
c868ddedb5 qml: add ChannelBackups.qml 2023-01-20 10:24:11 +01:00
Sander van Grieken
26f7238eb5 qml: add initial generic listmodel filter QEFilterProxyModel 2023-01-30 16:22:29 +01:00
Sander van Grieken
264cb7846f qml: add language selection to qeconfig.py/Preferences 2023-01-30 14:12:46 +01:00
Sander van Grieken
e58a61a135 add qttools5-dev-tools to requirements for building locale (needed by qml translations) 2023-01-30 12:56:11 +01:00
Sander van Grieken
2849c021b6 qml: add gettext-wrapping QTranslator 2023-01-30 12:52:50 +01:00
Sander van Grieken
000a3de571 extract QML translation strings, convert to gettext and combine with
rest of template
2023-01-27 16:29:51 +01:00
Sander van Grieken
54ced26885 qml: remove leftover 2023-01-30 14:10:25 +01:00
SomberNight
4aa319e5c3 CI: exclude generated protobuf files from flake8 2023-01-28 00:51:12 +00:00
SomberNight
4f9469b789 re-generate protobuf _pb2.py files and bump min required protobuf
upper bound "<4" still needed due to keepkey...

related https://github.com/spesmilo/electrum/issues/7922
2023-01-28 00:39:36 +00:00
Sander van Grieken
8b7743c4bf qml: show menu also when no wallet loaded 2023-01-27 14:54:45 +01:00
Sander van Grieken
8ed9a22793 qml: handle non-deterministic wallet address selection when generating payment request 2023-01-27 13:30:53 +01:00
Sander van Grieken
c747182122 qml: make sure ExceptionDialog is always on top 2023-01-27 13:30:53 +01:00
Sander van Grieken
d6faeb411a qml: BalanceSummary only show Lightning values when wallet is lightning 2023-01-27 13:30:53 +01:00
SomberNight
49061f5420 release process: fix typo in trigger_deploy.sh 2023-01-27 11:05:32 +00:00
SomberNight
497267bd34 release process: don't create "uploaded" marker file in release.sh
No longer needed with the "chmod 444 *" trick in 697c700a1f.
(it is now cheap to re-run upload.sh, it no longer redundantly re-uploads hundreds of MBs)
2023-01-27 11:03:31 +00:00
Sander van Grieken
a8f1d1c326 qml: remember user selected request type and pre-select on subsequent payment requests 2023-01-27 11:44:46 +01:00
SomberNight
ee2e255699 contrib/build-wine/unsign.sh: small improvements/fixes
- follow-up prev: CONTRIB was not defined
- rm folder signed/stripped if already exists (otherwise script early-exited silently)
- quote paths to guard against whitespace shenanigans
2023-01-26 18:30:11 +00:00
SomberNight
563180c94c build: scripts to not require electrum to be installed 2023-01-26 18:15:04 +00:00
SomberNight
d7c723b975 prepare release 4.3.4 2023-01-26 17:11:49 +01:00
ThomasV
670e1ce404 Merge pull request #8167 from SomberNight/202301_release
release process: split release.sh into two
2023-01-26 16:00:05 +01:00
ThomasV
dec397af95 update payserver submodule 2023-01-26 15:52:01 +01:00
ghost43
5edd17724f CI: bump available memory for unit tests (1G->2G) (#8166)
Tasks recently started spuriously getting killed with "Container errored with 'OOMKilled'".
Not sure what changed, but this seems like the easiest fix.
2023-01-26 14:47:39 +00:00
SomberNight
697c700a1f release process: split release.sh into two
This allows the add_cosigner workflow to be done before the website links to new binaries.
(so Emzy or other builders can try to reproduce builds and add signatures before new binaries are fully live)
2023-01-26 13:49:51 +00:00
Sander van Grieken
fd11b9189e qml: really disambiguate text prefs item onchain fallback address 2023-01-26 12:59:31 +01:00
ThomasV
7625b4e63b follow-up d6febb5c12 2023-01-26 11:13:35 +01:00
ThomasV
d6febb5c12 Display mined tx outputs as ShortIDs instead of full transaction outpoints.
ShortIDs were originally designed for lightning channels, and are now
understood by some block explorers.

This allows to remove one column in the UTXO tab (height is redundant).

In the transaction dialog, the space saving ensures that all inputs fit
into one line (it was not the case previously with p2wsh addresses).
For clarity and consistency, the ShortID is displayed for both inputs
and outputs in the transaction dialog.
2023-01-26 10:48:28 +01:00
SomberNight
8b5aa5c433 manually rerun freeze_packages, restricted to fix known CVEs only 2023-01-25 15:56:50 +00:00
SomberNight
cb11e1faed CLI: make "electrum stop" robust to dead daemon / lingering lockfile
follow-up fbf79b148b
2023-01-25 15:35:42 +00:00
ThomasV
599ac065fb Qt: unify calls to get_transaction (follow-up 121d8732f1) 2023-01-25 15:55:26 +01:00
ThomasV
23adb53572 fix crash when trying to display channel backup details 2023-01-25 15:44:37 +01:00
SomberNight
ccc0b5daa2 build: don't force-push git branches needed for historical builds
closes https://github.com/spesmilo/electrum/issues/8162
2023-01-24 15:06:31 +00:00
ThomasV
768eb35c86 follow-up 5d9678a269 2023-01-24 14:45:55 +01:00
ThomasV
062051b530 lnworker: store onchain default labels in a cache 2023-01-23 10:48:25 +01:00