* chore: update wallet creation to use watch-only-descriptor-wallet
* remove duplicate version check
* fix: update release URL in install script and correct typo in wallet import message
* ci: test amd64 image descriptor wallet migration with Bats
* ci: boot amd64 image tests with OVMF pflash
* fix: gate descriptor wallet migration on Bitcoin Core v30
Detect the connected Bitcoin Core version over RPC before migrating.
Keep wallet.dat for v29.x or when the version cannot be determined.
Add regression coverage for both migration and compatibility paths.
* ci: make amd64 image tests independent of guest apt
Inject a pinned bats-core checkout into the temporary VM instead of
installing Bats through the guest package repositories.
Remove the duplicate pull request trigger and simplify artifact lookup.
* ci: harden image build run
* docs(FAQ): how automatic migration works
This PR updates JoinMarket to the latest tested commit with Python 3.12/3.13 support and addresses dialog display issues.
### Changes
#### JoinMarket Update
- Update to commit `ce32baf` (latest tested commit from master)
- Refactored install.joinmarket.sh to support both tag-based and commit-based installations
- Improved signature verification using verify.git.sh
- Updated menu.update.sh to display commit hash when using commit-based version
#### Python Support
- Added support for Python 3.12 and 3.13
- Changed version detection order to prefer newer Python versions (3.13 → 3.12 → 3.11 → 3.10 → 3.9 → 3.8)
#### Dialog Fixes
- **Fix border visibility**: Changed dialog border color from `(BLACK,BLACK,ON)` to `(CYAN,BLACK,ON)` in .dialogrc for better visibility
- **Terminal compatibility**: Added fallback for unknown terminal types (e.g., `xterm-ghostty`) by setting `TERM=xterm-256color` when `infocmp` fails
- **Fix box drawing characters**: Set `NCURSES_NO_UTF8_ACS=1` to fix dialog box rendering issues
#### Documentation
- Fixed typo in prepare_remote_node.md: "numbes" → "numbers"
* joinmarket update to v0.9.11
* remove deprecated install tweak
* remove pyhton 3.7 support
* stop using system-side PySide2
* don't install the QT Gui on ARM
* format start.joininbox.sh
* remove arm specific qtgui deps, no qtgui on build for arm
* don't protect system packages from pip install
* add libltdl-dev to apt-get packages
* refactor install to add new user
* add option to test a joininbox pr
* reorder vars and update FAQ
* record the qtgui entry and prepare ${user}
* check entry after the user is created