@lucashca/claudecontrol 0.3.22 → 0.3.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4,7 +4,6 @@ import { useAtomValue } from 'jotai';
4
4
  import { agentsMapAtom, barTabIdsAtom, activeTabIdAtom } from '@/atoms';
5
5
  import { useTabActions } from '@/hooks/useTabActions';
6
6
  import { AGENT_LABELS } from '@/types';
7
- import { api } from '@/api';
8
7
 
9
8
  const AGENT_ICON: Record<string, LucideIcon> = {
10
9
  arquiteto: Blocks, dev: Code2, qa: TestTube2,
@@ -43,7 +42,7 @@ export function AgentBar() {
43
42
  <span className="font-medium">{AGENT_LABELS[agent.role] || agent.role}</span>
44
43
  <X size={11}
45
44
  className="text-zinc-700 hover:text-zinc-300 cursor-pointer shrink-0 ml-1"
46
- onClick={e => { e.stopPropagation(); closeTab(id); api.deleteAgent(id).catch(() => {}); }} />
45
+ onClick={e => { e.stopPropagation(); closeTab(id); }} />
47
46
  </div>
48
47
  );
49
48
  })}
@@ -2,7 +2,7 @@ import type { LucideIcon } from 'lucide-react';
2
2
  import { Blocks, Code2, TestTube2, Cloud, Database, Layout, ChevronRight, Loader2, GitBranch, Square } from 'lucide-react';
3
3
  import { useAtomValue } from 'jotai';
4
4
  import { useState } from 'react';
5
- import { agentsMapAtom, barTabIdsAtom } from '@/atoms';
5
+ import { agentsMapAtom } from '@/atoms';
6
6
  import { api } from '@/api';
7
7
  import { Badge, Button, Tooltip } from '@/ui';
8
8
  import { AGENT_LABELS, AGENT_DESCRIPTIONS } from '@/types';
@@ -165,10 +165,8 @@ export function ChatPanel({ agentId, compact }: { agentId: string; compact?: boo
165
165
 
166
166
  function ActiveAgentsBar({ currentAgentId, workspaceId }: { currentAgentId: string; workspaceId: string }) {
167
167
  const agentsMap = useAtomValue(agentsMapAtom);
168
- const barTabIds = useAtomValue(barTabIdsAtom);
169
- const tabSet = new Set(barTabIds);
170
168
  const others = [...agentsMap.values()].filter(
171
- a => a.workspaceId === workspaceId && a.id !== currentAgentId && !a.closed && tabSet.has(a.id),
169
+ a => a.workspaceId === workspaceId && a.id !== currentAgentId && !a.closed && a.status === 'working',
172
170
  );
173
171
  if (others.length === 0) return null;
174
172
 
@@ -5,7 +5,6 @@ import { agentsMapAtom } from '@/atoms';
5
5
  import { ChatPanel, EmptyChat } from './ChatPanel';
6
6
  import { AGENT_LABELS } from '@/types';
7
7
  import { X, Blocks, Code2, TestTube2, Cloud, Database, Layout } from 'lucide-react';
8
- import { api } from '@/api';
9
8
 
10
9
  const AGENT_ICON: Record<string, LucideIcon> = {
11
10
  arquiteto: Blocks, dev: Code2, qa: TestTube2,
@@ -115,7 +114,7 @@ export function ChatPanelWithTabs({ panelIndex }: Props) {
115
114
  <X
116
115
  size={10}
117
116
  className="text-cc-muted cursor-pointer shrink-0 hover:text-cc-text-secondary"
118
- onClick={e => { e.stopPropagation(); closeTab(id); api.deleteAgent(id).catch(() => {}); }}
117
+ onClick={e => { e.stopPropagation(); closeTab(id); }}
119
118
  />
120
119
  </div>
121
120
  );
@@ -27,8 +27,8 @@ function setActiveWorkspaceImperative(id: string) {
27
27
  const currentBarTabIds = store.get(barTabIdsAtom);
28
28
  const currentActiveTabId = store.get(activeTabIdAtom);
29
29
 
30
- // Save current tabs for previous workspace
31
- if (prevActiveId) {
30
+ // Save current tabs for previous workspace (skip if same workspace — fresh load scenario)
31
+ if (prevActiveId && prevActiveId !== id) {
32
32
  const fileTabs = store.get(fileTabsAtom);
33
33
  const activeFilePath = store.get(activeFileTabAtom);
34
34
  store.set(workspaceTabsAtom, {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lucashca/claudecontrol",
3
- "version": "0.3.22",
3
+ "version": "0.3.24",
4
4
  "description": "AI Agent Dashboard — manage multiple Claude Code agents across projects",
5
5
  "type": "module",
6
6
  "bin": {
package/version.json CHANGED
@@ -1 +1 @@
1
- {"version":"0.3.22","build":"2026-04-03T22:59:18.572Z"}
1
+ {"version":"0.3.24","build":"2026-04-03T23:07:39.778Z"}