···11+import { Client } from "@upstash/qstash";
12import { Hono } from "hono";
23import { z } from "zod";
33-import { Client } from "@upstash/qstash";
4455import { and, db, eq, isNull, schema } from "@openstatus/db";
66import { incidentTable } from "@openstatus/db/src/schema";
···5959 and(
6060 eq(incidentTable.monitorId, Number(monitorId)),
6161 isNull(incidentTable.resolvedAt),
6262- isNull(incidentTable.acknowledgedAt)
6363- )
6262+ isNull(incidentTable.acknowledgedAt),
6363+ ),
6464 )
6565 .get();
6666···100100 const numberOfRegions = monitor.regions.length;
101101102102 console.log(
103103- `🤓 MonitorID ${monitorId} incident current affected ${nbAffectedRegion} total region ${numberOfRegions}`
103103+ `🤓 MonitorID ${monitorId} incident current affected ${nbAffectedRegion} total region ${numberOfRegions}`,
104104 );
105105 // If the number of affected regions is greater than half of the total region, we trigger the alerting
106106 // 4 of 6 monitor need to fail to trigger an alerting
···114114 eq(incidentTable.monitorId, Number(monitorId)),
115115 isNull(incidentTable.resolvedAt),
116116 isNull(incidentTable.acknowledgedAt),
117117- eq(incidentTable.startedAt, new Date(cronTimestamp))
118118- )
117117+ eq(incidentTable.startedAt, new Date(cronTimestamp)),
118118+ ),
119119 )
120120 .get();
121121···192192 const numberOfRegions = monitor.regions.length;
193193194194 console.log(
195195- `🤓 MonitorId ${monitorId} recovering incident current ${nbAffectedRegion} total region ${numberOfRegions}`
195195+ `🤓 MonitorId ${monitorId} recovering incident current ${nbAffectedRegion} total region ${numberOfRegions}`,
196196 );
197197 // // If the number of affected regions is greater than half of the total region, we trigger the alerting
198198 // // 4 of 6 monitor need to fail to trigger an alerting
···204204 and(
205205 eq(incidentTable.monitorId, Number(monitorId)),
206206 isNull(incidentTable.resolvedAt),
207207- isNull(incidentTable.acknowledgedAt)
208208- )
207207+ isNull(incidentTable.acknowledgedAt),
208208+ ),
209209 )
210210 .get();
211211 if (incident) {
+1-1
apps/server/src/index.ts
···5566import { checkerRoute } from "./checker";
77import { env } from "./env";
88+import { handleError } from "./libs/errors";
89import { publicRoute } from "./public";
910import { api } from "./v1";
1010-import { handleError } from "./libs/errors";
11111212const app = new Hono({ strict: false });
1313app.use("*", sentry({ dsn: process.env.SENTRY_DSN }));
···11import * as React from "react";
2233-import { PathCard } from "./_components/path-card";
43import { api } from "@/trpc/server";
55-import { SessionTable } from "./_components/session-table";
64import { z } from "zod";
55+import { PathCard } from "./_components/path-card";
66+import { SessionTable } from "./_components/session-table";
7788const searchParamsSchema = z.object({
99 path: z.string(),
···11"use client";
2233+import { Info } from "lucide-react";
34import Link from "next/link";
45import { useParams } from "next/navigation";
55-import { Info } from "lucide-react";
6677import { Alert, AlertDescription, AlertTitle } from "@openstatus/ui";
88···1616 To inform your team about the workspace name, please set it in the{" "}
1717 <Link
1818 href={`/app/${params.workspaceSlug}/settings/general`}
1919- className="text-foreground inline-flex items-center font-medium underline underline-offset-4 hover:no-underline"
1919+ className="inline-flex items-center font-medium text-foreground underline underline-offset-4 hover:no-underline"
2020 >
2121 general
2222 </Link>{" "}
···8484 // REMINDER: if one value is found, return true
8585 // we could consider restricting it to all the values have to be found
8686 return value.some((item) =>
8787- row.original.tags?.some((tag) => tag.name === item)
8787+ row.original.tags?.some((tag) => tag.name === item),
8888 );
8989 },
9090 },
···11-import { isSameDay, format } from "date-fns";
11+import { format, isSameDay } from "date-fns";
22import { Hammer } from "lucide-react";
3344import type { Maintenance } from "@openstatus/db/src/schema";
···1313import { Badge, Button } from "@openstatus/ui";
14141515import { setPrefixUrl } from "@/app/status-page/[domain]/utils";
1616+import { cn } from "@/lib/utils";
1617import { StatusBadge } from "../status-update/status-badge";
1718import { ProcessMessage } from "./process-message";
1818-import { cn } from "@/lib/utils";
19192020function StatusReport({
2121 report,
+2-2
apps/web/src/components/support/bubble.tsx
···11"use client";
2233-import { useState } from "react";
43import { MessageCircle } from "lucide-react";
44+import { useState } from "react";
5566import {
77 Button,
···1010 PopoverTrigger,
1111} from "@openstatus/ui";
12121313-import { ContactForm } from "./contact-form";
1413import { useSession } from "next-auth/react";
1414+import { ContactForm } from "./contact-form";
15151616export function Bubble() {
1717 const [open, setOpen] = useState(false);
+3-3
apps/web/src/components/support/contact-form.tsx
···11"use client";
2233-import { useTransition } from "react";
43import { zodResolver } from "@hookform/resolvers/zod";
44+import { useTransition } from "react";
55import { useForm } from "react-hook-form";
66import { z } from "zod";
77···2323 Textarea,
2424} from "@openstatus/ui";
25252626+import { toast } from "@/lib/toast";
2627import { LoadingAnimation } from "../loading-animation";
2728import { handlePlainSupport } from "./action";
2828-import { toast } from "@/lib/toast";
29293030export const types = [
3131 {
···8484 } else {
8585 handleSubmit?.();
8686 toast.success(
8787- "Your message has been sent! We will get back to you soon."
8787+ "Your message has been sent! We will get back to you soon.",
8888 );
8989 }
9090 });
···4040}
41414242export function notEmpty<TValue>(
4343- value: TValue | null | undefined
4343+ value: TValue | null | undefined,
4444): value is TValue {
4545 return value !== null && value !== undefined;
4646}
···6969 date?: {
7070 from: Date | undefined;
7171 to?: Date | undefined;
7272- } | null
7272+ } | null,
7373) {
7474 const isToDateMidnight = String(date?.to?.getTime()).endsWith("00000");
7575
+2-2
apps/web/src/providers/posthog.tsx
···11"use client";
2233-import { useEffect } from "react";
33+import type { User } from "next-auth";
44import { usePathname, useSearchParams } from "next/navigation";
55-import type { User } from "next-auth";
65import type { CaptureOptions, Properties } from "posthog-js";
76import posthog from "posthog-js";
87import { PostHogProvider } from "posthog-js/react";
88+import { useEffect } from "react";
991010import { env } from "@/env";
1111