1
0
Commit Graph

17677 Commits

Author SHA1 Message Date
SomberNight
276488e3d0 binaries: document min requirements for target systems 2024-10-04 14:02:51 +00:00
ThomasV
e2afe2059b move tx grouping code from lnworker to submarine_swaps
This better encapsulates the swaps logic. If we turn
submarine_swaps into a plugin, these methods can be
replaced by hooks.
2024-10-03 14:49:00 +02:00
SomberNight
28169cf021 (trivial) contrib/make_packages.sh: print success msg when done 2024-10-02 17:38:29 +00:00
SomberNight
d1de29513f android build: use spesmilo/ fork of p4a and buildozer
- fdroid maintainers asked that releases use fixed forks of p4a and buildozer,
  so now we use the newly created forks in the spesmilo org. I plan to keep using
  my existing contributor-specific repos for development, but whatever we push
  to electrum master, should use the new spesmilo/ forks.
  see https://gitlab.com/fdroid/fdroiddata/-/merge_requests/15858#note_2136345746
  - Also, I added branch protection rules for branches named "electrum_*", so if
    we name the branches that are actually used in releases as such, we won't
    accidentally force-push them. (ref https://github.com/spesmilo/electrum/issues/8162)
    I think we can just create a new branch whenever we would want to force-push
    the existing one.
- also factored out some parameters so that it is easier to programmatically
  access them from the fdroid build script.
  see https://gitlab.com/fdroid/fdroiddata/-/merge_requests/15858#note_2136094409
2024-10-02 17:27:17 +00:00
SomberNight
eb3b288337 android readme: extend "access datadir on Android from desktop"
- add commands to restrict unix permissions for pushed files
- add notes for "multiple user profiles" case
2024-10-02 15:14:10 +00:00
ghost43
76bed2327e Merge pull request #9221 from SomberNight/202409_android_apk_version
android: rm APK_VERSION, and change versionCode calculation
2024-10-02 13:49:39 +00:00
ThomasV
7c6ff6757c plugins dialog: show description and enable buttons in the same dialog 2024-10-02 11:16:59 +02:00
ThomasV
cc2db1544f plugins.json: update hash 2024-10-02 11:15:40 +02:00
ThomasV
b1db99fde8 update hash for winehq.key
Looks like upstream key file changed. Still the same crypto key, just updated expiration date.

```
$ sha256sum winehq_20*
78b185fabdb323971d13bd329fefc8038e08559aa51c4996de18db0639a51df6 *winehq_2019.key
d965d646defe94b3dfba6d5b4406900ac6c81065428bf9d9303ad7a72ee8d1b8 *winehq_2024.key

$ gpg winehq_2019.key
gpg: WARNING: no command supplied.  Trying to guess what you mean ...
pub   rsa3072 2018-12-10 [SC]
      D43F640145369C51D786DDEA76F1A20FF987672F
uid           WineHQ packages <wine-devel@winehq.org>
sub   rsa3072 2018-12-10 [E] [expired: 2020-12-09]

$ gpg winehq_2024.key
gpg: WARNING: no command supplied.  Trying to guess what you mean ...
pub   rsa3072 2018-12-10 [SC]
      D43F640145369C51D786DDEA76F1A20FF987672F
uid           WineHQ packages <wine-devel@winehq.org>
sub   rsa3072 2018-12-10 [E]
```

Co-authored-by: SomberNight <somber.night@protonmail.com>
2024-10-01 15:27:34 +00:00
SomberNight
7e532ec995 android build: add own logic to calculate versionCode
Use our own logic to go from ELECTRUM_VERSION to numeric android versionCode,
instead of using the default conversion done by python-for-android.

Even before this, we were already patching p4a to modify their logic (see [0]).
This commit changes that logic again, and moves it into a separate script in our repo.
- calculation change is due to the f-droid maintainers asking for the
  arch code to be in the least significant digits (instead of most sig digits) (see [1])

I have pushed and changed to a new p4a branch, which is just a copy of the previous one
with 3 commits related to versionCode calc squashed.

[0]: edb7e4fe6d
[1]: https://github.com/spesmilo/electrum/issues/9210#issuecomment-2380559324
2024-09-30 19:51:28 +00:00
SomberNight
c96ac892c3 version.py: rm APK_VERSION
related: https://github.com/spesmilo/electrum/issues/9210#issuecomment-2376572832
2024-09-30 16:08:18 +00:00
ThomasV
b7a9e4cf7e load_external_plugins: fix config variable name 2024-09-27 14:14:03 +02:00
thecockatiel
7fb7ac919c chore: add fastlane metadata for f-droid (#9211)
* chore: add fastlane metadata for f-droid

* chore: add short description

* chore: use the correct short description
2024-09-26 20:18:34 +00:00
SomberNight
2c6e768c8d android: update p4a ref
to have 58d21ad89b
> reproducible apks: strip file path prefix from .pyc files

related: https://github.com/spesmilo/electrum/issues/9215
2024-09-26 18:27:52 +00:00
SomberNight
f2c96ca587 transaction.sign: (trivial) nicer log line 2024-09-26 15:09:19 +00:00
SomberNight
9a5edfdd74 android: set target_sdk_version to 34
To comply with new google play store requirement:

> Starting August 31 2024:
> - New apps and app updates must target Android 14 (API level 34) or higher to be submitted to Google Play

AFAICS, we do not need to adapt to any of the changes.
https://developer.android.com/about/versions/14/behavior-changes-14
2024-09-19 16:51:08 +00:00
SomberNight
9b1ccb9978 android: add comment that OS push notifications are broken 2024-09-19 16:46:07 +00:00
SomberNight
3340f6076b build: include tests/ in tarballs
closes https://github.com/spesmilo/electrum/issues/9207
2024-09-19 15:36:45 +00:00
ThomasV
ad0b5453a3 qml: do not display success if swap failed.. 2024-09-19 13:16:32 +02:00
SomberNight
383f99796a qt gui: follow-up qt6: fix args for QWidget.setFocus()
Traceback (most recent call last):
  File "...\electrum\electrum\gui\qt\main_window.py", line 1797, in toggle_search
    self.search_box.setFocus(1)
TypeError: arguments did not match any overloaded call:
  setFocus(self): too many arguments
  setFocus(self, reason: Qt.FocusReason): argument 1 has unexpected type 'int'
2024-09-18 17:39:46 +00:00
ghost43
1e03b4668a Merge pull request #9205 from accumulator/issue9204
qml: add seed passphrase property to QEWallet, show in WalletDetails
2024-09-18 16:16:09 +00:00
ghost43
5548d2831c Merge pull request #9189 from SomberNight/202409_desktop_qt6
Qt desktop GUI: upgrade to Qt6
2024-09-18 16:04:49 +00:00
Sander van Grieken
0d7ff8635b qml: add seed passphrase property to QEWallet, show in WalletDetails 2024-09-18 18:00:44 +02:00
SomberNight
e8450f014e qt gui: default to QT_QPA_PLATFORM=xcb for AppImage
The wayland plugin would require at least debian 12 (or ubuntu 22.04) at runtime.

see https://github.com/spesmilo/electrum/pull/9189#pullrequestreview-2309983943 :

> I've now tried running the appimage on debian 10 (oldoldstable), and am getting an error with wayland.
>
> ```
>   4.16 | D | util.profiler | Plugins.__init__ 0.0422 sec
>   4.16 | I | daemon.Daemon | launching GUI: qt
>   4.76 | I | gui.qt.ElectrumGui | Qt GUI starting up... Qt=6.7.1, PyQt=6.7.1
> /tmp/.mount_electrFlGFOt/usr/bin/python3: symbol lookup error: /tmp/.mount_electrFlGFOt/usr/lib/python3.11/site-packages/PyQt6/Qt6/plugins/platforms/../../lib/libQt6WaylandClient.so.6: undefined symbol: wl_proxy_marshal_flags
> ```
>
> If I explicitly specify `QT_QPA_PLATFORM=xcb`, it starts and works as expected. But it picks wayland by default.
> I found https://bugreports.qt.io/browse/QTBUG-114635 and it looks like even debian 11 might be affected.
2024-09-18 15:48:57 +00:00
SomberNight
e05d2a5dbe qt gui: clean-up QCheckBox.stateChanged handling
Some checkboxes, e.g. main_window.warn_if_testnet became buggy with pyqt6:
looks like the stateChanged signal passes an int, not a Qt.CheckState.
(and note that Qt.CheckState is an Enum, not an IntEnum).
So `x == Qt.CheckState.Checked` would always evaluate to False.

```
def on_cb(_x):
    print(f"heyheyhey. {_x=!r}, {Qt.CheckState.Checked=!r}, {cb.checkState()=!r}, {cb.isChecked()=!r}")
cb = QCheckBox("")
cb.stateChanged.connect(on_cb)
```

heyheyhey. x=2, Qt.CheckState.Checked=<CheckState.Checked: 2>, cb.checkState()=<CheckState.Checked: 2>, cb.isChecked()=True
heyheyhey. x=0, Qt.CheckState.Checked=<CheckState.Checked: 2>, cb.checkState()=<CheckState.Unchecked: 0>, cb.isChecked()=False
2024-09-18 15:48:54 +00:00
SomberNight
1ee6361c7e qt gui: qt6 migration follow-ups 2024-09-18 15:48:50 +00:00
SomberNight
d791e3a9c8 qt gui: fix: qt6 segfaults on macOS if we add a menu item named "About"
macOS reserves the "About" menu item name, similarly to "Preferences" (see a few lines above).
The "About" keyword seems even more strictly locked down:
not allowed as either a prefix or a suffix.
- With Qt5, a matching menu item is simply auto-recognised as the special "About" item,
- but with Qt6, it seems we explicitly have to do this dance, as directly adding
  a menu item with the "About" name results in a segfault...
2024-09-18 15:48:46 +00:00
SomberNight
47d094fda0 mac build: bump declared min supported macos version (10.13->11)
due to the qt 5.15 -> qt 6.7 bump

related https://github.com/spesmilo/electrum/issues/3685
2024-09-18 15:48:43 +00:00
SomberNight
cfe8502f96 qt desktop gui: upgrade qt5->qt6
closes https://github.com/spesmilo/electrum/issues/8007
2024-09-18 15:48:38 +00:00
SomberNight
fcc4e1d387 wine build: build 64-bit windows binaries
required for qt6

related: https://github.com/spesmilo/electrum/issues/6598
2024-09-18 15:46:16 +00:00
SomberNight
c3e0457d1c Merge branch 'pr/9190': revealer plugin: update Source Sans Pro font
see https://github.com/spesmilo/electrum/pull/9190
2024-09-18 15:25:30 +00:00
Soren Stoutner
815e18302d revealer plugin: move font initialisation to earlier
Co-authored-by: SomberNight <somber.night@protonmail.com>
2024-09-18 15:11:30 +00:00
ghost43
ba3935c842 Merge pull request #9201 from accumulator/sweep_privkey_fixes
qt: fix scanning multi (privkeys, addresses) from QR.
2024-09-17 13:33:42 +00:00
Sander van Grieken
eaebcaf383 qml: styling HelpDialog 2024-09-17 13:22:37 +02:00
Sander van Grieken
a01ae99a6f qt: fix scanning multi (privkeys, addresses) from QR. 2024-09-17 11:50:21 +02:00
SomberNight
b3491b99d7 build: update pinned qdarkstyle (partial rerun freeze_packages)
related https://github.com/spesmilo/electrum/pull/9189
(version 3.2 added support for qt6, so this version supports both qt5 and qt6)
2024-09-16 15:48:30 +00:00
SomberNight
1257f21b1b constants: rm set_testnet/set_mainnet fns with AbstractNet.set_as_network 2024-09-16 15:27:45 +00:00
SomberNight
778aea340e follow-up testnet4 stuff: trivial clean-up
re https://github.com/spesmilo/electrum/pull/9197

localhost in servers list should only be for regtest-like networks
2024-09-16 15:11:03 +00:00
ghost43
714e5cd84b Merge pull request #9197 from wakiyamap/add_support_testnet4
Add suport testnet4
2024-09-16 15:02:05 +00:00
ghost43
f7749d62aa Merge pull request #9194 from accumulator/factor_out_choicelayout
qt: factor out remaining ChoicesLayout uses
2024-09-16 13:56:20 +00:00
Sander van Grieken
0b09592ef1 qt: move query_choice to MessageBoxMixin, document ChoiceWidget 2024-09-14 11:12:42 +02:00
wakiyamap
1adc0ad4d9 remove BOLT11_HRP_INV_DICT 2024-09-14 09:51:44 +09:00
wakiyamap
1d9ff40d0b Add suport testnet4 2024-09-14 03:52:03 +09:00
Sander van Grieken
0277950247 qt: factor out remaining ChoicesLayout uses 2024-09-13 17:10:52 +02:00
SomberNight
6b4ba1f757 sdist README: document differences between sourceonly and normal tar.gz 2024-09-11 14:55:22 +00:00
Soren Stoutner
47370d773c Update Source Sans Pro font to the current Source Sans 3. 2024-09-10 17:30:32 -07:00
SomberNight
0d0aa0f04a build: appimage: dl xcb-util as debian src pkg instead of upstream git
The upstream git repo has been unreachable for at least days.
2024-09-10 15:45:07 +00:00
SomberNight
2ebf8fd9ef qt gui: use QGuiApplication.setApplicationName
I noticed that when running from source on macOS, the OS menubar has an "About Python" menu item,
instead of an "About Electrum" menu item. I tried to fix that by this, but actually it is not working :P

Nevertheless, this looks useful at least on Linux and Windows. E.g. when instantiating a new dialog
without an explicit title, the qt application name is used as default.

The application name, without this change AFAICS was already "Electrum" when running any of the binaries.
However when running from source, it was in some cases "python" or "run_electrum" or even "electrum-4"
(depending on OS and how the main script is started).
Now it is consistent -- except on macOS it still is not, as there it really wants to look for a .plist...
2024-09-09 16:34:43 +00:00
ghost43
2f9ce3ff8c Merge pull request #9183 from JamieDriver/jade_native_psbt
Jade native psbt
2024-09-09 14:41:47 +00:00
SomberNight
f091f23776 follow-up moving some funcs from ecc.py to bitcoin.py (no. 2)
follow-up 2f3d89f415
2024-09-06 17:05:23 +00:00