mirror of
https://github.com/Ark0N/Codeman.git
synced 2026-10-02 13:39:41 +02:00
chore: bump version to 0.1524
This commit is contained in:
@@ -35,7 +35,7 @@ When user says "COM":
|
||||
1. Increment version in BOTH `package.json` AND `CLAUDE.md` (verify they match with `grep version package.json && grep Version CLAUDE.md`)
|
||||
2. Run: `git add -A && git commit -m "chore: bump version to X.XXXX" && git push && npm run build && systemctl --user restart claudeman-web`
|
||||
|
||||
**Version**: 0.1523 (must match `package.json` for npm publish)
|
||||
**Version**: 0.1524 (must match `package.json` for npm publish)
|
||||
|
||||
## Project Overview
|
||||
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "claudeman",
|
||||
"version": "0.1523",
|
||||
"version": "0.1524",
|
||||
"description": "The missing control plane for Claude Code - run 20 autonomous agents with real-time monitoring and session persistence",
|
||||
"type": "module",
|
||||
"main": "dist/index.js",
|
||||
|
||||
+1
-1
@@ -281,7 +281,7 @@ export class Session extends EventEmitter {
|
||||
private _isCompacting: boolean = false; // Prevent recursive compacting
|
||||
|
||||
// Image watcher setting (per-session toggle)
|
||||
private _imageWatcherEnabled: boolean = true;
|
||||
private _imageWatcherEnabled: boolean = false;
|
||||
|
||||
// Flicker filter setting (per-session toggle, applied on frontend)
|
||||
private _flickerFilterEnabled: boolean = false;
|
||||
|
||||
@@ -9427,6 +9427,7 @@ class ClaudemanApp {
|
||||
|
||||
// Apply header visibility immediately
|
||||
this.applyHeaderVisibilitySettings();
|
||||
this._updateTokensImmediate(); // Re-render token display (picks up showCost change)
|
||||
this.applyMonitorVisibility();
|
||||
this.renderProjectInsightsPanel(); // Re-render to apply visibility setting
|
||||
this.updateSubagentWindowVisibility(); // Apply subagent window visibility setting
|
||||
@@ -9631,6 +9632,11 @@ class ClaudemanApp {
|
||||
const monitorPanel = document.getElementById('monitorPanel');
|
||||
if (monitorPanel) {
|
||||
monitorPanel.style.display = showMonitor ? '' : 'none';
|
||||
if (showMonitor) {
|
||||
monitorPanel.classList.add('open');
|
||||
} else {
|
||||
monitorPanel.classList.remove('open');
|
||||
}
|
||||
}
|
||||
|
||||
const subagentsPanel = document.getElementById('subagentsPanel');
|
||||
|
||||
@@ -756,7 +756,7 @@
|
||||
<div class="settings-item" title="Show A-/A+ font size buttons in header">
|
||||
<span class="settings-item-label">Font Controls</span>
|
||||
<label class="switch switch-sm">
|
||||
<input type="checkbox" id="appSettingsShowFontControls" checked>
|
||||
<input type="checkbox" id="appSettingsShowFontControls">
|
||||
<span class="slider"></span>
|
||||
</label>
|
||||
</div>
|
||||
@@ -777,7 +777,7 @@
|
||||
<div class="settings-item" title="Show estimated cost next to token count">
|
||||
<span class="settings-item-label">Show Cost ($)</span>
|
||||
<label class="switch switch-sm">
|
||||
<input type="checkbox" id="appSettingsShowCost" checked>
|
||||
<input type="checkbox" id="appSettingsShowCost">
|
||||
<span class="slider"></span>
|
||||
</label>
|
||||
</div>
|
||||
@@ -794,7 +794,7 @@
|
||||
<div class="settings-item" title="Show active tools and file viewers in a floating panel">
|
||||
<span class="settings-item-label">Project Insights</span>
|
||||
<label class="switch switch-sm">
|
||||
<input type="checkbox" id="appSettingsShowProjectInsights" checked>
|
||||
<input type="checkbox" id="appSettingsShowProjectInsights">
|
||||
<span class="slider"></span>
|
||||
</label>
|
||||
</div>
|
||||
@@ -808,7 +808,7 @@
|
||||
<div class="settings-item" title="Show the Subagents panel (independent from Monitor)">
|
||||
<span class="settings-item-label">Subagents</span>
|
||||
<label class="switch switch-sm">
|
||||
<input type="checkbox" id="appSettingsShowSubagents" checked>
|
||||
<input type="checkbox" id="appSettingsShowSubagents">
|
||||
<span class="slider"></span>
|
||||
</label>
|
||||
</div>
|
||||
@@ -825,7 +825,7 @@
|
||||
<div class="settings-item" title="Only show subagent windows when their parent tab is selected">
|
||||
<span class="settings-item-label">Active Tab Only</span>
|
||||
<label class="switch switch-sm">
|
||||
<input type="checkbox" id="appSettingsSubagentActiveTabOnly">
|
||||
<input type="checkbox" id="appSettingsSubagentActiveTabOnly" checked>
|
||||
<span class="slider"></span>
|
||||
</label>
|
||||
</div>
|
||||
@@ -835,7 +835,7 @@
|
||||
<div class="settings-item" title="Automatically detect and popup new images in session directories">
|
||||
<span class="settings-item-label">Enable Globally</span>
|
||||
<label class="switch switch-sm">
|
||||
<input type="checkbox" id="appSettingsImageWatcherEnabled" checked>
|
||||
<input type="checkbox" id="appSettingsImageWatcherEnabled">
|
||||
<span class="slider"></span>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
+9
-6
@@ -3092,7 +3092,10 @@ NOW: Generate the implementation plan for the task above. Think step by step.`;
|
||||
if (!existsSync(dir)) {
|
||||
mkdirSync(dir, { recursive: true });
|
||||
}
|
||||
writeFileSync(settingsPath, JSON.stringify(settings, null, 2));
|
||||
let existing: Record<string, unknown> = {};
|
||||
try { existing = JSON.parse(readFileSync(settingsPath, 'utf-8')); } catch { /* ignore */ }
|
||||
const merged = { ...existing, ...settings };
|
||||
writeFileSync(settingsPath, JSON.stringify(merged, null, 2));
|
||||
|
||||
// Handle subagent tracking toggle dynamically
|
||||
const subagentEnabled = settings.subagentTrackingEnabled ?? true;
|
||||
@@ -3105,7 +3108,7 @@ NOW: Generate the implementation plan for the task above. Think step by step.`;
|
||||
}
|
||||
|
||||
// Handle image watcher toggle dynamically
|
||||
const imageWatcherEnabled = settings.imageWatcherEnabled ?? true;
|
||||
const imageWatcherEnabled = settings.imageWatcherEnabled ?? false;
|
||||
if (imageWatcherEnabled && !imageWatcher.isRunning()) {
|
||||
imageWatcher.start();
|
||||
// Re-watch all active sessions that have image watcher enabled
|
||||
@@ -4956,21 +4959,21 @@ NOW: Generate the implementation plan for the task above. Think step by step.`;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if image watcher is enabled in settings (default: true)
|
||||
* Check if image watcher is enabled in settings (default: false)
|
||||
*/
|
||||
private async isImageWatcherEnabled(): Promise<boolean> {
|
||||
const settingsPath = join(homedir(), '.claudeman', 'settings.json');
|
||||
try {
|
||||
const content = await fs.readFile(settingsPath, 'utf-8');
|
||||
const settings = JSON.parse(content);
|
||||
// Default to true if not explicitly set
|
||||
return settings.imageWatcherEnabled ?? true;
|
||||
// Default to false if not explicitly set (matches UI default)
|
||||
return settings.imageWatcherEnabled ?? false;
|
||||
} catch (err) {
|
||||
if ((err as NodeJS.ErrnoException).code !== 'ENOENT') {
|
||||
console.error('Failed to read image watcher setting:', err);
|
||||
}
|
||||
}
|
||||
return true; // Default enabled
|
||||
return false; // Default disabled (matches UI default)
|
||||
}
|
||||
|
||||
private async restoreScreenSessions(): Promise<void> {
|
||||
|
||||
Reference in New Issue
Block a user