@mmmbuto/nexuscrew 0.9.67 → 0.9.70

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
@@ -2,6 +2,18 @@
2
2
 
3
3
  All notable changes to NexusCrew are tracked here.
4
4
 
5
+ ## 0.9.70 — 2026-10-14
6
+
7
+ - **The file panel is readable on a phone.** The list now takes the full width of the drawer with two-level rows: the file's name on one line, its arrival time and size on the next, instead of a single line that truncated the name. The arrival stamp and the sender's date prefix are stripped from what is displayed, files are grouped under day headers, and a search box filters the list as you type. The actions on a file moved into an actions sheet opened from the row's «⋯» menu, and the destructive one never fires on the first tap: deleting a file asks for a confirmation inside the sheet.
8
+ - **A desktop view joins the mobile one.** On a wide screen with a fine pointer the same panel opens as a wide drawer with a columned list — the name is never cut, next to size and arrival — filter pills for all, documents and images, and a detail pane with a preview of text files and images (a PDF is left to the browser's Open); `/` focuses the search and the arrow keys walk the list, Enter opens the actions sheet.
9
+ - **Every action keeps using the file's real name.** What the panel shows strips the arrival stamp and the date prefix; what travels in every request — download, preview, delete — is always the original on-disk name, and the actions sheet spells that name out in full before anything is acted on.
10
+
11
+ ## 0.9.68 — 2026-10-14
12
+
13
+ - **The web terminal no longer goes black on the first mode query from the session.** @xterm/xterm 6.0.0's `requestMode` (the DECRQM handler, `CSI ? Ps $ p` and `CSI Ps $ p`) ships a compiled const-enum emulation that this repo's build pipeline rewrites into an assignment to an identifier nothing declares: in the shipped ES module the first DECRQM written to the terminal throws `ReferenceError: n is not defined`, the write buffer never drains again, and the terminal stops rendering while the WebSocket stays healthy — the black terminal of the phone-hosted cells, seen from any client. The web terminal now registers its own CSI handlers for both DECRQM forms ahead of the defective built-in, answers DECRPM (`Pm=0`, not recognized) over the input channel, and swallows the sequence; a view-only terminal swallows it without answering, like any other input. No published release of @xterm/xterm changes the pattern (latest is 6.0.0; the 6.1.0-beta line still carries it), so the shield lives in the app and the test that pins the rewritten bundle fails loudly the day an upgrade makes it unnecessary.
14
+ - **A parser exception can no longer take the output stream down silently.** The writes that carry the channel's output to the terminal go through a guarded helper: an exception is logged to the console, together with what was discarded, instead of escaping into the message handler and leaving a live channel with a terminal that never draws again.
15
+ - **A reconnect through a hub-held federated attach no longer leaves the terminal black.** When a client drops without a close frame (a mobile network cut, a killed tab) and reconnects while the hub still holds the upstream websocket, the returning browser's attach frame reached a bridge that was already attached on that websocket and was rejected with close 1002 "already attached", putting the client in a reconnect loop. A duplicate attach for the same session on an already-attached websocket is now an idempotent re-ack (the payload is ignored: no readonly downgrade, no size-policy change, no second pty); a duplicate attach for a different session is still a protocol violation closed with 1002.
16
+
5
17
  ## 0.9.67 — 2026-10-10
6
18
 
7
19
  - **A host-only peer is closed to every legacy door.** The audience gate of 0.9.66 covered the peer-facing protocol only; the older paths that re-enter the local API with the node's own authority did not look at it. They now do, and the owner's view and the trusted peers keep their behaviour.