B008 Do not perform function calls in argument defaults. The call is performed only once at function definition time. All calls to your function will reuse the result of that definition-time function call. If this is intended, assign the function call to a module-level variable and use that variable as a default value.
Had a crash shortly after enabling lightning and the LN keys were lost...
Though note that opening a channel triggers wallet.save_db(), so I think
nothing of real value is at risk without this change.
We don't actually need the development headers, instead using this as
a hack to be agnostic to the version scheme and pull in the latest.
related:
https://github.com/spesmilo/electrum/pull/8185https://github.com/spesmilo/electrum/pull/8320https://github.com/spesmilo/electrum/issues/8328#issuecomment-1518061250
debian 11 (stable) only has libsecp256k1-0
debian 12 (testing) atm only has libsecp256k1-1
ubuntu 23.04 only has libsecp256k1-1
I expect libsecp256k1-2 might soon get packaged too, now that upstream secp released v0.3.0.
So what do we tell users to install? well, turns out most distros have libsecp256k1-dev, which
just pulls in the latest secp.
Caveat: if there is a new secp release that actually gets packaged on a distro before we can react,
then this new instruction will not work.
this replaces https://github.com/spesmilo/electrum/pull/8320
see f6bef03c0a/CHANGELOG.md
I am not yet sure how this will look like going forward, but unless there will
be lots of libsecp256k1 releases with ~invisible harmless ABI changes, I think
conceptually this is the right approach.
Looking at different system-wide keyboards on different phones, these
new smaller margin sizes should still be sufficient; and this lets
the buttons be larger.
```
$ python3 -O
Python 3.10.6 (main, Mar 10 2023, 10:55:28) [GCC 11.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> assert (x := 2)
>>> x
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'x' is not defined
```
pity. it looked to be a neat and concise pattern.
fixes https://github.com/spesmilo/electrum/issues/8323
from issue:
> Currently, translatable strings from QML are assigned a `context`
> by `lupdate`, which is then also used by the conversion to `gettext`.
> This `context` must be used when translating such a string. This results in
> strings that are unique to QML to not be translated, due to a missing
> `context` parameter which we do not take into account in electrum.