diegosouzapw/OmniRoute · error · Error

HTTP ${res.status}

Error message

HTTP ${res.status}

What it means

Error "HTTP ${res.status}" thrown in diegosouzapw/OmniRoute.

Source

Thrown at src/app/(dashboard)/dashboard/providers/services/components/ServiceLifecycleButtons.tsx:38

  const running = data?.state === "running";
  const starting = data?.state === "starting";
  const notInstalled = !data?.installedVersion;
  const busy = pending !== null || starting;

  async function action(verb: Action) {
    setPending(verb);
    setError(null);
    try {
      const res = await fetch(`/api/services/${name}/${verb}`, {
        method: "POST",
        headers: { "Content-Type": "application/json" },
        body: JSON.stringify({}),
      });
      if (!res.ok) {
        const payload = (await res.json().catch(() => null)) as {
          error?: { message?: string };
        } | null;
        throw new Error(payload?.error?.message || `HTTP ${res.status}`);
      }
      mutate();
    } catch (err) {
      setError(err instanceof Error ? err.message : String(err));
    } finally {
      setPending(null);
    }
  }

  if (notInstalled) {
    return <LifecycleButtonGroup error={error} />;
  }

  return (
    <div className="space-y-2">
      <div className="flex flex-wrap gap-2">
        <Button size="sm" disabled={busy || running} onClick={() => action("start")}>
          {pending === "start" ? t("starting") : t("start")}

View on GitHub (pinned to a179ffed5b)

When it happens

Trigger: Thrown at src/app/(dashboard)/dashboard/providers/services/components/ServiceLifecycleButtons.tsx:38 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of diegosouzapw/OmniRoute@a179ffed5b (2026-08-25). Data as JSON: /api/errors/3faf4ba0299a49f7. Report an issue: GitHub.