chore(lint): no-shadow in small app files

Rename inner shadowing identifiers in:
- add-host-modal, agent-status-bar, sidebar-workspace-list, terminal-pane
- workspace-setup-dialog, session-context, use-is-local-daemon
- setup-panel, new-workspace-screen, workspace-desktop-tabs-row
This commit is contained in:
Mohamed Boudra
2026-04-24 05:13:39 +07:00
parent a29df85de0
commit 4af2ec614c
10 changed files with 39 additions and 39 deletions

View File

@@ -216,10 +216,10 @@ export function AddHostModal({ visible, onClose, onCancel, onSaved }: AddHostMod
onSaved?.({ profile, serverId, hostname, isNewHost });
handleClose();
} catch (error) {
const { title, detail, raw } = buildConnectionFailureCopy(endpoint, error);
const { title, detail, raw: rawDetail } = buildConnectionFailureCopy(endpoint, error);
const combined =
raw && detail && raw !== detail
? `${title}\n${detail}\nDetails: ${raw}`
rawDetail && detail && rawDetail !== detail
? `${title}\n${detail}\nDetails: ${rawDetail}`
: detail
? `${title}\n${detail}`
: title;

View File

@@ -369,8 +369,8 @@ function ControlledStatusBar({
const handleModeSelect = useCallback((id: string) => onSelectMode?.(id), [onSelectMode]);
const handleDesktopModelSelect = useCallback(
(selectedProviderId: string, modelId: string) => {
if (selectedProviderId === provider) {
(nextProviderId: string, modelId: string) => {
if (nextProviderId === provider) {
onSelectModel?.(modelId);
}
},
@@ -425,13 +425,13 @@ function ControlledStatusBar({
);
const handleSheetModelSelect = useCallback(
(selectedProviderId: string, modelId: string) => {
(nextProviderId: string, modelId: string) => {
if (onSelectProviderAndModel) {
onSelectProviderAndModel(selectedProviderId, modelId);
onSelectProviderAndModel(nextProviderId, modelId);
return;
}
if (selectedProviderId !== provider) {
onSelectProvider?.(selectedProviderId);
if (nextProviderId !== provider) {
onSelectProvider?.(nextProviderId);
}
onSelectModel?.(modelId);
},

View File

@@ -1261,9 +1261,9 @@ function WorkspaceRowWithMenu({
if (!confirmed) {
return;
}
let workspaceDirectory: string;
let archiveDirectory: string;
try {
workspaceDirectory = requireWorkspaceExecutionDirectory({
archiveDirectory = requireWorkspaceExecutionDirectory({
workspaceId: workspace.workspaceId,
workspaceDirectory: workspace.workspaceDirectory,
});
@@ -1272,7 +1272,7 @@ function WorkspaceRowWithMenu({
return;
}
if (!workspaceDirectory) {
if (!archiveDirectory) {
toast.error("Workspace path not available");
return;
}
@@ -1281,8 +1281,8 @@ function WorkspaceRowWithMenu({
void archiveWorktree({
serverId: workspace.serverId,
cwd: workspaceDirectory,
worktreePath: workspaceDirectory,
cwd: archiveDirectory,
worktreePath: archiveDirectory,
}).catch((error) => {
const message = error instanceof Error ? error.message : "Failed to archive worktree";
toast.error(message);
@@ -1348,9 +1348,9 @@ function WorkspaceRowWithMenu({
]);
const handleCopyPath = useCallback(() => {
let workspaceDirectory: string;
let copyTargetDirectory: string;
try {
workspaceDirectory = requireWorkspaceExecutionDirectory({
copyTargetDirectory = requireWorkspaceExecutionDirectory({
workspaceId: workspace.workspaceId,
workspaceDirectory: workspace.workspaceDirectory,
});
@@ -1358,7 +1358,7 @@ function WorkspaceRowWithMenu({
toast.error(error instanceof Error ? error.message : "Workspace path not available");
return;
}
void Clipboard.setStringAsync(workspaceDirectory);
void Clipboard.setStringAsync(copyTargetDirectory);
toast.copied("Path copied");
}, [toast, workspace.workspaceDirectory, workspace.workspaceId]);

View File

@@ -317,15 +317,15 @@ export function TerminalPane({
const controller = new TerminalStreamController({
client,
getPreferredSize: () => lastReportedSizeRef.current,
onOutput: ({ terminalId, text }) => {
if (!isWorkspaceFocused || terminalIdRef.current !== terminalId) {
onOutput: ({ terminalId: outputTerminalId, text }) => {
if (!isWorkspaceFocused || terminalIdRef.current !== outputTerminalId) {
return;
}
emulatorRef.current?.writeOutput(text);
},
onSnapshot: ({ terminalId, state }) => {
workspaceTerminalSession.snapshots.set({ terminalId, state });
if (!isWorkspaceFocused || terminalIdRef.current !== terminalId) {
onSnapshot: ({ terminalId: snapshotTerminalId, state }) => {
workspaceTerminalSession.snapshots.set({ terminalId: snapshotTerminalId, state });
if (!isWorkspaceFocused || terminalIdRef.current !== snapshotTerminalId) {
return;
}
emulatorRef.current?.renderSnapshot(state);

View File

@@ -176,7 +176,7 @@ export function WorkspaceSetupDialog() {
try {
setPendingAction("chat");
setErrorMessage(null);
const workspace = await ensureWorkspace({ cwd, attachments });
const ensuredWorkspace = await ensureWorkspace({ cwd, attachments });
const connectedClient = withConnectedClient();
if (!composerState) {
throw new Error("Workspace setup composer state is required");
@@ -188,12 +188,12 @@ export function WorkspaceSetupDialog() {
const wirePayload = splitComposerAttachmentsForSubmit(attachments);
const encodedImages = await encodeImages(wirePayload.images);
const workspaceDirectory = requireWorkspaceExecutionAuthority({
workspace,
workspace: ensuredWorkspace,
}).workspaceDirectory;
const agent = await connectedClient.createAgent({
provider: composerState.selectedProvider,
cwd: workspaceDirectory,
workspaceId: workspace.id,
workspaceId: ensuredWorkspace.id,
...(composerState.modeOptions.length > 0 && composerState.selectedMode !== ""
? { modeId: composerState.selectedMode }
: {}),
@@ -215,7 +215,7 @@ export function WorkspaceSetupDialog() {
next.set(agent.id, normalizeAgentSnapshot(agent, serverId));
return next;
});
navigateAfterCreation(workspace.id, { kind: "agent", agentId: agent.id });
navigateAfterCreation(ensuredWorkspace.id, { kind: "agent", agentId: agent.id });
} catch (error) {
const message = toErrorMessage(error);
setErrorMessage(message);

View File

@@ -588,12 +588,12 @@ function SessionProviderInternal({ children, serverId, client }: SessionProvider
}) => {
const appState = appStateRef.current;
const session = useSessionStore.getState().sessions[serverId];
const focusedAgentId = session?.focusedAgentId ?? null;
const attentionFocusedAgentId = session?.focusedAgentId ?? null;
if (params.reason === "error") {
return;
}
const isActivelyVisible = getIsAppActivelyVisible(appState);
const isAwayFromAgent = !isActivelyVisible || focusedAgentId !== params.agentId;
const isAwayFromAgent = !isActivelyVisible || attentionFocusedAgentId !== params.agentId;
if (!isAwayFromAgent) {
return;
}

View File

@@ -24,7 +24,7 @@ export function useLocalDaemonServerId(): string | null {
enabled: isDesktopApp,
staleTime: Infinity,
gcTime: Infinity,
refetchInterval: (query) => (query.state.data?.serverId ? false : 1000),
refetchInterval: (activeQuery) => (activeQuery.state.data?.serverId ? false : 1000),
refetchOnMount: false,
refetchOnReconnect: false,
refetchOnWindowFocus: false,

View File

@@ -154,9 +154,9 @@ function SetupPanel() {
next.add(index);
// If the user re-expands, remove from manually collapsed
setManuallyCollapsed((mc) => {
const next = new Set(mc);
next.delete(index);
return next;
const updated = new Set(mc);
updated.delete(index);
return updated;
});
}
return next;

View File

@@ -354,9 +354,9 @@ export function NewWorkspaceScreen({
}
const { attachments: reviewAttachments } = splitComposerAttachmentsForSubmit(attachments);
const workspace = await ensureWorkspace({ cwd, attachments: reviewAttachments });
const ensuredWorkspace = await ensureWorkspace({ cwd, attachments: reviewAttachments });
const draftId = generateDraftId();
const workspaceDirectory = workspace.workspaceDirectory;
const workspaceDirectory = ensuredWorkspace.workspaceDirectory;
useDraftStore.getState().saveDraftInput({
draftKey: buildDraftStoreKey({
serverId,
@@ -371,7 +371,7 @@ export function NewWorkspaceScreen({
});
useWorkspaceDraftSubmissionStore.getState().setPending({
serverId,
workspaceId: workspace.id,
workspaceId: ensuredWorkspace.id,
draftId,
text,
attachments,
@@ -389,7 +389,7 @@ export function NewWorkspaceScreen({
});
navigateToPreparedWorkspaceTab({
serverId,
workspaceId: workspace.id,
workspaceId: ensuredWorkspace.id,
target: { kind: "draft", draftId },
navigationMethod: "replace",
});

View File

@@ -324,12 +324,12 @@ function TabChip({
onPress={handleCloseButtonPress}
style={closeButtonStyle}
>
{({ hovered, pressed }) =>
{({ hovered: closeHovered, pressed }) =>
isClosingTab ? (
<ActivityIndicator
size={12}
color={
hovered || pressed
closeHovered || pressed
? theme.colors.foreground
: theme.colors.foregroundMuted
}
@@ -338,7 +338,7 @@ function TabChip({
<X
size={12}
color={
hovered || pressed
closeHovered || pressed
? theme.colors.foreground
: theme.colors.foregroundMuted
}