Commit Graph

2199 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
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
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
2849c021b6 qml: add gettext-wrapping QTranslator 2023-01-30 12:52:50 +01:00
Sander van Grieken
54ced26885 qml: remove leftover 2023-01-30 14:10:25 +01: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
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
Sander van Grieken
fd11b9189e qml: really disambiguate text prefs item onchain fallback address 2023-01-26 12:59:31 +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
ThomasV
599ac065fb Qt: unify calls to get_transaction (follow-up 121d8732f1) 2023-01-25 15:55:26 +01:00
ThomasV
9f33cecede qt coins tab: sotz by height 2023-01-18 20:12:05 +01:00
Platon Pronko
eed48a8508 fix adding coins to coincontrol from address list 2023-01-18 13:38:27 +04:00
Sander van Grieken
3c1e4ba5a5 qml: remove Dialog standardButtons everywhere 2023-01-17 18:03:13 +01:00
Sander van Grieken
4b7472b13f qml: BalanceSummary add lightning can send/receive amounts 2023-01-17 17:40:05 +01:00
Sander van Grieken
9afea4768d qml: make bolt icon a gossip progress indicator 2023-01-17 17:23:50 +01:00
Sander van Grieken
38472c895c qml: NetworkOverview removed from menu, now triggered by onchain and lightning status icon 2023-01-17 16:52:50 +01:00
Sander van Grieken
5977386697 qml: disambiguate text prefs item onchain fallback address 2023-01-17 16:45:25 +01:00
Sander van Grieken
1fd9d9d5bd qml: increase width of elevator in History 2023-01-17 16:43:06 +01:00
Sander van Grieken
ff8a049525 qml swap send and receive buttons, move menu button to bottom button group 2023-01-17 16:33:21 +01:00
Sander van Grieken
b7964253a8 qml: define a common Heading component for page section headings 2023-01-17 12:22:11 +01:00
Sander van Grieken
58e5891eff qml: move (un)freeze buttons next to can send/receive info 2023-01-16 16:45:43 +01:00
Sander van Grieken
d79de092e2 qml: just to be sure, keep QEAmount instances around if exposed to QML 2023-01-16 14:54:42 +01:00
Sander van Grieken
623bdcdabe qml: switching dialog buttons seems to SEGV sometimes 2023-01-16 14:54:42 +01:00
Sander van Grieken
f82136d07c qml: refactor most amount values to FormattedAmount, use fixed font more consistently 2023-01-16 13:49:32 +01:00
Sander van Grieken
a986e61047 qml: implement RbF bump methods Decrease payment/Preserve payment
extend FormattedAmount to wrap alt to next line, or show as empty when invalid
2023-01-16 13:15:24 +01:00
Sander van Grieken
393554c31e qml: fix unintended mangling of TX (non-psbt) for QR 2023-01-16 11:20:05 +01:00
Sander van Grieken
0c728fd13f qml: close SwapDialog only after starting swap. 2023-01-16 09:56:52 +01:00
Sander van Grieken
3fbc82dc95 qml: let Pin dialog decide its own height 2023-01-16 09:14:07 +01:00
Sander van Grieken
b7106fd746 qml: show QR when finalized and saved 2023-01-13 22:39:01 +01:00
Sander van Grieken
3b7a09a307 qml: fix tx not saved when PIN active 2023-01-13 21:31:08 +01:00
ThomasV
8fa549c418 Merge pull request #8135 from spesmilo/scid_alias
Add support for option_scid_alias
2023-01-13 18:44:13 +01:00
ThomasV
7d52021d6b Merge pull request #8139 from SomberNight/202301_locale_decimal_point
locale amounts: consistently use "." as dec point, and " " as thou sep
2023-01-13 16:00:47 +01:00
ThomasV
b9393b0603 Support scid alias:
- save remote alias for use in invoices
 - derive local alias from wallet xpub
 - send channel_type without the option_scid_alias bit
   (apparently LND does not like it)
2023-01-13 15:47:30 +01:00
Sander van Grieken
ddfe1a6d70 qml: add lightning network status indicator in top bar, add channel peers to NetworkOverview 2023-01-13 12:36:33 +01:00