chore: bump version to 0.1486

feat: interactive teammate tmux pane windows with xterm.js terminals
feat: auto-cleanup teams/subagents/pane windows on session delete
fix: only show agent/teammate windows when matching Claudeman tab exists
fix: UTF-8 encoding in teammate pane terminal output (Uint8Array)
fix: standalone pane window cleanup via subagentParentMap lookup
fix: xterm.js dimensions crash with deferred init + null-safe dispose

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
arkon
2026-02-12 13:44:07 +01:00
co-authored by Claude Opus 4.6
parent 59a8f6bd7d
commit a4e778c7c4
22 changed files with 2589 additions and 102 deletions
+16 -15
View File
@@ -60,34 +60,33 @@ function commandExists(cmd) {
}
/**
* Get install instructions for screen based on platform
* Get install instructions for tmux based on platform
*/
function getScreenInstallInstructions() {
function getTmuxInstallInstructions() {
const os = platform();
if (os === 'darwin') {
return [
' macOS: brew install screen',
' macOS: brew install tmux',
];
}
if (os === 'linux') {
return [
' Ubuntu/Debian: sudo apt install screen',
' Fedora/RHEL: sudo dnf install screen',
' Arch Linux: sudo pacman -S screen',
' Alpine: sudo apk add screen',
' Ubuntu/Debian: sudo apt install tmux',
' Fedora/RHEL: sudo dnf install tmux',
' Arch Linux: sudo pacman -S tmux',
' Alpine: sudo apk add tmux',
];
}
if (os === 'win32') {
return [
' Windows: Use WSL (Windows Subsystem for Linux)',
' GNU Screen is not available on native Windows',
];
}
return [' Please install GNU Screen for your platform'];
return [' Please install tmux for your platform'];
}
// ============================================================================
@@ -117,17 +116,19 @@ if (majorVersion < MIN_NODE_VERSION) {
}
// ----------------------------------------------------------------------------
// 2. Check if GNU Screen is installed
// 2. Check if terminal multiplexer is installed (tmux preferred, screen fallback)
// ----------------------------------------------------------------------------
if (commandExists('screen')) {
console.log(colors.green('✓ GNU Screen found'));
if (commandExists('tmux')) {
console.log(colors.green('✓ tmux found (preferred)'));
} else if (commandExists('screen')) {
console.log(colors.green('✓ GNU Screen found') + colors.dim(' (fallback — consider installing tmux)'));
} else {
hasWarnings = true;
console.log(colors.yellow('⚠ GNU Screen not found'));
console.log(colors.dim(' Screen is required for session persistence.'));
console.log(colors.yellow('⚠ No terminal multiplexer found'));
console.log(colors.dim(' tmux is required for session persistence.'));
console.log(colors.dim(' Install:'));
for (const instruction of getScreenInstallInstructions()) {
for (const instruction of getTmuxInstallInstructions()) {
console.log(colors.dim(instruction));
}
}