diff --git a/src/platform/workflow/sharing/services/workflowShareService.test.ts b/src/platform/workflow/sharing/services/workflowShareService.test.ts index f8ab1d02a3..4183d03969 100644 --- a/src/platform/workflow/sharing/services/workflowShareService.test.ts +++ b/src/platform/workflow/sharing/services/workflowShareService.test.ts @@ -16,14 +16,6 @@ const mockGetShareableAssets = vi.fn() const mockFetchApi = vi.fn() const mockInvalidateInputAssetsIncludingPublic = vi.hoisted(() => vi.fn()) -vi.mock( - '@/platform/workflow/validation/schemas/workflowSchema', - async (importOriginal) => ({ - ...(await importOriginal()), - validateComfyWorkflow: vi.fn(async (json: unknown) => json) - }) -) - vi.mock('@/scripts/api', () => ({ api: { getShareableAssets: (...args: unknown[]) => mockGetShareableAssets(...args), @@ -408,6 +400,36 @@ describe(useWorkflowShareService, () => { ) }) + it('returns raw workflow_json when it does not match ComfyWorkflowJSON schema', async () => { + const rawWorkflowJson = { + extra: { + linearData: { + inputs: [ + [1, 'prompt'], + [2, 'seed', 'invalid-third-element'] + ], + outputs: [] + } + } + } + mockFetchApi.mockResolvedValue( + mockJsonResponse({ + share_id: 'share-raw', + workflow_id: 'wf-raw', + name: 'Raw', + listed: false, + publish_time: null, + workflow_json: rawWorkflowJson, + assets: [] + }) + ) + + const service = useWorkflowShareService() + const shared = await service.getSharedWorkflow('share-raw') + + expect(shared.workflowJson).toEqual(rawWorkflowJson) + }) + it('treats malformed publish-status payload as unpublished', async () => { mockFetchApi.mockResolvedValue(mockJsonResponse({ is_published: true })) diff --git a/src/platform/workflow/sharing/services/workflowShareService.ts b/src/platform/workflow/sharing/services/workflowShareService.ts index 4de4670c5d..c9c310a6b6 100644 --- a/src/platform/workflow/sharing/services/workflowShareService.ts +++ b/src/platform/workflow/sharing/services/workflowShareService.ts @@ -9,7 +9,6 @@ import type { import { assetService } from '@/platform/assets/services/assetService' import type { ThumbnailType } from '@/platform/workflow/sharing/types/comfyHubTypes' import type { ComfyWorkflowJSON } from '@/platform/workflow/validation/schemas/workflowSchema' -import { validateComfyWorkflow } from '@/platform/workflow/validation/schemas/workflowSchema' import type { AssetInfo } from '@/schemas/apiSchema' import { zHubWorkflowPrefillResponse, @@ -249,12 +248,6 @@ export function useWorkflowShareService() { throw new Error('Failed to load shared workflow: invalid response') } - const validated = await validateComfyWorkflow(workflow.workflowJson) - if (!validated) { - throw new Error('Failed to load shared workflow: invalid workflow data') - } - workflow.workflowJson = validated - return workflow }