@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 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.10 "Hydra Federation")
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**: local and remote locations are independently collapsible and
28
- filterable by all, pinned, active, or off. The desktop chrome stays fixed while the roster
29
- scrolls; the mobile header stays visible above its own touch-scrolling list.
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. Linux x64 and ARM64
242
- use platform PTY prebuilds only, so global installs do not compile native code or
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 and every NexusCrew-managed SSH supervisor
280
- nexuscrew restart # restart server; restore only autostart-enabled hub links
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 (config, tmux list, pty attach smoke, ws bridge, token)
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 stable release is **v0.8.10**. npm **`latest`**, the GitHub tag and the release
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