@dreb/coding-agent 2.39.0 → 2.40.1

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.
Files changed (2) hide show
  1. package/docs/dashboard.md +48 -5
  2. package/package.json +1 -1
package/docs/dashboard.md CHANGED
@@ -74,6 +74,47 @@ agents, running commands through them, browsing the whole host filesystem
74
74
  pairing screen states this before the PIN is entered. Every file operation is
75
75
  logged server-side.
76
76
 
77
+ ## WSL2 gotcha — intermittent "access denied" / pairing screen on localhost
78
+
79
+ <a id="wsl2-gotcha"></a>
80
+
81
+ If you run the dashboard inside **WSL2** and reach it from a Windows browser at
82
+ `http://127.0.0.1:5343`, you may intermittently get an **access-denied /
83
+ pairing screen even in local mode** — typically right after the WSL VM has been
84
+ idle, clearing once WSL is "warm" again (e.g. after you open a WSL terminal,
85
+ which is itself slow to start because the VM is resuming).
86
+
87
+ **Cause.** With WSL's `networkingMode=mirrored`, host→guest loopback traffic can
88
+ reach the server with a source address of `10.255.255.254` — the mirrored
89
+ host-loopback address WSL assigns to `lo` — instead of `127.0.0.1`, during the
90
+ window after a cold boot / resume before the loopback relay settles. Local-mode
91
+ auth only treats `127.x.x.x`/`::1` as loopback, so those requests fail the
92
+ loopback check and are denied; the client renders that denial as the
93
+ access-denied / pairing screen. No actual Tailscale/pairing is involved.
94
+
95
+ **Why it correlates with WSL idling.** WSL tears the VM down when idle, and a
96
+ dashboard running as a background service does **not** keep it alive: WSL's
97
+ instance watchdog only counts processes it launches directly (interactive
98
+ `wsl.exe` sessions or `wsl --exec`), and a `systemd`-managed service lives under
99
+ PID 1 where the watchdog never sees it. So an always-on dashboard still lets the
100
+ VM idle out, and the first request after resume can land in the transitional
101
+ networking window above.
102
+
103
+ **Workarounds** (host-side — no dreb changes needed):
104
+
105
+ - **Keep a WSL terminal open.** Simplest and most reliable: an attached
106
+ interactive session is exactly the signal WSL uses to keep the VM alive, which
107
+ also avoids the post-resume networking window entirely.
108
+ - **Headless keep-alive.** Run `wsl --exec dbus-launch true` (e.g. as a logon
109
+ Scheduled Task): it leaves a lingering background daemon that holds the VM open
110
+ with no terminal window. Re-run after each Windows reboot — it does not
111
+ persist. See [microsoft/WSL#10138](https://github.com/microsoft/WSL/issues/10138).
112
+ A `sleep infinity` session via Task Scheduler works too. (`vmIdleTimeout=-1`
113
+ in `.wslconfig` is Windows-11-only and reported unreliable for keeping the
114
+ *instance* — not just the VM — alive.)
115
+ - **Access via the WSL VM's own IP** instead of localhost, if that path is
116
+ loopback-clean for your setup.
117
+
77
118
  ## Screens
78
119
 
79
120
  | Screen | What it does |
@@ -215,11 +256,13 @@ Background subagents are first-class:
215
256
 
216
257
  ## Responsive behavior
217
258
 
218
- Single breakpoint at 700px. On mobile: fleet cards stack, the session view
219
- prioritizes read-and-steer (model/thinking switchers collapse into ⋯, tasks
220
- default collapsed), file table shows name + download only. Composer modes,
221
- abort, and needs-attention affordances are never reduced away — steering a
222
- running agent from a phone is the primary remote use case.
259
+ Single breakpoint at 700px. At <=700px, fleet cards stack; long session names,
260
+ status chips, project paths, activity and subagent text, and past-session
261
+ labels wrap within their cards or rows rather than spilling off-screen. The
262
+ session view prioritizes read-and-steer (model/thinking switchers collapse into
263
+ ⋯, tasks default collapsed), and the file table shows name + download only.
264
+ Composer modes, abort, and needs-attention affordances are never reduced away
265
+ — steering a running agent from a phone is the primary remote use case.
223
266
 
224
267
  ## Architecture
225
268
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dreb/coding-agent",
3
- "version": "2.39.0",
3
+ "version": "2.40.1",
4
4
  "description": "Coding agent CLI with read, bash, edit, write tools and session management",
5
5
  "type": "module",
6
6
  "drebConfig": {