@mmmbuto/nexuscrew 0.8.26 → 0.8.27
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 +23 -0
- package/README.md +22 -2
- package/frontend/dist/assets/index-CWKyv6KS.js +93 -0
- package/frontend/dist/assets/{index-DqG-mDnV.css → index-xxfypte7.css} +1 -1
- package/frontend/dist/index.html +2 -2
- package/frontend/dist/version.json +1 -1
- package/lib/cli/doctor.js +79 -1
- package/lib/cli/service.js +3 -1
- package/lib/diagnostics/routes.js +43 -0
- package/lib/diagnostics/store.js +139 -0
- package/lib/fleet/cell-exec.js +17 -2
- package/lib/fleet/managed.js +11 -3
- package/lib/fleet/routes.js +29 -4
- package/lib/nodes/aliases.js +122 -0
- package/lib/proxy/federation.js +26 -2
- package/lib/runtime/env.js +60 -1
- package/lib/server.js +28 -5
- package/lib/settings/routes.js +32 -0
- package/lib/update/manager.js +8 -0
- package/package.json +1 -1
- package/frontend/dist/assets/index-DkIPrmX6.js +0 -91
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,29 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to NexusCrew are tracked here.
|
|
4
4
|
|
|
5
|
+
## 0.8.27 — 2026-07-21 — "Portable Control"
|
|
6
|
+
|
|
7
|
+
- Restores Fleet and shell launches on current Android/Termux builds by preserving only a
|
|
8
|
+
validated, owner-safe `libtermux-exec` preload under the active Termux prefix. The related
|
|
9
|
+
Node-shebang workaround now detects the Termux runtime layout even when Node reports Linux.
|
|
10
|
+
- Surfaces stable, sanitized `ENOENT`/`EACCES` client-spawn diagnostics without exposing command
|
|
11
|
+
paths, arguments, environment values or credentials, and adds an actionable `nexuscrew doctor`
|
|
12
|
+
check for the Termux execution bridge.
|
|
13
|
+
- Keeps macOS LaunchAgents rooted at the stable user home rather than the replaceable runtime
|
|
14
|
+
directory, with a blocking doctor check for stale launchd working directories.
|
|
15
|
+
- Adds viewer-local aliases for routed nodes, keyed by stable instance identity and stored in a
|
|
16
|
+
private local file. Aliases change display text only; remote labels, routes, owners and topology
|
|
17
|
+
remain untouched and the mutation is never federated.
|
|
18
|
+
- Adds **Settings → Diagnostics** with bounded, structured, source-redacted records, temporary
|
|
19
|
+
5/15/30/60-minute verbose windows, filtering, pause, export, clear and routed read access.
|
|
20
|
+
Warning and error records remain available while verbose mode is off.
|
|
21
|
+
- Uses the logical Fleet cell name as the visible cell title on mobile, desktop overlays and grid
|
|
22
|
+
tiles, while retaining technical route context only as non-primary metadata.
|
|
23
|
+
- Updates the production lock to `body-parser@1.20.6`.
|
|
24
|
+
- Gate: **931 isolated Node tests** (930 pass / 1 platform skip), **70/70 frontend component
|
|
25
|
+
tests**, production PWA build and zero production dependency vulnerabilities in both dependency
|
|
26
|
+
trees.
|
|
27
|
+
|
|
5
28
|
## 0.8.26 — 2026-07-20 — "MCP Identity"
|
|
6
29
|
|
|
7
30
|
- Makes MCP caller resolution directly diagnosable through the read-only `nc_identity` tool.
|
package/README.md
CHANGED
|
@@ -83,6 +83,10 @@ The first run creates the loopback-only runtime, starts it in the background, op
|
|
|
83
83
|
and presents the setup wizard. Later runs reuse the configured service, print a compact status,
|
|
84
84
|
and exit.
|
|
85
85
|
|
|
86
|
+
On Android, `nexuscrew doctor` also verifies the Termux execution bridge used by current app
|
|
87
|
+
builds. NexusCrew carries forward only a validated `libtermux-exec` preload from the active
|
|
88
|
+
Termux prefix; arbitrary loader injection remains excluded from Fleet environments.
|
|
89
|
+
|
|
86
90
|
The preferred port is `41820`. If another process owns it, NexusCrew selects the next free
|
|
87
91
|
loopback port and records the result.
|
|
88
92
|
|
|
@@ -203,7 +207,8 @@ can be changed with pointer drag-and-drop or keyboard controls and is saved auto
|
|
|
203
207
|
|
|
204
208
|
On mobile, locations are independently collapsible and filterable by all, pinned, active, off,
|
|
205
209
|
or technical sessions. The same owner-qualified ordering model is used by compact and expanded
|
|
206
|
-
desktop views.
|
|
210
|
+
desktop views. Managed terminals use the logical Fleet cell name as their visible title; tmux
|
|
211
|
+
session and route identifiers remain technical context rather than the primary heading.
|
|
207
212
|
|
|
208
213
|
<p align="center">
|
|
209
214
|
<img src="docs/img/fleet-mobile.gif" width="420" alt="NexusCrew mobile Fleet view with managed cells and session controls">
|
|
@@ -270,6 +275,10 @@ Their human-readable label has one server-backed source: rename from Settings or
|
|
|
270
275
|
same canonical label appears everywhere without changing the technical route name, node identity,
|
|
271
276
|
credentials, Share state or deck identity.
|
|
272
277
|
|
|
278
|
+
For routed nodes that the current installation does not own, Settings → Nodes offers a local
|
|
279
|
+
alias instead of a remote rename. The alias is private to the viewing installation, follows the
|
|
280
|
+
stable instance identity and never changes or federates the remote label, route or owner.
|
|
281
|
+
|
|
273
282
|
Pairing links contain a short-lived one-time invite and routing fields, but no SSH private key,
|
|
274
283
|
provider key or PWA token. Node and deck identities remain owner-qualified across the network,
|
|
275
284
|
and every routed HTTP or WebSocket request rechecks authorization, hop count and cycle rules.
|
|
@@ -316,6 +325,17 @@ state and manual controls are available in Settings → System; set
|
|
|
316
325
|
On Linux, generated user services use `KillMode=process` so restarting NexusCrew does not stop
|
|
317
326
|
the shared tmux server. Lifecycle commands fail closed when that protection cannot be verified.
|
|
318
327
|
|
|
328
|
+
## Structured diagnostics
|
|
329
|
+
|
|
330
|
+
Settings → Diagnostics shows a bounded in-memory event buffer for the local installation or an
|
|
331
|
+
authorized routed node. Verbose collection is explicit and expires after 5, 15, 30 or 60 minutes;
|
|
332
|
+
operational warnings and errors remain available when verbose mode is off. The view supports
|
|
333
|
+
level/component filtering, pause, autoscroll, copy, JSON export and explicit clear.
|
|
334
|
+
|
|
335
|
+
Records are structured and redacted before storage. Raw terminal content, prompts, command lines,
|
|
336
|
+
environment values, tokens, credentials and filesystem paths are not accepted as diagnostic
|
|
337
|
+
metadata. The buffer is not a reader for service journals or log files.
|
|
338
|
+
|
|
319
339
|
## MCP bridge
|
|
320
340
|
|
|
321
341
|
`nexuscrew mcp` exposes the local authenticated runtime as a dependency-free stdio MCP server.
|
|
@@ -434,7 +454,7 @@ See [CHANGELOG.md](CHANGELOG.md) for released changes.
|
|
|
434
454
|
|
|
435
455
|
## Status
|
|
436
456
|
|
|
437
|
-
The current stable release is **v0.8.
|
|
457
|
+
The current stable release is **v0.8.27** on npm and GitHub.
|
|
438
458
|
|
|
439
459
|
## License
|
|
440
460
|
|