Improvements: remove dead config, fix ESM, add URL validation, unify types, add missing logging
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 1m52s

- Remove .prettierrc (dead config, Biome replaces Prettier)
- Rename lighthouserc.json to lighthouserc.cjs with module.exports for ESM compat
- Add logger.warn to empty catch blocks in auth, register, site-settings, prisma-cache, redis, security, rate-limit
- Unify ActionResult type: action-helper.ts uses 'ok' consistent with safe-action-shared.ts
- Add noUnusedLocals + noUnusedParameters to tsconfig + fix 25 pre-existing unused vars
- Replace barrel export src/types/index.ts with direct @/types/common imports
- Make trustHost conditional (development only) in auth.ts
- Add pre-flight URL validation to update-Nitrov3.sh to catch image.library.url misconfigurations
- Improve NITRO_IMAGE_LIBRARY_URL content validation in pre-flight & post-compute checks
This commit is contained in:
openhands committed 2026-07-26 20:28:11 +02:00
1 parent b922f6d49f
commit 17847545dd
292 files changed
+69195 -67915

No files matched your search

@@ -72,7 +72,6 @@ export function CfhDetail({
moderator,
banHistory,
canEdit,
// biome-ignore lint/correctness/noUnusedFunctionParameters: part of the public component API
currentUserId,
listHref = "/admin/moderation/cfh",
userLinkMode = "admin",
@@ -96,6 +95,7 @@ export function CfhDetail({
listHref?: string;
userLinkMode?: "admin" | "public";
}) {
void currentUserId;
const { run, isPending } = useServerAction();
const [alertMsg, setAlertMsg] = useState("");
const [muteDuration, setMuteDuration] = useState(10);
+1 -1
View File
@@ -4,7 +4,7 @@ import Link from "next/link";
import { useTranslations } from "next-intl";
import { DataTable } from "@/components/admin/data-table";
import { Badge } from "@/components/ui/badge";
import type { DataTableColumn, PaginatedResult } from "@/types";
import type { DataTableColumn, PaginatedResult } from "@/types/common";
export interface CfhRow {
id: number;
+16 -14
View File
@@ -2,10 +2,10 @@ import { redirect } from "next/navigation";
import { getTranslations } from "next-intl/server";
import type { Prisma } from "@/generated/prisma/client";
import { calcPagination, parseListParams } from "@/lib/admin-helpers";
import { canAccess, getAdminContext, PERMS } from "@/lib/permissions";
import { formatDate } from "@/lib/format-date";
import { canAccess, getAdminContext, PERMS } from "@/lib/permissions";
import { prisma } from "@/lib/prisma";
import { CfhTable, type CfhRow } from "./cfh-table";
import { type CfhRow, CfhTable } from "./cfh-table";
export const dynamic = "force-dynamic";
@@ -64,19 +64,21 @@ export default async function CfhListPage({
const where: Prisma.SupportTicketsWhereInput =
conditions.length === 0
? {}
: conditions.length === 1
? conditions[0]
: { AND: conditions };
: conditions.length === 1
? conditions[0]
: { AND: conditions };
const SORT_MAP: Record<string, Prisma.SupportTicketsOrderByWithRelationInput> =
{
id: { id: "desc" },
issue: { issue: "asc" },
sender: { senderId: "asc" },
reported: { reportedId: "asc" },
mod: { modId: "asc" },
state: { state: "asc" },
};
const SORT_MAP: Record<
string,
Prisma.SupportTicketsOrderByWithRelationInput
> = {
id: { id: "desc" },
issue: { issue: "asc" },
sender: { senderId: "asc" },
reported: { reportedId: "asc" },
mod: { modId: "asc" },
state: { state: "asc" },
};
const baseOrder = SORT_MAP[parsed.sort ?? "id"] ?? { id: "desc" };
const orderField = Object.keys(baseOrder)[0] as keyof typeof baseOrder;