mirror of
https://github.com/Ark0N/Codeman.git
synced 2026-10-09 08:59:40 +02:00
chore: bump version to 0.1480
This commit is contained in:
@@ -26,7 +26,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`)
|
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`
|
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.1479 (must match `package.json` for npm publish)
|
**Version**: 0.1480 (must match `package.json` for npm publish)
|
||||||
|
|
||||||
## Project Overview
|
## Project Overview
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "claudeman",
|
"name": "claudeman",
|
||||||
"version": "0.1479",
|
"version": "0.1480",
|
||||||
"description": "The missing control plane for Claude Code - run 20 autonomous agents with real-time monitoring and session persistence",
|
"description": "The missing control plane for Claude Code - run 20 autonomous agents with real-time monitoring and session persistence",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"main": "dist/index.js",
|
"main": "dist/index.js",
|
||||||
|
|||||||
+37
-2
@@ -12004,7 +12004,8 @@ class ClaudemanApp {
|
|||||||
</div>`
|
</div>`
|
||||||
: '';
|
: '';
|
||||||
|
|
||||||
const windowTitle = agent.description || agentId.substring(0, 7);
|
const teammateInfo = this.getTeammateInfo(agent);
|
||||||
|
const windowTitle = teammateInfo ? teammateInfo.name : (agent.description || agentId.substring(0, 7));
|
||||||
const truncatedTitle = windowTitle.length > 50 ? windowTitle.substring(0, 50) + '...' : windowTitle;
|
const truncatedTitle = windowTitle.length > 50 ? windowTitle.substring(0, 50) + '...' : windowTitle;
|
||||||
const modelBadge = agent.modelShort
|
const modelBadge = agent.modelShort
|
||||||
? `<span class="subagent-model-badge ${agent.modelShort}">${agent.modelShort}</span>`
|
? `<span class="subagent-model-badge ${agent.modelShort}">${agent.modelShort}</span>`
|
||||||
@@ -12282,6 +12283,13 @@ class ClaudemanApp {
|
|||||||
this.activeFocusTrap = null;
|
this.activeFocusTrap = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Clean up team tasks panel drag listeners
|
||||||
|
if (this.teamTasksDragListeners) {
|
||||||
|
document.removeEventListener('mousemove', this.teamTasksDragListeners.move);
|
||||||
|
document.removeEventListener('mouseup', this.teamTasksDragListeners.up);
|
||||||
|
this.teamTasksDragListeners = null;
|
||||||
|
}
|
||||||
|
|
||||||
// Clear minimized agents tracking
|
// Clear minimized agents tracking
|
||||||
this.minimizedSubagents.clear();
|
this.minimizedSubagents.clear();
|
||||||
|
|
||||||
@@ -12585,7 +12593,23 @@ class ClaudemanApp {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
panel.style.display = '';
|
// Set initial position and make draggable on first show
|
||||||
|
const wasHidden = panel.style.display === 'none';
|
||||||
|
panel.style.display = 'flex';
|
||||||
|
|
||||||
|
if (wasHidden && !this.teamTasksDragListeners) {
|
||||||
|
// Position bottom-right
|
||||||
|
const panelWidth = 360;
|
||||||
|
const panelHeight = 300;
|
||||||
|
panel.style.left = `${Math.max(10, window.innerWidth - panelWidth - 20)}px`;
|
||||||
|
panel.style.top = `${Math.max(10, window.innerHeight - panelHeight - 70)}px`;
|
||||||
|
// Make draggable
|
||||||
|
const header = panel.querySelector('.team-tasks-header');
|
||||||
|
if (header) {
|
||||||
|
this.teamTasksDragListeners = this.makeWindowDraggable(panel, header);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const tasks = this.teamTasks.get(activeTeamName) || [];
|
const tasks = this.teamTasks.get(activeTeamName) || [];
|
||||||
const completed = tasks.filter(t => t.status === 'completed').length;
|
const completed = tasks.filter(t => t.status === 'completed').length;
|
||||||
const total = tasks.length;
|
const total = tasks.length;
|
||||||
@@ -12631,6 +12655,17 @@ class ClaudemanApp {
|
|||||||
listEl.innerHTML = html;
|
listEl.innerHTML = html;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Hide team tasks panel and clean up drag listeners */
|
||||||
|
hideTeamTasksPanel() {
|
||||||
|
const panel = document.getElementById('teamTasksPanel');
|
||||||
|
if (panel) panel.style.display = 'none';
|
||||||
|
if (this.teamTasksDragListeners) {
|
||||||
|
document.removeEventListener('mousemove', this.teamTasksDragListeners.move);
|
||||||
|
document.removeEventListener('mouseup', this.teamTasksDragListeners.up);
|
||||||
|
this.teamTasksDragListeners = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/** Get teammate color by name */
|
/** Get teammate color by name */
|
||||||
getTeammateColor(name) {
|
getTeammateColor(name) {
|
||||||
const info = this.teammateMap.get(name);
|
const info = this.teammateMap.get(name);
|
||||||
|
|||||||
@@ -435,6 +435,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<span class="team-tasks-progress-text">0/0</span>
|
<span class="team-tasks-progress-text">0/0</span>
|
||||||
</div>
|
</div>
|
||||||
|
<button class="team-tasks-close" onclick="app.hideTeamTasksPanel()" title="Hide">─</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="team-tasks-list"></div>
|
<div class="team-tasks-list"></div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -5530,17 +5530,34 @@ kbd {
|
|||||||
/* Team Tasks Panel */
|
/* Team Tasks Panel */
|
||||||
.team-tasks-panel {
|
.team-tasks-panel {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
bottom: 50px;
|
width: 360px;
|
||||||
right: 10px;
|
min-width: 260px;
|
||||||
width: 320px;
|
min-height: 120px;
|
||||||
max-height: 300px;
|
max-width: 90vw;
|
||||||
background: var(--bg-secondary);
|
max-height: 80vh;
|
||||||
|
background: var(--bg-card);
|
||||||
border: 1px solid var(--border);
|
border: 1px solid var(--border);
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
|
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
|
||||||
z-index: 900;
|
z-index: 900;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
resize: both;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Resize handle indicator */
|
||||||
|
.team-tasks-panel::after {
|
||||||
|
content: '';
|
||||||
|
position: absolute;
|
||||||
|
bottom: 4px;
|
||||||
|
right: 4px;
|
||||||
|
width: 12px;
|
||||||
|
height: 12px;
|
||||||
|
background: linear-gradient(135deg, transparent 50%, var(--border-light) 50%, var(--border-light) 60%, transparent 60%, transparent 70%, var(--border-light) 70%, var(--border-light) 80%, transparent 80%);
|
||||||
|
pointer-events: none;
|
||||||
|
opacity: 0.6;
|
||||||
}
|
}
|
||||||
|
|
||||||
.team-tasks-header {
|
.team-tasks-header {
|
||||||
@@ -5548,8 +5565,24 @@ kbd {
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
padding: 8px 12px;
|
padding: 8px 12px;
|
||||||
background: var(--bg-tertiary);
|
background: var(--bg-input);
|
||||||
border-bottom: 1px solid var(--border);
|
border-bottom: 1px solid var(--border);
|
||||||
|
cursor: move;
|
||||||
|
gap: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.team-tasks-close {
|
||||||
|
background: transparent;
|
||||||
|
border: none;
|
||||||
|
color: var(--text-muted);
|
||||||
|
cursor: pointer;
|
||||||
|
padding: 0.2rem 0.4rem;
|
||||||
|
font-size: 0.9rem;
|
||||||
|
flex-shrink: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.team-tasks-close:hover {
|
||||||
|
color: var(--text);
|
||||||
}
|
}
|
||||||
|
|
||||||
.team-tasks-header-text {
|
.team-tasks-header-text {
|
||||||
@@ -5585,7 +5618,8 @@ kbd {
|
|||||||
|
|
||||||
.team-tasks-list {
|
.team-tasks-list {
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
max-height: 250px;
|
flex: 1;
|
||||||
|
min-height: 0;
|
||||||
padding: 4px 0;
|
padding: 4px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user