@mmmbuto/nexuscrew 0.9.57 → 0.9.59
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 +20 -0
- package/README.md +32 -8
- package/frontend/dist/assets/index-CZFJnks_.js +169 -0
- package/frontend/dist/index.html +1 -1
- package/frontend/dist/version.json +1 -1
- package/lib/fleet/managed.js +57 -0
- package/lib/nodes/access-presets.js +1 -0
- package/lib/nodes/ask-slot-verifier.js +72 -0
- package/lib/nodes/commands.js +7 -3
- package/lib/nodes/reverse-slot-proof.js +19 -7
- package/lib/nodes/store.js +54 -6
- package/lib/notify/ask-answer-service.js +23 -11
- package/lib/notify/ask-receipts.js +1 -0
- package/lib/notify/ask-relay.js +261 -74
- package/lib/notify/asks.js +117 -9
- package/lib/notify/event-feed-asks-routes.js +79 -19
- package/lib/notify/event-feed-client.js +130 -50
- package/lib/notify/event-feed-producers.js +1 -0
- package/lib/notify/imported-dismissals.js +106 -0
- package/lib/notify/routes.js +39 -20
- package/lib/proxy/federation.js +112 -12
- package/lib/proxy/resource-acl.js +1 -0
- package/lib/server.js +161 -23
- package/lib/tmux/actions.js +14 -11
- package/package.json +1 -1
- package/frontend/dist/assets/index-CAgxp3qK.js +0 -169
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,26 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to NexusCrew are tracked here.
|
|
4
4
|
|
|
5
|
+
## 0.9.59 — 2026-10-05
|
|
6
|
+
|
|
7
|
+
- Delayed question events retain the original question generation separately from their emission time. Local dismissal follows the current visible generation, refuses conflicting views, and preserves historical aliases. Imported closure events identify the owner question while mixed-node clients can still resolve older alias-only closures.
|
|
8
|
+
|
|
9
|
+
- Imported questions can be dismissed locally while their owner is unavailable. Cards offer an explicit local action after capability checks, remain visible on errors, and distinguish pending origin closure from unauthorized remote closure. Local dismissals survive restarts and feed refreshes, and synchronize with the owner through authorized routes using generation checks, bounded retries, and durable history. Retry bindings use public pairing rotation counters rather than credential hashes.
|
|
10
|
+
- **VL nodes no longer blink away when their owner read fails.** The sidebar keeps the last known VL directory per owner, republished on every update and marked as not verified; entries survive skipped or failed reads and owners that temporarily drop out of the topology, within the same grace window used for owners. A confirmed read — even an empty one — replaces the cached entry for that owner alone, and a token or instance change drops it. Cache writes, publications, backoff successes and backoff failures are all scoped to the route's current owner: a late reply from a superseded owner (or from a route whose owner is no longer identifiable) touches neither the cache nor the backoff.
|
|
11
|
+
|
|
12
|
+
## 0.9.58 — 2026-10-03
|
|
13
|
+
|
|
14
|
+
- **Reply to questions across connected hubs.** Replies and dismissals follow the question's owner through the network. Reply availability is checked separately from the notification feed, and an uncertain reply can be verified before another is sent.
|
|
15
|
+
- **Interrupted event feeds recover without keeping a slot blocked.** Disconnections invalidate the cursor, owner retries retain their backoff, and health, snapshot and error-body reads have a deadline. Snapshot validation errors remain visible until a valid snapshot heals them.
|
|
16
|
+
- **Admin access presets enable event reception.** Existing admin peers are migrated once; later choices to turn reception off are preserved.
|
|
17
|
+
- **Codex on Termux keeps the active cell's MCP context.** Supported clients launch without reusing a shared daemon. Capability probes are cached while the binary is unchanged, and transient probe failures can be retried.
|
|
18
|
+
- **Nodes in backoff finish their pending indicator.** A skipped roster read no longer leaves discovery placeholders marked as requests still in progress.
|
|
19
|
+
|
|
20
|
+
- **Federated questions and their closures go only to admin peers.** Every hub checks its own next hop; user, host and custom peers keep questions local.
|
|
21
|
+
- **Slow reverse links get a bounded opportunity to answer.** Owner actions share one total deadline and reuse a verified reverse slot briefly, while channel changes and failed forwarding invalidate it.
|
|
22
|
+
|
|
23
|
+
- **Question replies to managed cells are submitted with one Enter.** Replies use the same submission as cell messages, including Codex composer handling. An uncertain delivery blocks automatic retries until it is explicitly reconciled; text already in the composer may be submitted with the reply. Manual tmux sessions retain paste-only delivery.
|
|
24
|
+
|
|
5
25
|
## 0.9.57 — 2026-10-03
|
|
6
26
|
|
|
7
27
|
- **The node list no longer flickers for nodes reached through a hub.**
|
package/README.md
CHANGED
|
@@ -47,19 +47,31 @@ a quick switch.
|
|
|
47
47
|
|
|
48
48
|
## Install in 30 seconds
|
|
49
49
|
|
|
50
|
+
Install the package globally:
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
npm install -g @mmmbuto/nexuscrew@latest
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
Start it — the first run creates a loopback-only runtime, starts it in the
|
|
57
|
+
background and opens the authenticated PWA:
|
|
58
|
+
|
|
50
59
|
```bash
|
|
51
|
-
npm install -g @mmmbuto/nexuscrew
|
|
52
60
|
nexuscrew
|
|
53
61
|
```
|
|
54
62
|
|
|
55
|
-
|
|
56
|
-
|
|
63
|
+
Prerequisites: Linux needs Node.js 18+, tmux (3.4+ recommended) and OpenSSH,
|
|
64
|
+
installed with your distribution package manager. On macOS:
|
|
57
65
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
66
|
+
```bash
|
|
67
|
+
brew install node tmux
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
On Android / Termux:
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
pkg install nodejs-lts tmux openssh
|
|
74
|
+
```
|
|
63
75
|
|
|
64
76
|
NexusCrew ships scriptless PTY prebuilds for Linux x64/ARM64, macOS x64/ARM64
|
|
65
77
|
and Android ARM64. A normal global install does not need a compiler or native
|
|
@@ -183,9 +195,21 @@ devices.
|
|
|
183
195
|
|
|
184
196
|
## Development
|
|
185
197
|
|
|
198
|
+
Run the test suite:
|
|
199
|
+
|
|
186
200
|
```bash
|
|
187
201
|
npm test
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
Build the frontend assets:
|
|
205
|
+
|
|
206
|
+
```bash
|
|
188
207
|
npm run build
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
Run the runtime in the foreground:
|
|
211
|
+
|
|
212
|
+
```bash
|
|
189
213
|
node bin/nexuscrew.js serve
|
|
190
214
|
```
|
|
191
215
|
|