diff --git a/cli/src/commands/client/company.ts b/cli/src/commands/client/company.ts index 4f8268ac..ac4fdc1c 100644 --- a/cli/src/commands/client/company.ts +++ b/cli/src/commands/client/company.ts @@ -13,7 +13,7 @@ import type { } from "@paperclipai/shared"; import { ApiRequestError } from "../../client/http.js"; import { openUrl } from "../../client/board-auth.js"; -import { readZipArchive } from "./zip.js"; +import { binaryContentTypeByExtension, readZipArchive } from "./zip.js"; import { addCommonClientOptions, formatInlineRecord, @@ -109,15 +109,6 @@ type ImportSelectionState = { skills: Set; }; -const binaryContentTypeByExtension: Record = { - ".gif": "image/gif", - ".jpeg": "image/jpeg", - ".jpg": "image/jpeg", - ".png": "image/png", - ".svg": "image/svg+xml", - ".webp": "image/webp", -}; - function readPortableFileEntry(filePath: string, contents: Buffer): CompanyPortabilityFileEntry { const contentType = binaryContentTypeByExtension[path.extname(filePath).toLowerCase()]; if (!contentType) return contents.toString("utf8"); diff --git a/cli/src/commands/client/zip.ts b/cli/src/commands/client/zip.ts index ff1eb669..b75935e9 100644 --- a/cli/src/commands/client/zip.ts +++ b/cli/src/commands/client/zip.ts @@ -4,7 +4,7 @@ import type { CompanyPortabilityFileEntry } from "@paperclipai/shared"; const textDecoder = new TextDecoder(); -const binaryContentTypeByExtension: Record = { +export const binaryContentTypeByExtension: Record = { ".gif": "image/gif", ".jpeg": "image/jpeg", ".jpg": "image/jpeg", diff --git a/ui/src/pages/CompanyImport.tsx b/ui/src/pages/CompanyImport.tsx index d8108f61..60765138 100644 --- a/ui/src/pages/CompanyImport.tsx +++ b/ui/src/pages/CompanyImport.tsx @@ -356,6 +356,7 @@ function applyImportedSidebarOrder( ) { const sidebar = preview?.manifest.sidebar; if (!sidebar) return; + if (!userId?.trim()) return; const agentIdBySlug = new Map( result.agents @@ -846,7 +847,18 @@ export function CompanyImport() { onSuccess: async (result) => { await queryClient.invalidateQueries({ queryKey: queryKeys.companies.all }); const importedCompany = await companiesApi.get(result.company.id); - applyImportedSidebarOrder(importPreview, result, currentUserId); + const refreshedSession = currentUserId + ? null + : await queryClient.fetchQuery({ + queryKey: queryKeys.auth.session, + queryFn: () => authApi.getSession(), + }); + const sidebarOrderUserId = + currentUserId + ?? refreshedSession?.user?.id + ?? refreshedSession?.session?.userId + ?? null; + applyImportedSidebarOrder(importPreview, result, sidebarOrderUserId); setSelectedCompanyId(importedCompany.id); pushToast({ tone: "success",