Repository navigation
DSCODE 0.7.44
DSCODE 0.7.44
Native OpenAI/ChatGPT and community Antigravity providers join file-version-checked coding tools, a clearer terminal and reliable non-interactive persistent Bash commands.
Interactive terminal verification
The viewport fixture explicitly selects interactive Ink rendering even when the test runner sets CI=true. Ink otherwise suppresses live frames and resize listeners, which caused all four viewport cases to fail in the 0.7.43 release attempt despite passing locally. The assertions and shipped renderer are unchanged. Version 0.7.43 published no packages; this release includes its provider, file-tool and terminal changes described below.
OpenAI and ChatGPT
Use /openai login and /provider openai for eligible ChatGPT plan usage, or explicitly choose API billing with /openai api-key and save a key through /login openai. DSCODE registers its own public client, validates the returned identity, serializes credential changes and retains a pending registration after a failed code exchange. A fresh login uses new PKCE and state values; an unverified registration never enables the provider. It does not read Codex credentials, launch Codex or silently fall back to API billing. See the OpenAI guide.
/speed standard|fast|ultrafast selects speed independently of /effort, persists across resume and refreshes the footer while idle. The footer reports the requested and server-confirmed tiers rather than assuming accelerated access. OpenAI conversations compact at 272,000 estimated input tokens, earlier when a smaller model's safe budget requires it; this trigger does not replace the model's context capacity.
Responses must reach successful completion before tool calls are committed. Headerless SSE and terminal envelopes with an empty output array retain completed output items, including replayable reasoning. Interrupted, incomplete and explicitly non-SSE responses remain failures. Synthetic tests cover authorization, refresh, billing selection, durable attachments, transport cancellation and replay. Previously recorded installed-binary checks exercised live repository edits, shell tests, file creation and persisted-session resume. Fast and Ultrafast requests completed but reported Standard service for the tested account; accelerated performance, weekly allowance and other accounts' entitlement are not established. The original server-side cause of an observed invalid_grant remains unresolved.
Antigravity Gemini
Use /antigravity login, then /provider antigravity, to call Gemini through a Google account while retaining DSCODE's own agent loop, tools and permissions. /antigravity models refreshes the account catalog. Completed signed thinking and tool-call metadata survive session replay; incompatible model switches use historical text instead of reusing signatures. Connection stalls are bounded and truncated tool responses cannot commit calls.
This is a community integration using internal Cloud Code Assist endpoints, not a supported Google API or ACP connection. It offers Gemini only and does not rotate accounts, provision paid projects or bypass quotas. Automated callback, credential, transport and native Host probes use synthetic Google responses; live consent, entitlement and generation still need account-specific verification. See the Antigravity guide.
File tools and persistent Bash
The DSCODE preset now exposes read, edit and write through the Host's filesystem sandbox and per-session file-version policy. Reads return numbered windows, edits require an exact unambiguous match, and stale changes are rejected. Shell reads do not establish a file-tool observation, and resumed sessions must read files again before editing. Persistent Bash remains the tool for searches, builds, tests and multi-file patches; these tools do not widen permissions.
Bash commands now receive EOF on stdin unless they supply explicit input, and wait for their completion marker rather than returning partial output while a foreground process still owns the terminal. The five-second idle-input interruption heuristic is removed so silent work can finish. Timeout, cancellation and process exit still reset shell state; long-running services should be started in the background. Native probes cover file-tool observations and shell recovery.
Terminal layout, input and feedback
The bordered snowflake welcome card and full-height layout keep the composer at the bottom from startup. Full replay resets the renderer's height ledger so resize, Ctrl+L and session changes do not retain stale padding. Default themes use aligned replies, restrained colours and one activity marker; Prismatic and Rainbow retain decorative animation. Long titles preserve permission badges, and history, diff and selection panels use available height while reserving space for input and status bars.
Quiet chat keeps bounded tool errors and file-change summaries visible. Verbose mode shows bounded coloured diffs, with capped counts labelled as displayed portions. The activity line identifies the current target and that tool's elapsed time. Streaming wrapping is cached across appends while preserving Unicode boundaries and rebuilding on resize or replacement; native transcript scrollback remains available.
Input draining yields between bounded bursts to avoid chained React updates during fast typing or unbracketed pastes. Key order, split escape sequences and atomic bracketed pastes are preserved, and unmount cancels queued input. Mounted composer, viewport, rendering and input-stream regressions exercise these behaviours. Provider command completion discovers /openai, /speed and /antigravity before the first conversation without starting an Agent or authentication.
Installation and verification
The terminal remains a self-contained macOS package with its private Node and pinned Harness. Update with dscode update after exiting running sessions and schedulers. Users still on 0.7.41 should rerun the shell installer once to repair its updater; Homebrew installations continue through brew upgrade dscode. The Desktop plugin remains a separate release surface targeting Harness 0.2.0-rc.2.
The original 0.7.43 candidate passed the following local checks: documentation links and README agreement, lint, both TypeScript configurations and all 1,236 unit/component cases passed. Measured first-party .mjs line coverage was 80.96%; the terminal's TypeScript is outside that coverage metric and checked separately. The initial session-sandbox test attempt failed on nested macOS sandbox operations and inherited installation variables; the successful rerun used a normal execution environment with those variables cleared. Native integration, package integrity/export checks and all 63 offline evaluations also passed. The automatic independent diff review could not complete because the pending diff exceeded its 160 KiB input limit; no clean review result is claimed. For 0.7.44, CI=true npm run check passed outside the session sandbox after the fixture correction: lint, both TypeScript configurations, all 1,236 unit/component cases (80.94% first-party .mjs line coverage), native integration, package checks and all 63 offline evaluations. The four viewport cases also passed in a focused CI=true run. Release CI must build both complete archives and qualify the exact candidates on Apple Silicon and Intel before attaching them; those publication results are not claimed by the local checks above.
Real Google consent and inference, accelerated OpenAI performance, other accounts' model access, macOS permission dialogs and power-loss update recovery have no automated acceptance case in this release.