feat: enable React Compiler, add Redis caching for API routes, update README with requirements and install guide
Local Build and Deploy / deploy (push) Failing after 57s

This commit is contained in:
openhands committed 2026-07-20 14:14:49 +02:00
1 parent f53d25e0a5
commit ccd4994028
5 files changed
+248 -267

No files matched your search

+16 -11
View File
@@ -1,5 +1,6 @@
import { apiJson } from "@/lib/api";
import { prisma } from "@/lib/prisma";
import { redisCache, apiCacheKey } from "@/lib/redis-cache";
// Radio player config: the subset of radio_* website_settings the front-end
// player needs (stream URL, name, autoplay, enabled, widget visibility) as a
@@ -27,19 +28,23 @@ const CONFIG_KEYS = new Set([
export async function GET(_req: Request) {
try {
const rows = await prisma.websiteSetting.findMany({
where: { key: { in: Array.from(CONFIG_KEYS) } },
select: { key: true, value: true },
});
const config: Record<string, string> = {};
for (const row of rows) {
config[row.key] = row.value;
}
const config = await redisCache(
apiCacheKey("radio:config"),
30,
async () => {
const rows = await prisma.websiteSetting.findMany({
where: { key: { in: Array.from(CONFIG_KEYS) } },
select: { key: true, value: true },
});
const result: Record<string, string> = {};
for (const row of rows) {
result[row.key] = row.value;
}
return result;
},
);
return apiJson(config);
} catch {
// DB unavailable — serve an empty config rather than a 500.
return apiJson({}, { status: 200 });
}
}