github esengine/DeepSeek-Reasonix v0.30.4

latest releases: desktop-v1.11.1, v1.11.1, npm-v1.11.1-rc.1...
one month ago

Headline: sweep of the user-reported bug + onboarding queue from the 0.30.2 / 0.30.3 launch day. Resume now restores the full session state (cache hit %, cost, last context bar — previously they all showed zero on a fresh boot until the first turn landed). The model pill on assistant cards reflects the model that actually answered after /model or /preset switches it. Bare /model opens an interactive picker — typed-id entry stays for power users. PowerShell users get Shift+Tab back via three additional encodings (modifier-encoded back-tab, modifyOtherKeys, Kitty keyboard). And a class of "junk text after exit" on Linux/fish (terminal-feature replies leaking into the parent shell) gets a defensive stdin drain in the exit path.

--dir is now discoverable for beginners — surfaced in the welcome banner, the /status panel, the filesystem sandbox-escape error, and a Getting Started callout in both READMEs.

Bug fixes

  • fix(stats): persist cache totals + lastPromptTokens across resume (#364, PR #384) — SessionMeta only carried totalCostUsd / turnCount, so on every resume /status showed 0 context + 0% cache hit until the first turn actually fired (even though the prefix was already cached, costing $0.01 per turn). Three new fields are persisted per-turn and seeded into SessionStats on resume.
  • fix(ui): /model + /preset update active model so the next card pill is fresh (#372, PR #385) — state.session.model was set once in initialState() and never mutated, so the pill showed the launch-time model regardless of what actually answered. New session.model.change event; cards already opened keep their captured model so mid-turn auto-escalation doesn't retroactively relabel.
  • fix(input): recognize PowerShell / modifyOtherKeys / Kitty Shift+Tab variants (#373, PR #386) — adds \x1b[1;2Z (PowerShell modifier-encoded back-tab), \x1b[27;2;9~ (modifyOtherKeys level 2), \x1b[9;2u (Kitty keyboard) alongside \x1b[Z. /mode typed fallback continues to work.
  • fix(tty): drain pending feature-detection replies on exit (#365, PR #391) — Linux reporters saw ^[]11;rgb:...^[\^[[33;1R^[[?62;1;4c printed by fish / bash after exit. Those bytes are responses to OSC 11 / CPR / DA1 queries the runtime emits during startup that sit in stdin's queue until exit. New drainTtyResponses(50ms) reads-and-discards anything queued before control returns to the parent shell. Layered on top of 0.30.3's alt-screen mitigation.

Features

  • feat(ui): /model with no arg opens an interactive picker (#371, PR #387) — arrow-key list, current model marked, [r] refreshes the catalog, esc cancels. Seeds from the live DeepSeek catalog; falls back to the four known DeepSeek ids when the catalog hasn't loaded yet so the picker isn't empty on first open. The current id is always included even when the API didn't return it. /model <id> typed entry stays for power users.
  • feat(ui): surface --dir / pinned workspace for first-time users (#370, PR #389) — WelcomeBanner shows the workspace + relaunch hint in code mode; /status adds a workspace <path> · pinned at launch line; the filesystem sandbox-escape error points at reasonix code --dir <path> instead of just dropping a raw error; both READMEs gain a Getting Started subsection on --dir. No new slash command — mid-session retargeting is intentionally not supported (the message log + memory paths get tangled with stale roots).

Install

```bash
npm install -g reasonix@0.30.4

or

bunx reasonix@0.30.4 code
```

Full Changelog: v0.30.3...v0.30.4

Don't miss a new DeepSeek-Reasonix release

NewReleases is sending notifications on new releases.