V4.2.0#2
Open
lukebenne wants to merge 4050 commits into
Open
Conversation
To reproduce: enter "." to amount_e in Send tab; then click "Save".
Traceback (most recent call last):
File "/home/user/wspace/electrum/electrum/gui/qt/main_window.py", line 1638, in do_save_invoice
self.pending_invoice = self.read_invoice()
File "/home/user/wspace/electrum/electrum/gui/qt/main_window.py", line 1625, in read_invoice
outputs = self.read_outputs()
File "/home/user/wspace/electrum/electrum/gui/qt/main_window.py", line 1501, in read_outputs
outputs = self.payto_e.get_outputs(self.max_button.isChecked())
File "/home/user/wspace/electrum/electrum/gui/qt/paytoedit.py", line 235, in get_outputs
self.outputs = [PartialTxOutput(scriptpubkey=self.payto_scriptpubkey, value=amount)]
File "/home/user/wspace/electrum/electrum/transaction.py", line 1533, in __init__
TxOutput.__init__(self, *args, **kwargs)
File "/home/user/wspace/electrum/electrum/transaction.py", line 113, in __init__
raise ValueError(f"bad txout value: {value!r}")
ValueError: bad txout value: None
and robust to code changes
Instead, convert json keys to int when storage is read.
No convert key
ubuntu 16.04 is EOL
electrum/electrum/channel_db.py:357: DeprecationWarning: Sampling from a set deprecated since Python 3.9 and will be removed in a subsequent version.
Python3.9 compat: sample from list
The latest release of appimagetool bundles a new enough version of mksquashfs. We had been building a fork of mksquashfs but all the relevant patches there had been upstreamed. Note: we still need a wrapper when calling mksquashfs, as appimagetool calls it with "-mkfs-time 0" and we have the SOURCE_DATE_EPOCH env var set; and these two would conflict. Two ways to fix: either unset SOURCE_DATE_EPOCH for that context, or build a wrapper that removes the "-mkfs-time 0". The former would be cleaner but for some reason I did not manage to build reproducibly that way. The latter seems to work. related: - AppImage/AppImageKit#929 (comment) > Now official squashfs 4.4 makes reproducible images by default - AppImage/AppImageKit#996
As the token is typically not available for pull requests.
watchtower: continuously check for added channels
(this was always already the case when we are the funder, but we were not checking it when remote is responsible for update_fee)
lightning/bolts#672 We check the received shutdown script against higher segwit versions and accept closing to that script if option_shutdown_anysegwit has been negotiated.
* on channel opening we verify that the peer's dust limit is above 354 sat, the limit for unknown segwit versions * we constrain the allowed scriptpubkey types for channel closing * we check that the remote's output is above the relay dust limit for the collaborative close case
This is the new minimum the google play store requires.
note: the newer android command-line tools use a tiny bit different paths,
hence the `mv "${ANDROID_SDK_HOME}/cmdline-tools" "${ANDROID_SDK_HOME}/tools"` rename
see kivy/python-for-android#2540
If the user had `config.get("show_crash_reporter")==False`, they would
never get to see excs collected via `send_exception_to_crash_reporter(exc)`.
E.g.:
```
E | gui.qt.ElectrumGui | error loading wallet (or creating window for it)
Traceback (most recent call last):
File "/opt/electrum/electrum/gui/qt/__init__.py", line 433, in main
if not self.start_new_window(path, self.config.get('url'), app_is_starting=True):
File "/opt/electrum/electrum/gui/qt/__init__.py", line 307, in wrapper
return func(self, *args, **kwargs)
File "/opt/electrum/electrum/gui/qt/__init__.py", line 332, in start_new_window
wallet = self._start_wizard_to_select_or_create_wallet(path)
File "/opt/electrum/electrum/gui/qt/__init__.py", line 377, in _start_wizard_to_select_or_create_wallet
db = WalletDB(storage.read(), manual_upgrades=False)
File "/opt/electrum/electrum/wallet_db.py", line 73, in __init__
self.load_data(raw)
File "/opt/electrum/electrum/wallet_db.py", line 104, in load_data
self._after_upgrade_tasks()
File "/opt/electrum/electrum/wallet_db.py", line 202, in _after_upgrade_tasks
self._load_transactions()
File "/opt/electrum/electrum/util.py", line 439, in <lambda>
return lambda *args, **kw_args: do_profile(args, kw_args)
File "/opt/electrum/electrum/util.py", line 435, in do_profile
o = func(*args, **kw_args)
File "/opt/electrum/electrum/wallet_db.py", line 1310, in _load_transactions
self.data = StoredDict(self.data, self, [])
File "/opt/electrum/electrum/json_db.py", line 79, in __init__
self.__setitem__(k, v)
File "/opt/electrum/electrum/json_db.py", line 44, in wrapper
return func(self, *args, **kwargs)
File "/opt/electrum/electrum/json_db.py", line 97, in __setitem__
v = self.db._convert_dict(self.path, key, v)
File "/opt/electrum/electrum/wallet_db.py", line 1361, in _convert_dict
v = dict((k, SwapData(**x)) for k, x in v.items())
```
Some exceptions were just killing the gui silently and not even logged.
E.g.:
```
E | gui.qt.ElectrumGui | error loading wallet (or creating window for it)
Traceback (most recent call last):
File "/opt/electrum/electrum/gui/qt/__init__.py", line 433, in main
if not self.start_new_window(path, self.config.get('url'), app_is_starting=True):
File "/opt/electrum/electrum/gui/qt/__init__.py", line 307, in wrapper
return func(self, *args, **kwargs)
File "/opt/electrum/electrum/gui/qt/__init__.py", line 332, in start_new_window
wallet = self._start_wizard_to_select_or_create_wallet(path)
File "/opt/electrum/electrum/gui/qt/__init__.py", line 377, in _start_wizard_to_select_or_create_wallet
db = WalletDB(storage.read(), manual_upgrades=False)
File "/opt/electrum/electrum/wallet_db.py", line 73, in __init__
self.load_data(raw)
File "/opt/electrum/electrum/wallet_db.py", line 104, in load_data
self._after_upgrade_tasks()
File "/opt/electrum/electrum/wallet_db.py", line 202, in _after_upgrade_tasks
self._load_transactions()
File "/opt/electrum/electrum/util.py", line 439, in <lambda>
return lambda *args, **kw_args: do_profile(args, kw_args)
File "/opt/electrum/electrum/util.py", line 435, in do_profile
o = func(*args, **kw_args)
File "/opt/electrum/electrum/wallet_db.py", line 1310, in _load_transactions
self.data = StoredDict(self.data, self, [])
File "/opt/electrum/electrum/json_db.py", line 79, in __init__
self.__setitem__(k, v)
File "/opt/electrum/electrum/json_db.py", line 44, in wrapper
return func(self, *args, **kwargs)
File "/opt/electrum/electrum/json_db.py", line 97, in __setitem__
v = self.db._convert_dict(self.path, key, v)
File "/opt/electrum/electrum/wallet_db.py", line 1361, in _convert_dict
v = dict((k, SwapData(**x)) for k, x in v.items())
```
Which means we need *both* xcode cli tools and full xcode. Document this weirdness, including the exact paths they should be at. excerpt from terminal when running make_osx: ``` Warning: You are using macOS 10.14. We (and Apple) do not provide support for this old version. You will encounter build failures with some formulae. Please create pull requests instead of asking for help on Homebrew's GitHub, Twitter or any other official channels. You are responsible for resolving any issues you experience while you are running this old version. ==> Downloading https://ftp.gnu.org/gnu/coreutils/coreutils-9.0.tar.xz Already downloaded: /Users/vagrant/Library/Caches/Homebrew/downloads/5744bb33344b6180adca9d909a87e830d55982a1b3229c61e9dc0e35cfacbf25--coreutils-9.0.tar.xz Error: Xcode alone is not sufficient on Mojave. Install the Command Line Tools for Xcode 11.3.1 from: https://developer.apple.com/download/all/ ```
``` $ cat d 29,30c29,32 < 527b99c5fa20d43ab49302f6b4b1a9a671ac04601f5f471f254ae2f97cb31e17 ./META-INF/MANIFEST.MF < 0a2887e3041a3eaeef6e0f1dbf65fcc527bf0c878728b0e9d4b783b855f3e64c ./assets/private.mp3 --- > d18d1d9f4933952f93b32091b0a002cdb9ed94fdecc20b22d605cf8143a02d92 ./META-INF/CERT.RSA > ec2ca24868f69427162c0dc2f3a3390e6165dec7b3202c65928ae77939316392 ./META-INF/CERT.SF > 7a94368993707d82a328cf7625450e6868f450ecf73474574048ff70a707f4ce ./META-INF/MANIFEST.MF > 84c86813d93d4e74a7f199da8b925d36d89608eee37031a88f61a833ab30e6dd ./assets/private.mp3 1672c1674 < 10666a3ae7e2080120165b2b0edbbe2eb8e7b679dac7de18dffde0e6f786fd08 ./assets/private_mp3/packages/frozenlist-1.3.0.dist-info/RECORD --- > 803d20545cf39ade4d9b803034f0fd2002478ffdcc2056852621ae2c42e37d0d ./assets/private_mp3/packages/frozenlist-1.3.0.dist-info/RECORD ```
these are StoredDicts, subdicts in wallet_db.data, so reassigning the name does not work
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.