remove tmux as a required tool (dead since D-77)
Nothing has spawned tmux since D-77 moved Claude session persistence to `--resume`; Claude and terminal panes spawn `claude` or the shell directly. But the toolchain still resolved tmux and listed it in `missing`, so on mac/linux a box without tmux showed a spurious "tmux not found" warning in the welcome view + status bar. The windows-support branch had special-cased that away with a `!Platform.isWindows` guard — the tell that the requirement was dead everywhere, not platform-specific. Drop tmux from ResolvedPaths / ToolchainView / Toolchain (field, getter, `missing`, PATH resolution) on every platform, removing the Windows guards with it. Strip the testmode tmux probes and the comments / CLAUDE.md line that claimed clide spawns tmux. (The dead ToolCheck class that also gated on tmux was already deleted on main and dropped in the preceding merge.) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -10,11 +10,10 @@ void main() {
|
||||
group('ToolchainView.resolved', () {
|
||||
test('exposes the supplied paths verbatim', () {
|
||||
final v = ToolchainView.resolved(
|
||||
const ResolvedPaths(git: '/opt/git', pql: '/opt/pql', tmux: '/opt/tmux', shell: '/usr/bin/zsh', gitEnv: {'GIT_EXEC_PATH': '/opt/git-core'}),
|
||||
const ResolvedPaths(git: '/opt/git', pql: '/opt/pql', shell: '/usr/bin/zsh', gitEnv: {'GIT_EXEC_PATH': '/opt/git-core'}),
|
||||
);
|
||||
expect(v.git, '/opt/git');
|
||||
expect(v.pql, '/opt/pql');
|
||||
expect(v.tmux, '/opt/tmux');
|
||||
expect(v.shell, '/usr/bin/zsh');
|
||||
expect(v.gitEnv, {'GIT_EXEC_PATH': '/opt/git-core'});
|
||||
expect(v.resolved, isTrue);
|
||||
@@ -26,22 +25,21 @@ void main() {
|
||||
final v = ToolchainView.resolved(const ResolvedPaths());
|
||||
expect(v.git, 'git');
|
||||
expect(v.pql, 'pql');
|
||||
expect(v.tmux, 'tmux');
|
||||
expect(v.shell, '/bin/bash');
|
||||
expect(v.gitEnv, isNull);
|
||||
expect(v.resolved, isTrue);
|
||||
expect(v.allOk, isFalse);
|
||||
expect(v.missing, ['git', 'pql', 'tmux']);
|
||||
expect(v.missing, ['git', 'pql']);
|
||||
});
|
||||
|
||||
test('missing reports only the unresolved tools', () {
|
||||
final v = ToolchainView.resolved(
|
||||
const ResolvedPaths(
|
||||
git: '/opt/git',
|
||||
// pql + tmux null → missing.
|
||||
// pql null → missing.
|
||||
),
|
||||
);
|
||||
expect(v.missing, ['pql', 'tmux']);
|
||||
expect(v.missing, ['pql']);
|
||||
expect(v.allOk, isFalse);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -13,26 +13,17 @@ void main() {
|
||||
final t = Toolchain();
|
||||
expect(t.git, 'git');
|
||||
expect(t.pql, 'pql');
|
||||
expect(t.tmux, 'tmux');
|
||||
expect(t.shell, '/bin/bash');
|
||||
expect(t.resolved, isFalse);
|
||||
expect(t.allOk, isFalse);
|
||||
expect(t.missing, ['git', 'pql', 'tmux']);
|
||||
expect(t.missing, ['git', 'pql']);
|
||||
});
|
||||
|
||||
test('applyResolved with full paths flips resolved + allOk + clears missing', () {
|
||||
final t = Toolchain();
|
||||
var calls = 0;
|
||||
t.addListener(() => calls++);
|
||||
t.applyResolved(
|
||||
const ResolvedPaths(
|
||||
git: '/usr/bin/git',
|
||||
pql: '/usr/bin/pql',
|
||||
tmux: '/usr/bin/tmux',
|
||||
shell: '/bin/bash',
|
||||
gitEnv: {'GIT_EXEC_PATH': '/usr/lib/git-core'},
|
||||
),
|
||||
);
|
||||
t.applyResolved(const ResolvedPaths(git: '/usr/bin/git', pql: '/usr/bin/pql', shell: '/bin/bash', gitEnv: {'GIT_EXEC_PATH': '/usr/lib/git-core'}));
|
||||
expect(t.resolved, isTrue);
|
||||
expect(t.allOk, isTrue);
|
||||
expect(t.missing, isEmpty);
|
||||
@@ -46,7 +37,7 @@ void main() {
|
||||
t.applyResolved(const ResolvedPaths(pql: '/usr/bin/pql'));
|
||||
expect(t.resolved, isTrue);
|
||||
expect(t.allOk, isFalse);
|
||||
expect(t.missing, ['git', 'tmux']);
|
||||
expect(t.missing, ['git']);
|
||||
});
|
||||
|
||||
test('waitForResolution completes immediately when already resolved', () async {
|
||||
|
||||
Reference in New Issue
Block a user