4 Commits
reset ... main

Author SHA1 Message Date
9c3d9e0755 Release v1.1.0
Bump version to 1.1.0 across version.py, README, manifest.json and
CHANGELOG. Update user guide with troubleshooting section covering the
SSL certificate reset workflow
2026-02-19 10:32:41 +01:00
495bf82004 Update user-guide.md
Add a section for clear SSL certificates and known servers
2026-02-19 09:26:36 +01:00
8592fd24d7 qt: fix whitepaper URL and use xdg-open for web links on Linux
- update whitepaper URL to github.com/palladium-coin/whitepaper
- replace webbrowser.open() with xdg-open on Linux to ensure the
  desktop browser is used instead of text-based alternatives (w3m)
2026-02-19 09:09:51 +01:00
a90475a98e Merge branch 'reset' 2026-02-19 08:55:53 +01:00
7 changed files with 82 additions and 12 deletions

View File

@@ -18,6 +18,30 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
---
## [1.1.0] - 2026-02-19
### Overview
This release adds ARM64/aarch64 platform support, native Palladium URI scheme integration, a unified network reset feature for both desktop and Android interfaces, and several bug fixes and documentation improvements.
### Added
- **ARM64/aarch64 support**: AppImage builds now include a dedicated ARM64 variant for Linux on aarch64 hardware.
- **ARM64 QML support**: Android/QML interface now works on ARM64 devices with pinned PyQt6 dependencies (`PyQt6>=6.7.0,<6.8.0`) to ensure compatibility where PyQt6 ≥ 6.9 is unavailable.
- **Palladium URI scheme**: Donation flow and payment handling now use the `palladium:` URI scheme instead of `bitcoin:`.
- **Reset SSL certificates**: New action in both Qt (Server tab) and QML (Server Settings) to delete locally cached TLS certificates and force re-fetch on reconnect. Useful when a server renews its self-signed certificate.
- **Reset known servers**: New action alongside SSL reset to clear the list of recently used servers, available in both Qt and QML interfaces.
- **Troubleshooting section in user guide**: Added documentation explaining SSL certificate caching, why self-signed certificates require manual reset, and step-by-step instructions for both Android and desktop.
### Fixed
- **WIF deserialization bug**: Fixed incorrect private key deserialization for Palladium network parameters.
- **Docker build warning**: Resolved undefined `TARGETARCH` variable warning in multi-platform Docker builds.
- **Whitepaper link**: Updated Help → White Paper URL to the correct repository (`palladium-coin/whitepaper`).
- **Browser opening on Linux**: `webopen()` now uses `xdg-open` instead of Python's `webbrowser` module, preventing text-based browsers (e.g. `w3m`) from being selected instead of the desktop browser.
### Changed
- **README**: Updated "Running from Source" section with clear numbered steps, separate x86_64 and ARM64 dependency instructions, and improved QML optional section.
---
## [1.0.1] - 2026-01-10
### Changed

View File

