diff --git a/apps/backend/src/lib/config.tsx b/apps/backend/src/lib/config.tsx index f6585f95d5..9c535d095c 100644 --- a/apps/backend/src/lib/config.tsx +++ b/apps/backend/src/lib/config.tsx @@ -1091,7 +1091,12 @@ import.meta.vitest?.test('setEnvironmentConfigOverride blocks writes for develop const developmentEnvironment = await import("./development-environment"); - const isDevelopmentEnvironmentProjectSpy = vi.spyOn(developmentEnvironment, "isDevelopmentEnvironmentProject").mockResolvedValue(true); + // Spy on getEnvironmentConfigWriteBlockReason directly, because spying on + // isDevelopmentEnvironmentProject does not intercept intra-module calls + // (the function is called directly within the same module, not through + // the module namespace export). + const spy = vi.spyOn(developmentEnvironment, "getEnvironmentConfigWriteBlockReason") + .mockResolvedValue(DEVELOPMENT_ENVIRONMENT_ENV_CONFIG_BLOCKED_MESSAGE); try { await expect(setEnvironmentConfigOverride({ @@ -1100,7 +1105,7 @@ import.meta.vitest?.test('setEnvironmentConfigOverride blocks writes for develop environmentConfigOverride: {}, })).rejects.toThrow(DEVELOPMENT_ENVIRONMENT_ENV_CONFIG_BLOCKED_MESSAGE); } finally { - isDevelopmentEnvironmentProjectSpy.mockRestore(); + spy.mockRestore(); } }); diff --git a/apps/backend/src/lib/email-queue-step.tsx b/apps/backend/src/lib/email-queue-step.tsx index c2864d322b..09e857b2f2 100644 --- a/apps/backend/src/lib/email-queue-step.tsx +++ b/apps/backend/src/lib/email-queue-step.tsx @@ -734,7 +734,6 @@ async function processSingleEmail(context: TenancyProcessingContext, row: EmailO return; } } - const result = getEnvBoolean("STACK_EMAIL_BRANCHING_DISABLE_QUEUE_SENDING") ? Result.error({ errorType: "email-sending-disabled", canRetry: false, message: "Email sending is disabled", rawError: new Error("Email sending is disabled") }) : await lowLevelSendEmailDirectWithoutRetries({ @@ -745,7 +744,6 @@ async function processSingleEmail(context: TenancyProcessingContext, row: EmailO html: row.renderedHtml ?? undefined, text: row.renderedText ?? undefined, }); - if (result.status === "error") { const newAttemptCount = row.sendRetries + 1; const isAttemptsExhausted = result.error.canRetry && newAttemptCount >= MAX_SEND_ATTEMPTS; diff --git a/apps/backend/vitest.config.ts b/apps/backend/vitest.config.ts index c4b64b9f47..603a6454dd 100644 --- a/apps/backend/vitest.config.ts +++ b/apps/backend/vitest.config.ts @@ -7,7 +7,7 @@ export default mergeConfig( sharedConfig, defineConfig({ test: { - testTimeout: 20000, + testTimeout: 60000, env: { ...loadEnv('', process.cwd(), ''), ...loadEnv('development', process.cwd(), ''), diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/widget-playground/page-client.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/widget-playground/page-client.tsx index 39f388efd7..bbedefbd7d 100644 --- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/widget-playground/page-client.tsx +++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/widget-playground/page-client.tsx @@ -1630,9 +1630,9 @@ function Draggable(props: {
A runtime error occured while rendering this widget.

- {props.reset && }
+

{errorToNiceString(props.error)}
diff --git a/apps/e2e/tests/backend/backend-helpers.ts b/apps/e2e/tests/backend/backend-helpers.ts index d7c83aeecf..b0b1e02398 100644 --- a/apps/e2e/tests/backend/backend-helpers.ts +++ b/apps/e2e/tests/backend/backend-helpers.ts @@ -483,20 +483,22 @@ export namespace Auth { "headers": Headers {