Skip to content

v0.1.0-remote.6: Fix remote mode hang + session isolation

Pre-release
Pre-release

Choose a tag to compare

@t-rhex t-rhex released this 04 Feb 16:11
· 5 commits to dev since this release

What's Changed

Critical Bug Fix

  • Fix LLM response hang in remote mode — The SSE event stream was subscribed to an instance-scoped Bus. After remote connect, events were published to a different Bus instance (keyed by the remote directory), so the TUI never received model responses. Fixed by switching the /event SSE endpoint to use GlobalBus which receives all events regardless of instance.

Remote Mode Bootstrap Fixes

  • Skip file watcher (FileWatcher.init) in remote mode — was trying to watch local paths that don't exist
  • Skip file scanner (File.init) in remote mode — was running readdir and ripgrep on local paths
  • Skip LSP spawning (LSP.init) in remote mode — was trying to spawn local language servers

UI Improvements

  • Session header now shows remote directory path and git branch (e.g. ~/project:master SSH: dev@localhost:2223)
  • Footer path updates correctly after remote connect and directory changes (was showing stale local path)
  • Create directory prompt in /dir now accepts absolute paths (e.g. /home/dev/newproject)

Session/Directory Isolation

  • Changing directory via /dir navigates to home screen — next message starts a fresh session for the new directory
  • Session list in remote mode is filtered by current directory — sessions from /project-a don't appear when working in /project-b
  • Session search also respects directory filtering

Infrastructure

  • Remote connect/disconnect/set-directory emit server.instance.disposed via GlobalBus to trigger TUI re-bootstrap
  • Worker event stream restarts after initRemote (CLI --remote path)

Install

curl -fsSL https://raw.githubusercontent.com/t-rhex/opencode/dev/install.sh | bash