From a09551bd3c92124ef866aa9c186f4e2c2192ea17 Mon Sep 17 00:00:00 2001 From: "tao.chen" <93983997+taochen-ct@users.noreply.github.com> Date: Wed, 12 Aug 2026 17:14:47 +0800 Subject: [PATCH] update: workspace members 403 --- .../components/platform/ScriptExplorer.tsx | 41 +++---------------- frontend/app/services/api.ts | 1 + 2 files changed, 6 insertions(+), 36 deletions(-) diff --git a/frontend/app/components/platform/ScriptExplorer.tsx b/frontend/app/components/platform/ScriptExplorer.tsx index 211b848..bda8c0b 100644 --- a/frontend/app/components/platform/ScriptExplorer.tsx +++ b/frontend/app/components/platform/ScriptExplorer.tsx @@ -1,8 +1,8 @@ -import { type ChangeEvent, type MouseEvent as ReactMouseEvent, type RefObject, useEffect, useMemo, useState } from "react"; +import { type ChangeEvent, type MouseEvent as ReactMouseEvent, type RefObject, useMemo } from "react"; import Icon from "../common/Icon"; import { WorkspaceTreeGroup } from "~/features/platform/WorkspaceTree"; -import type { ScriptItem, WorkspaceDirectory, WorkspaceMember } from "~/services/api"; -import { useApi, useAuth, type AuthUser } from "~/context/AuthContext"; +import type { ScriptItem, WorkspaceDirectory } from "~/services/api"; +import { type AuthUser } from "~/context/AuthContext"; type ScriptExplorerProps = { scripts: ScriptItem[]; @@ -50,37 +50,6 @@ export function ScriptExplorer({ uploadInputRef, onHandleUpload, }: ScriptExplorerProps) { - const api = useApi(); - const { currentWorkspace } = useAuth(); - const [members, setMembers] = useState([]); - - useEffect(() => { - if (!currentWorkspace) { - setMembers([]); - return; - } - let cancelled = false; - api - .listWorkspaceMembers(currentWorkspace.workspace_id) - .then((list) => { - if (!cancelled) setMembers(list); - }) - .catch(() => { - if (!cancelled) setMembers([]); - }); - return () => { - cancelled = true; - }; - }, [api, currentWorkspace]); - - const displayNameByUserId = useMemo(() => { - const map = new Map(); - for (const m of members) { - map.set(m.user_id, m.display_name || m.username || m.user_id); - } - return map; - }, [members]); - const memberScriptGroups = useMemo(() => { const visibleScripts = user?.is_system_admin === true @@ -106,7 +75,7 @@ export function ScriptExplorer({ }[] = []; for (const [ownerUserId, groupScripts] of byOwner.entries()) { const displayName = - displayNameByUserId.get(ownerUserId) ?? + groupScripts[0]?.owner_display_name ?? (ownerUserId === user?.user_id ? user?.display_name : null) ?? `${ownerUserId.slice(-6)}…`; const groupUser = @@ -139,7 +108,7 @@ export function ScriptExplorer({ }); return groups; - }, [filteredScripts, user, displayNameByUserId]); + }, [filteredScripts, user]); return (