@mmmbuto/nexuscrew 0.8.48 → 0.8.50

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -4,6 +4,55 @@ All notable changes to NexusCrew are tracked here.
4
4
 
5
5
  ## Unreleased
6
6
 
7
+ ## 0.8.50 — 2026-08-04 — "What You Selected, What You Rely On"
8
+
9
+ - Selected text no longer disappears before you can copy it. xterm discards a
10
+ selection on any input sent to the application: a keystroke, and — when the
11
+ application has enabled mouse tracking, as Claude Code does and Codex does
12
+ not — a single click, because that click becomes an SGR mouse report. A row
13
+ resize does the same, so on a phone the virtual keyboard alone is enough. The
14
+ practical result was selecting with Shift, releasing Shift to reach the Copy
15
+ button, and finding nothing left to copy before the button was pressed. The
16
+ selected text is now kept locally until you act on it: copy or cancel. The
17
+ highlight may still vanish, since it belongs to the terminal emulator, but
18
+ what you copy does not.
19
+
20
+ - Touch selection works above your finger everywhere. A long press already
21
+ lifted the working point two rows and drew a caret, so you could see what you
22
+ were taking; selection mode — the branch reached through the SELECT key and on
23
+ every touch after the first — instead used the cell under the fingertip, the
24
+ one cell you cannot see while choosing it. Both paths now behave the same.
25
+
26
+ - A reverse pool that cannot be fully verified now says what that costs.
27
+ Rotation deliberately refuses to move into a pool whose slots are not all
28
+ proven, and the watcher that would notice a degraded channel is never armed
29
+ while the pool is unverified — so the reverse channel has no self-healing at
30
+ all, and nothing said so. On a live link the active slot proves and the
31
+ standby slots do not, because nothing listens on a reserved port, which makes
32
+ that the steady state rather than an exception. The verdict and the safety
33
+ gate are unchanged; the state is now reported for what it is. A verification
34
+ run also no longer stops at the first slot that fails to prove, so one broken
35
+ standby can no longer hide a healthy one behind it, and the outcome carries
36
+ which slots failed and with which code.
37
+
38
+ ## 0.8.49 — 2026-08-04 — "Whose Identity"
39
+
40
+ - Share can be enabled over a reverse channel again. A reverse slot listener
41
+ answers an ownership challenge signed over `(port, generation, instanceId)`,
42
+ and the far end builds that challenge with the id of *this* installation —
43
+ us, as seen from there. The listener announced the id of the **remote** node
44
+ instead, so the two ends signed different tuples and the proof never matched.
45
+ The refusal arrives as a typed `409`, which is final by design, so no amount
46
+ of retrying could help and Share stayed off. Present since 0.8.45. The
47
+ listener now announces its own instance id, and refuses to open at all when
48
+ that id is unknown rather than opening one nobody can validate.
49
+
50
+ - A failed Share now says why. The server had already classified the failure
51
+ and redacted it — `code` and `detail` travelled in the response — but the
52
+ interface showed only the headline, which is the same four words whether the
53
+ peer is unreachable, the credential was refused, the hub answered 5xx or a
54
+ slot proof was refused. Both are now shown.
55
+
7
56
  ## 0.8.48 — 2026-08-04 — "Federated Terminal, Scroll and Names"
8
57
 
9
58
  - Federated terminals no longer stay black. A WebSocket upgrade arriving on a