feat(ultracode): floating run windows with tab connector lines + dedicated toggle

Auto-popping draggable window per active ultracode/Workflow run, connected by a
glowing line to its originating session tab (resolved via claudeSessionId ===
sessionUuid). Mirrors the live agent grid; auto-closes after a run finishes;
dismissals are remembered. Additional to the existing docked panel.

New "Ultracode Floating Windows" setting (default OFF), independent of the
"Ultracode Agents" panel toggle; either toggle starts the workflow-run watcher.

Also bumps version to 1.1.3 and brings CLAUDE.md up to date for the ultracode
subsystem.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Codeman maintainer
2026-06-15 16:33:54 +02:00
parent e6989bdb40
commit d16bf34e34
14 changed files with 584 additions and 12 deletions
+3 -1
View File
@@ -2026,13 +2026,15 @@ export class WebServer extends EventEmitter {
/**
* Check if ultracode/workflow run tracking is enabled in settings (default: FALSE — opt-in).
* The watcher feeds BOTH the docked Ultracode Agents panel (`showUltracodeAgents`) and the
* floating run windows (`ultracodeFloatingWindows`), so either toggle starts it.
*/
private async isWorkflowAgentTrackingEnabled(): Promise<boolean> {
const settingsPath = dataPath('settings.json');
try {
const content = await fs.readFile(settingsPath, 'utf-8');
const settings = JSON.parse(content);
return settings.showUltracodeAgents ?? false;
return (settings.showUltracodeAgents ?? false) || (settings.ultracodeFloatingWindows ?? false);
} catch (err) {
if ((err as NodeJS.ErrnoException).code !== 'ENOENT') {
console.error('Failed to read showUltracodeAgents setting:', err);