Skip to content

Commit cdd148b

Browse files
feat(ui): add toast for graph building errors
1 parent 730fabe commit cdd148b

File tree

1 file changed

+14
-2
lines changed

1 file changed

+14
-2
lines changed

invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/enqueueRequestedLinear.ts

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { logger } from 'app/logging/logger';
22
import { enqueueRequested } from 'app/store/actions';
33
import type { AppStartListening } from 'app/store/middleware/listenerMiddleware';
4+
import { extractMessageFromAssertionError } from 'common/util/extractMessageFromAssertionError';
45
import type { Result } from 'common/util/result';
56
import { withResult, withResultAsync } from 'common/util/result';
67
import { $canvasManager } from 'features/controlLayers/store/ephemeral';
@@ -9,10 +10,11 @@ import { buildFLUXGraph } from 'features/nodes/util/graph/generation/buildFLUXGr
910
import { buildSD1Graph } from 'features/nodes/util/graph/generation/buildSD1Graph';
1011
import { buildSDXLGraph } from 'features/nodes/util/graph/generation/buildSDXLGraph';
1112
import type { Graph } from 'features/nodes/util/graph/generation/Graph';
13+
import { toast } from 'features/toast/toast';
1214
import { serializeError } from 'serialize-error';
1315
import { queueApi } from 'services/api/endpoints/queue';
1416
import type { Invocation } from 'services/api/types';
15-
import { assert } from 'tsafe';
17+
import { assert, AssertionError } from 'tsafe';
1618
import type { JsonObject } from 'type-fest';
1719

1820
const log = logger('generation');
@@ -57,7 +59,17 @@ export const addEnqueueRequestedLinear = (startAppListening: AppStartListening)
5759
}
5860

5961
if (buildGraphResult.isErr()) {
60-
log.error({ error: serializeError(buildGraphResult.error) }, 'Failed to build graph');
62+
let description: string | null = null;
63+
if (buildGraphResult.error instanceof AssertionError) {
64+
description = extractMessageFromAssertionError(buildGraphResult.error);
65+
}
66+
const error = serializeError(buildGraphResult.error);
67+
log.error({ error }, 'Failed to build graph');
68+
toast({
69+
status: 'error',
70+
title: 'Failed to build graph',
71+
description,
72+
});
6173
return;
6274
}
6375

0 commit comments

Comments
 (0)