Farming 2.2.8
Farming v2.2.8
This patch keeps structured Chat live when its browser page is in the background, makes fresh OpenCode ACP launches more reliable, and includes the latest model-control and product-guide polish from the main branch.
Highlights
- Chat continues while the page is hidden: Farming Code keeps its shared backend WebSocket alive instead of deliberately closing it on
visibilitychange. ACP transcript revisions and terminal output continue to arrive in a background tab, and returning to the page no longer creates a false disconnected/reconnecting state. Nonessential usage, context, session-id, and relative-time polling still pauses while hidden. - Fresh OpenCode sessions stay on ACP Chat: a newly launched OpenCode Agent no longer falls back to Terminal merely because its provider session id has not materialized yet. The existing resumable-session guard remains in place after Terminal input, so an established conversation cannot be discarded silently.
- Smoother live model controls: the compact model matrix and Advanced controls now remain mounted during their height/cross-fade transition, preserve the current selection, and avoid replaying the Ultra rocker animation after ordinary model or reasoning changes. Activating Ultra changes the charged rail and rocker to a restrained purple glow, then adds a short landing vibration after the automatic drop. Terminal Codex uses the same capability-aware matrix and queues supported live profile changes before the next prompt.
- Current product guides and screenshots: the README and Farming Code / CRT guides now present the two interfaces, supported Agent paths, Review, model controls, mobile use, and current product screenshots more directly.
Verification
- 145 backend and source-contract tests
- TypeScript typecheck and ESLint
- Focused Playwright coverage for hidden-page ACP continuity, fresh OpenCode ACP launch, and ACP / Terminal model controls
- Headed Chrome lifecycle freeze/resume verification: the ACP turn completed, the shared WebSocket stayed open, and the answer returned without a reconnect banner
/farmingproduction build and packed npm smoke test
Upgrade
npm install --global farming-code@2.2.8 && farming daemon