v0.5.15: update changelog
This commit is contained in:
75
CHANGELOG.md
75
CHANGELOG.md
@@ -2149,3 +2149,78 @@ earlier)" as one of the three possible reasons (v0.5.9).
|
|||||||
- `ruff`: no new errors.
|
- `ruff`: no new errors.
|
||||||
|
|
||||||
**Outcome:** DONE (delivered as test ZIP v0.5.13; commit only after confirmation).
|
**Outcome:** DONE (delivered as test ZIP v0.5.13; commit only after confirmation).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 38. v0.5.14 - Shorten long Tor (.onion) will-executor URLs in the list
|
||||||
|
|
||||||
|
**Date:** 2026-07-15
|
||||||
|
|
||||||
|
**Goal (owner request):** In the will-executor list, a Tor (.onion) URL is very
|
||||||
|
long and overflows the URL column. Show it shortened (like the welist site at
|
||||||
|
welist.bitcoin-after.life), keeping the full address available.
|
||||||
|
|
||||||
|
**What changed (`bal/gui/qt/lists.py`, display only):**
|
||||||
|
|
||||||
|
- `WillExecutorListWidget.update()`: the URL column now displays a shortened
|
||||||
|
form for long addresses - the first 37 characters + an ellipsis (matching the
|
||||||
|
welist site) - while the FULL url is still stored as the row's key data and is
|
||||||
|
set as the cell tooltip (so hovering shows the complete address). URLs of 40
|
||||||
|
characters or fewer are shown unchanged.
|
||||||
|
- New `_FullUrlEditDelegate` installed on the URL column: when the user
|
||||||
|
double-clicks the URL cell to edit it, the editor is preloaded with the FULL
|
||||||
|
url (from the key role) instead of the shortened display text. Without this,
|
||||||
|
editing a shortened URL would have saved the truncated text and corrupted the
|
||||||
|
will-executor key. Verified against Electrum's edit-commit path
|
||||||
|
(my_treeview on_commitData -> on_edited): the committed text is the editor's
|
||||||
|
text (now the full URL) and the edit key is read from the role, so an
|
||||||
|
unmodified URL round-trips intact.
|
||||||
|
- Only the URL column's presentation/editor changed; download, ping and
|
||||||
|
connection logic are untouched.
|
||||||
|
|
||||||
|
**Verification:**
|
||||||
|
- Full test suite against **Electrum 4.7.2**: `266 passed`; against **Electrum
|
||||||
|
4.8.0**: `266 passed` (same 2 pre-existing, unrelated failures in both).
|
||||||
|
- `ruff`: no new errors.
|
||||||
|
- Shortening check: the 69-char sample .onion becomes a 38-char display
|
||||||
|
("http://gxvdgcqdy2s7x5cujmkaqua72r2aqo..."), while short https URLs are shown
|
||||||
|
unchanged.
|
||||||
|
|
||||||
|
**Note:** the separate ~5s delay observed when contacting the .onion server is
|
||||||
|
inherent to Tor building a circuit to the hidden service, not a plugin bug; it
|
||||||
|
was analysed but intentionally NOT changed here.
|
||||||
|
|
||||||
|
**Outcome:** DONE (delivered as test ZIP v0.5.14; commit only after confirmation).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 39. v0.5.15 - Fix KeyError on delete/select/ping of shortened .onion will-executors
|
||||||
|
|
||||||
|
**Date:** 2026-07-15
|
||||||
|
|
||||||
|
**Problem (owner-reported):** After v0.5.14 shortened long .onion URLs in the
|
||||||
|
will-executor list, deleting (or selecting/deselecting/pinging) a server raised:
|
||||||
|
|
||||||
|
KeyError: 'http://gxvdgcqdy2s7x5cujmkaqua72r2aqo...'
|
||||||
|
|
||||||
|
**Cause:** `WillExecutorListWidget.create_menu` collected the selected key with
|
||||||
|
`item.data(0)`, which returns the DISPLAY text - now the SHORTENED URL (with the
|
||||||
|
ellipsis). That truncated string was then used as a dict key in
|
||||||
|
delete/select/deselect/ping, none of which exist in `willexecutors_list` (keyed
|
||||||
|
by the full URL) -> KeyError. This was a regression introduced by v0.5.14.
|
||||||
|
|
||||||
|
**Fix (`bal/gui/qt/lists.py`, `create_menu`):** the selected key is now read from
|
||||||
|
the real key role (`ROLE_HEIR_KEY + Columns.URL`), which always holds the full
|
||||||
|
URL - the same mechanism already used by `get_edit_key_from_coordinate` and
|
||||||
|
`on_double_click` - with a fallback to `item.data(0)` only if the role is
|
||||||
|
missing. So the context-menu actions operate on the full URL again.
|
||||||
|
|
||||||
|
**Verification:**
|
||||||
|
- Full test suite against **Electrum 4.7.2**: `266 passed`; against **Electrum
|
||||||
|
4.8.0**: `266 passed` (same 2 pre-existing, unrelated failures in both).
|
||||||
|
- `ruff`: no new errors.
|
||||||
|
- Checked there are no other `.data(0)` key usages left in the will-executor
|
||||||
|
list (the remaining ones are in the heir/will lists, which do not shorten
|
||||||
|
URLs).
|
||||||
|
|
||||||
|
**Outcome:** DONE (delivered as test ZIP v0.5.15; commit only after confirmation).
|
||||||
|
|||||||
Reference in New Issue
Block a user