@@ -2,7 +2,7 @@
```
Licence: MIT Licence
Version: 1.0.1
Version: 1.1.0
Maintainer: Davide Grilli
Language: Python (>= 3.10)
Homepage: https://github.com/palladium-coin/pallectrum

View File

@@ -845,7 +845,7 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, Logger, QtEventListener):
self.help_menu.addSeparator()
self.help_menu.addAction(_("&Documentation"), lambda: webopen("https://github.com/palladium-coin/pallectrum/blob/main/user-guide.md")).setShortcut(QKeySequence.StandardKey.HelpContents)
if not constants.net.TESTNET:
self.help_menu.addAction(_("&White Paper"), lambda: webopen("https://github.com/palladium-coin/palladiumcore/blob/master/assets/whitepaper/(original)whitepaper.pdf"))
self.help_menu.addAction(_("&White Paper"), lambda: webopen("https://github.com/palladium-coin/whitepaper/blob/main/whitepaper.pdf"))
self.help_menu.addAction(_("&Report Bug"), self.show_report_bug)
self.help_menu.addSeparator()
self.help_menu.addAction(_("&Donate to server"), self.donate_to_server)

View File

@@ -1337,14 +1337,17 @@ def font_height(widget: QWidget = None) -> int:
def webopen(url: str):
if sys.platform == 'linux' and os.environ.get('APPIMAGE'):
if sys.platform == 'linux':
if os.environ.get('APPIMAGE'):
# When on Linux webbrowser.open can fail in AppImage because it can't find the correct libdbus.
# We just fork the process and unset LD_LIBRARY_PATH before opening the URL.
# See #5425
if os.fork() == 0:
del os.environ['LD_LIBRARY_PATH']
webbrowser.open(url)
os.system(f'xdg-open "{url}" &')
os._exit(0)
else:
os.system(f'xdg-open "{url}" &')
else:
webbrowser.open(url)

View File

@@ -4,5 +4,5 @@
"author": "orenz0@protonmail.com",
"available_for": ["qt"],
"icon":"timelock_recovery_60.png",
"version": "1.0.1"
"version": "1.1.0"
}

View File

@@ -1,4 +1,4 @@
ELECTRUM_VERSION = '1.0.1' # version of the client package (Pallectrum)
ELECTRUM_VERSION = '1.1.0' # version of the client package (Pallectrum)
PROTOCOL_VERSION_MIN = '1.4' # electrum protocol
PROTOCOL_VERSION_MAX = '1.6'

View File

@@ -11,6 +11,7 @@ Welcome to the Pallectrum user guide. This document will help you understand and
3. [Creating a New Wallet](#3-creating-a-new-wallet)
4. [Backing Up Your Seed Phrase](#4-backing-up-your-seed-phrase)
5. [Recovering a Wallet from Seed](#5-recovering-a-wallet-from-seed)
6. [Troubleshooting](#6-troubleshooting)
---
@@ -233,3 +234,45 @@ If you need to restore your wallet (new device, lost wallet file, etc.), you can
- Verify the first receiving address matches your original wallet
- Never enter your seed phrase on untrusted devices or websites
- Use the official Pallectrum application from trusted sources only
---
## 6. Troubleshooting
### Cannot Connect to Server — SSL Certificate Error
#### Why this happens
When Pallectrum connects to an Electrum server for the first time, it downloads and saves the server's SSL/TLS certificate locally. On subsequent connections, it compares the stored certificate with the one the server presents. If they do not match, the connection is refused — this is a security mechanism to protect you against man-in-the-middle attacks.
This becomes a problem with **self-signed certificates**, which are common on personal or community-run servers. Unlike certificates issued by a trusted authority (CA), self-signed certificates are generated directly by the server administrator. They provide encryption, but they are not verified by any third party. When the administrator renews or replaces the certificate (for example, after it expires or following server maintenance), the new certificate no longer matches the one Pallectrum has stored locally, and the connection fails silently.
**In short:** Pallectrum remembers "this server uses this exact certificate." If the certificate changes — even legitimately — Pallectrum refuses to reconnect until the old cached certificate is deleted.
#### Symptoms
- The wallet stays disconnected after selecting a personal or custom server
- The status bar shows no connection even though the server is online
- The problem started after a server update or maintenance window
#### Solution
Delete the locally cached certificate so that Pallectrum can fetch and store the new one on the next connection attempt.
**On Android / QML interface:**
1. Open the app and go to **Network** (bottom navigation bar)
2. Tap **Server Settings**
3. Tap the reset icon (🗑) next to the server address field
4. Select **SSL certificates**
5. Confirm when prompted
6. The app will reconnect automatically and store the new certificate
**On Desktop (Windows / Linux):**
1. Open the **Tools** menu → **Network**
2. Go to the **Server** tab
3. Click **Reset SSL certificates**
4. Confirm when prompted
After resetting, Pallectrum will reconnect to the server and cache the new certificate. If the connection still fails, verify that the server address is correct and that the server is online.