remove dissolved daemon, retire ptyc, fix golden cross-platform
Complete three overdue cleanups discovered during macOS health check: D-56 daemon dissolution: delete bin/clide.dart, DaemonServer, and orphaned tests (test/cli/, subprocess_test, in_process_test). Update stale "clide --daemon" references in i18n catalogs, error messages, editor_commands, CI scripts, and decision records. ptyc retirement: delete ptyc/ source tree, PtySession, scm_rights. Remove from Toolchain resolution, ToolCheck gate, backend serialization, testmode harness, Makefile, CI, and sandbox entitlements. PTY spawning uses NativePty (Dart FFI forkpty) since the terminal was absorbed in-tree. D-5 amended. Golden tests: wire the existing but never-applied clideGoldenConfig via flutter_test_config.dart. Disable CI goldens (Skia anti-aliasing differs between macOS/Linux even with Ahem). Keep platform-keyed goldens only — goldens/linux/ and goldens/macos/ each run on their own OS. Test suite: 826 pass, 0 fail on macOS (was 829 pass, 11 fail). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.6
parent
6b7290dc42
commit
a6eca2561b
@@ -2,8 +2,8 @@
|
||||
/// travels cleanly into the Flutter app (which can't depend on
|
||||
/// `dart:ffi`-using code for the web build).
|
||||
///
|
||||
/// The daemon's [PaneRegistry] keeps a parallel `PtySession` keyed on
|
||||
/// [id] and mutates [isClosed] when the session exits.
|
||||
/// [PaneRegistry] keeps a parallel [NativePty] keyed on [id] and
|
||||
/// mutates [isClosed] when the session exits.
|
||||
library;
|
||||
|
||||
/// Kind of a pane. Keep this enum small and explicit — each kind
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/// [PaneRegistry] — daemon-side state for all live panes.
|
||||
/// [PaneRegistry] — backend-side state for all live panes.
|
||||
///
|
||||
/// Owns the [PtySession] per pane, generates `p_N` ids, and forwards
|
||||
/// Owns the [NativePty] per pane, generates `p_N` ids, and forwards
|
||||
/// pty output + lifecycle changes as IPC events via a [DaemonEventSink].
|
||||
/// Pane commands (pane.spawn / list / write / resize / close) resolve
|
||||
/// against this registry; extension UIs subscribe to the emitted events.
|
||||
@@ -31,10 +31,6 @@ class PaneRegistry {
|
||||
Pane? get(String id) => _panes[id];
|
||||
|
||||
/// Spawn a child under a PTY and wire its output to events.
|
||||
///
|
||||
/// [ptycPath] is plumbed through to [PtySession.spawn]; callers that
|
||||
/// have a dev-built `ptyc/bin/ptyc` or a non-PATH install can point
|
||||
/// at it explicitly.
|
||||
Future<Pane> spawn({
|
||||
required PaneKind kind,
|
||||
required List<String> argv,
|
||||
@@ -49,7 +45,7 @@ class PaneRegistry {
|
||||
final arguments = argv.length > 1 ? argv.sublist(1) : const <String>[];
|
||||
|
||||
// Merge the caller's env on top of the process environment +
|
||||
// terminal defaults, matching the old ptyc contract.
|
||||
// Terminal defaults for the PTY child.
|
||||
final fullEnv = <String, String>{
|
||||
...Platform.environment,
|
||||
'TERM': 'xterm-256color',
|
||||
|
||||
Reference in New Issue
Block a user