Merge main: branding fix, Autumn local-ledger guards, JSON 404 fix
This commit is contained in:
commit
20361f3451
@ -53,10 +53,20 @@ function loadHandler() {
|
||||
}
|
||||
|
||||
async function handleAutumnRequest(request: Request) {
|
||||
if (!isHostedAuthMode(env.AUTH_MODE)) {
|
||||
return new Response("Not found", {
|
||||
status: 404,
|
||||
});
|
||||
// 404 in non-hosted modes, and also in hosted mode when Autumn isn't
|
||||
// configured — a direct-Stripe deployment runs the local-ledger billing
|
||||
// fallback instead (see subscription.ts) and has no Autumn customer to
|
||||
// read, so this route has nothing to serve. Checking here, before
|
||||
// loadHandler(), avoids autumn-js throwing "secret key not found" deep
|
||||
// inside the handler once a client request reaches it.
|
||||
if (!isHostedAuthMode(env.AUTH_MODE) || !env.AUTUMN_SECRET_KEY?.trim()) {
|
||||
// JSON, not a plain-text body: the client-side autumn-js hooks call
|
||||
// response.json() on every response regardless of status, and a
|
||||
// non-JSON body throws a SyntaxError there instead of handling the 404.
|
||||
return Response.json(
|
||||
{ message: "Not found", code: "not_found" },
|
||||
{ status: 404 },
|
||||
);
|
||||
}
|
||||
|
||||
let context;
|
||||
|
||||
@ -122,7 +122,7 @@ export async function sendHostedVerificationEmail({
|
||||
email,
|
||||
transactionalId: config.verificationTemplateId,
|
||||
dataVariables: {
|
||||
appName: "OpenSEO",
|
||||
appName: "CrawlerX",
|
||||
confirmationUrl,
|
||||
},
|
||||
});
|
||||
@ -150,7 +150,7 @@ export async function sendHostedInvitationEmail({
|
||||
email,
|
||||
transactionalId: templateId,
|
||||
dataVariables: {
|
||||
appName: "OpenSEO",
|
||||
appName: "CrawlerX",
|
||||
inviteUrl,
|
||||
organizationName,
|
||||
inviterName,
|
||||
@ -172,7 +172,7 @@ export async function sendHostedPasswordResetEmail({
|
||||
email,
|
||||
transactionalId: config.passwordResetTemplateId,
|
||||
dataVariables: {
|
||||
appName: "OpenSEO",
|
||||
appName: "CrawlerX",
|
||||
resetUrl,
|
||||
},
|
||||
});
|
||||
|
||||
@ -6,6 +6,7 @@ import {
|
||||
} from "@/shared/billing";
|
||||
import { AppError } from "@/server/lib/errors";
|
||||
import {
|
||||
getOptionalEnvValue,
|
||||
getRequiredEnvValue,
|
||||
isHostedServerAuthMode,
|
||||
} from "@/server/lib/runtime-env";
|
||||
@ -61,6 +62,13 @@ export const getBillingUsageEvents = createServerFn({ method: "POST" })
|
||||
return [];
|
||||
}
|
||||
|
||||
// No Autumn behind this deployment (local-ledger billing fallback, see
|
||||
// subscription.ts) — there's no per-event usage history to page through,
|
||||
// just the running total the ledger keeps.
|
||||
if (!(await getOptionalEnvValue("AUTUMN_SECRET_KEY"))) {
|
||||
return [];
|
||||
}
|
||||
|
||||
const events: BillingUsageEvent[] = [];
|
||||
let offset = 0;
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user