DaemonBus (was EventBus): typed events for system/IPC layer.
MessageBus: channel-based pub/sub for UI/extension coordination.
Messages carry publisher (auto-stamped from extension ID),
channel (required), timestamp, and payload. Subscribe by
publisher, channel, or both — zero collision across extensions.
Extension context gains publish() and subscribe() convenience
methods that auto-stamp the extension's ID as publisher.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
ToolCheck kernel service checks ptyc/pql/tmux/git availability
once at boot, shared by status bar and welcome screen. Welcome
status line shows "application ok" in green or lists missing
tools in amber. Logo doubled to 144px. DialogHost moved inside
Expanded to fix blank workspace. Welcome maxWidth 850px, path
overflow fixed with Flexible.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Prebuilt ptyc binary sits alongside libtree-sitter.so in the
platform-specific native directory. Resolution order:
native/linux-x64/ptyc → ptyc/bin/ptyc → ~/.local/bin/ptyc → PATH.
Eliminates the make ptyc-build step on fresh clones.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The Flutter app now looks for ptyc/bin/ptyc relative to the
workspace root before falling back to PATH. Fixes
"ProcessException: No such file or directory. Command: ptyc"
when running in-process without ptyc installed globally.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
InProcessClient dispatches IPC requests directly to handlers in the
same process, bypassing the unix socket entirely. All subsystem
registries (pane, files, editor, git, pql) are created in the
Flutter app's boot sequence and registered on a DaemonDispatcher.
Events bridge to the kernel EventBus via _BusEventSink. The app
no longer needs `clide --daemon` running.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Single Flutter package at the repo root. All code, tests, assets,
and platform directories moved from app/ to root. Package renamed
from clide_app to clide — all imports rewritten. Merged pubspec
combines core (ffi) and app (flutter, yaml, xterm) dependencies.
Makefile simplified: no APP_PRESENT conditionals, no cd, no daemon
lifecycle. 317 tests pass.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>