You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 1ab8b89
Browse filesBrowse the repository at this point in the historyBrowse files
Lock model switcher while running, rework Settings Server section (#29)
* feat: lock model switching while running and rework Settings' Server group
- The popup variant picker locks while ds4-server is starting/ready; switching
models takes Stop first.
- Settings: the V4 Flash/V4.1 variant pickers move into the Server group just
above Apply & Restart, cleanup folds into Downloads, and the App/Server/picker
prose is gone.
- Apply & Restart enables only while the live Server-group controls differ from
the running server's published launch config (LaunchConfig), and Start clears
the dirty state too.
- "Concurrent sessions" becomes a fits-bounded "Parallel chats & agents"
stepper with a live per-slot memory/fit caption.
- V4.1 Flash: shorter 41-q2/41-q4 labels (prefixes kept) and a 1,048,576 default
when the 1M window fits fully resident, else upstream's 32,768.
- The Settings window matches the wired-limit help pane's 600-wide frame, with
content height capped at 820.
* fix: report zero fitting sessions when none pass the wired-limit gate
The sessions caption claimed one slot fit whenever even a single session needed
the Start-anyway override. maxFittingSessions now returns 0 when nothing
passes, Settings renders a distinct no-slot-fits caption, and the stepper
range keeps its one-slot minimum.
* fix: clear active config when server launch fails
* fix: terminate the timed-out server before publishing the startup failure
* fix: clear active config on every runtime error transition
* fix: stop failed server before allowing retry
* fix: stop the stderr reader when a server launch fails
* test: pin the refused-launch path in the stderr reader source guard
---------
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Copy file name to clipboardExpand all lines: README.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -61,7 +61,7 @@ make -C external/ds4 -j ds4-server # build the ds4-server binary
61
61
DS4_DIR="$PWD/external/ds4" swift run # build + run the dev app against the submodule
62
62
```
63
63
64
-
`DS4_DIR` points the app at that ds4 checkout so **Start** can spawn `ds4-server` — without it the dev build looks for a bundled `ds4/` next to the binary and won't find the server. It's a menu-bar app (no dock icon): after launch, click the bolt icon in the macOS menu bar, pick **Pro**, **V4.1 Flash**, or **Flash (0731)** (preselected by your RAM), then **Download** (if the model isn't present) and **Start**.
64
+
`DS4_DIR` points the app at that ds4 checkout so **Start** can spawn `ds4-server` — without it the dev build looks for a bundled `ds4/` next to the binary and won't find the server. It's a menu-bar app (no dock icon): after launch, click the bolt icon in the macOS menu bar, pick **Pro**, **V4.1 Flash**, or **Flash (0731)** (preselected by your RAM), then **Download** (if the model isn't present) and **Start**. The popup's picker locks while the server is loading or running, so switching models later takes **Stop** first; the per-generation weight choice lives in Settings next to **Apply & Restart Server**.
65
65
66
66
## Requirements
67
67
@@ -90,7 +90,7 @@ sudo sysctl iogpu.wired_limit_mb=<value shown in the popup>
90
90
91
91
and a "Metal wired limit help…" window walks through it step by step — including making it survive reboots (the sysctl resets on every restart, which is why a setup that worked before can hang after one). A confirmed "Start anyway" override remains if you know your setup works. This applies most often to 96–127 GiB machines running Flash q2, but also to V4 Pro on 512 GiB and Flash q2-q4 at 1M context on 128 GiB when their default cap is below the working set.
92
92
93
-
**Default context** is `1,000,000` for Pro and for Flash on ≥ 128 GiB; Flash on 96–127 GiB defaults to `256,000`; **V4.1 Flash defaults to `32,768`** (upstream's documented SSD-streaming configuration — raise it in Settings when memory allows, up to its 1,048,576 ceiling). Max Think is unavailable below 128 GiB, including in the built-in chat and coding-agent launcher. For V4.1 Flash, `--ssd-streaming` is passed automatically when full residency doesn't fit and full GPU power is always used; Engram rows stream from the SSD in every mode, so keep the GGUF on a fast local disk. You can otherwise override the context in Settings, subject to the physical-memory and wired-limit checks above.
93
+
**Default context** is `1,000,000` for Pro and for Flash on ≥ 128 GiB; Flash on 96–127 GiB defaults to `256,000`; **V4.1 Flash defaults to `1,048,576` when the 1M window fits fully resident at your RAM tier (41-q2 from 256 GiB, 41-q4 from 384 GiB), else to `32,768`** (upstream's documented SSD-streaming configuration — raise it in Settings when memory allows, up to its 1,048,576 ceiling). Max Think is unavailable below 128 GiB, including in the built-in chat and coding-agent launcher. For V4.1 Flash, `--ssd-streaming` is passed automatically when full residency doesn't fit and full GPU power is always used; Engram rows stream from the SSD in every mode, so keep the GGUF on a fast local disk. You can otherwise override the context in Settings, subject to the physical-memory and wired-limit checks above.
0 commit comments