@mmmbuto/nexuscrew 0.8.10 → 0.8.12
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/README.md +25 -12
- package/frontend/dist/assets/index-DrroT7uq.js +91 -0
- package/frontend/dist/assets/{index-ChGJawuv.css → index-PkKeNfT7.css} +1 -1
- package/frontend/dist/index.html +2 -2
- package/frontend/dist/version.json +1 -1
- package/lib/cli/commands.js +51 -6
- package/lib/cli/doctor.js +45 -1
- package/lib/cli/service.js +53 -0
- package/lib/nodes/tunnel-supervisor.js +26 -4
- package/lib/nodes/tunnel.js +22 -6
- package/lib/update/runner.js +4 -1
- package/package.json +2 -2
- package/frontend/dist/assets/index-CbUkgtAz.js +0 -91
package/README.md
CHANGED
|
@@ -16,7 +16,7 @@ panes, windows. tmux does the work; the browser is just a faithful client.
|
|
|
16
16
|
|
|
17
17
|
---
|
|
18
18
|
|
|
19
|
-
## What it is (v0.8.
|
|
19
|
+
## What it is (v0.8.12 "Mobile Roster")
|
|
20
20
|
|
|
21
21
|
- Runs a small server on the host where your tmux sessions live.
|
|
22
22
|
- Each attach spawns a real PTY running `tmux attach` and bridges its bytes over a WebSocket
|
|
@@ -24,9 +24,12 @@ panes, windows. tmux does the work; the browser is just a faithful client.
|
|
|
24
24
|
- **Desktop grid** (≥1024px): drag sessions from the sidebar into a tiling column layout —
|
|
25
25
|
live terminals side by side, draggable dividers, per-tile composer, layout remembered.
|
|
26
26
|
Tiles attach with `ignore-size` so they never resize your real terminals.
|
|
27
|
-
- **Ordered Fleet roster**:
|
|
28
|
-
filterable by all, pinned, active, or
|
|
29
|
-
|
|
27
|
+
- **Ordered Fleet roster**: desktop and mobile share the same per-location model. Local and
|
|
28
|
+
every Hydra route are independently collapsible and filterable by all, pinned, active, or
|
|
29
|
+
off; route-qualified pins and the deterministic pinned → live → fresh output → activity →
|
|
30
|
+
name order survive reloads. Search covers every visible node once the combined roster grows
|
|
31
|
+
beyond eight entries. Desktop chrome and the mobile header stay fixed while their lists
|
|
32
|
+
scroll, and the compact version/endpoint/language footer remains readable on narrow screens.
|
|
30
33
|
- **Attached decks by default**: named workspaces switch as tabs inside the same PWA without
|
|
31
34
|
reloading terminals or losing a pending layout save. Use `↗` only when you want to detach a
|
|
32
35
|
deck into another browser window or monitor.
|
|
@@ -65,7 +68,8 @@ panes, windows. tmux does the work; the browser is just a faithful client.
|
|
|
65
68
|
inserts the saved paths without submitting Enter; ordinary text paste is unchanged.
|
|
66
69
|
- **Safe npm auto-update**: global installs follow stable npm `latest` without downgrades,
|
|
67
70
|
serialize installation across processes, verify the restarted runtime and roll back once
|
|
68
|
-
to the exact previous version if the new server does not become healthy.
|
|
71
|
+
to the exact previous version if the new server does not become healthy. On Linux, stopping
|
|
72
|
+
or restarting the HTTP service preserves the independent shared tmux server and every session.
|
|
69
73
|
- **Universal**: a PTY is a PTY — a coding agent, a REPL, a plain shell, anything tmux holds.
|
|
70
74
|
|
|
71
75
|
## Screenshots
|
|
@@ -238,8 +242,10 @@ nexuscrew
|
|
|
238
242
|
```
|
|
239
243
|
|
|
240
244
|
The first run creates a loopback-only configuration and starts a detached process. Run
|
|
241
|
-
`nexuscrew boot` only if you want a persistent `systemd --user` service.
|
|
242
|
-
|
|
245
|
+
`nexuscrew boot` only if you want a persistent `systemd --user` service. The generated unit
|
|
246
|
+
waits for `network-online.target`; `nexuscrew doctor` also warns when user lingering is disabled,
|
|
247
|
+
because boot without an interactive login then depends on the host's systemd policy. Linux x64
|
|
248
|
+
and ARM64 use platform PTY prebuilds only, so global installs do not compile native code or
|
|
243
249
|
require install-script approval.
|
|
244
250
|
|
|
245
251
|
### macOS (Apple Silicon or Intel)
|
|
@@ -265,7 +271,9 @@ nexuscrew
|
|
|
265
271
|
```
|
|
266
272
|
|
|
267
273
|
Termux uses the Android ARM64 PTY provider. The normal command starts NexusCrew in the
|
|
268
|
-
background and exits. `nexuscrew boot` installs the Termux:Boot script explicitly
|
|
274
|
+
background and exits. `nexuscrew boot` installs the Termux:Boot script explicitly; install the
|
|
275
|
+
Termux:Boot app and launch it once, because Android app activation cannot be verified by the
|
|
276
|
+
CLI. `nexuscrew doctor` reports that limitation even when the script itself is valid.
|
|
269
277
|
|
|
270
278
|
On every platform the first run starts the server in the background and opens the PWA wizard.
|
|
271
279
|
After onboarding, the same command starts or reuses it, prints a compact status and guide, and
|
|
@@ -276,8 +284,8 @@ nexuscrew # background start; opens only on first run
|
|
|
276
284
|
nexuscrew show # background start when needed + open the authenticated PWA
|
|
277
285
|
nexuscrew show token # print the clickable authenticated URL; do not open a browser
|
|
278
286
|
nexuscrew status # compact service, port and hub-connection state
|
|
279
|
-
nexuscrew stop # stop server
|
|
280
|
-
nexuscrew restart # restart server; restore
|
|
287
|
+
nexuscrew stop # stop server/tunnels; preserve every tmux session
|
|
288
|
+
nexuscrew restart # restart server safely; restore autostart hub links, preserve tmux
|
|
281
289
|
nexuscrew boot # opt in to startup persistence
|
|
282
290
|
nexuscrew boot off # disable startup persistence, keep the current run alive
|
|
283
291
|
```
|
|
@@ -303,6 +311,11 @@ accepts a prerelease from `latest`, never downgrades, and redacts registry crede
|
|
|
303
311
|
paths from PWA errors. Its current state and manual check/apply controls live in Settings →
|
|
304
312
|
System. Set `NEXUSCREW_AUTO_UPDATE=0` (or `false`, `no`, `off`) to disable scheduling.
|
|
305
313
|
|
|
314
|
+
On Linux, the installed service uses `KillMode=process`: service lifecycle affects NexusCrew,
|
|
315
|
+
not the shared tmux server. Existing units are protected by an atomic drop-in before any CLI or
|
|
316
|
+
auto-update restart; if systemd cannot apply that guard, the restart fails closed. `nexuscrew
|
|
317
|
+
doctor` reports the effective runtime `KillMode`.
|
|
318
|
+
|
|
306
319
|
## CLI
|
|
307
320
|
|
|
308
321
|
```
|
|
@@ -384,14 +397,14 @@ holding.** On a screen smaller than the session you'll see a clipped view (expec
|
|
|
384
397
|
## Develop
|
|
385
398
|
|
|
386
399
|
```bash
|
|
387
|
-
npm test # node --test
|
|
400
|
+
npm test # node --test on a private tmux socket (never the operator's server)
|
|
388
401
|
npm run build # builds the frontend into frontend/dist
|
|
389
402
|
node bin/nexuscrew.js serve
|
|
390
403
|
```
|
|
391
404
|
|
|
392
405
|
## Status
|
|
393
406
|
|
|
394
|
-
The current
|
|
407
|
+
The current release candidate is **v0.8.12**. npm **`latest`**, the GitHub tag and the release
|
|
395
408
|
assets are promoted from the same verified artifact.
|
|
396
409
|
|
|
397
410
|
## License
|