diegosouzapw/OmniRoute · error · Error

detail

Error message

detail

What it means

Error "detail" thrown in diegosouzapw/OmniRoute.

Source

Thrown at src/app/(dashboard)/dashboard/settings/components/RedisLauncherPanel.tsx:32

  detail?: string;
};

async function apiCall(endpoint: string, options: RequestInit = {}) {
  const res = await fetch(`/api/local/redis${endpoint}`, {
    method: options.method || "GET",
    headers: { "Content-Type": "application/json" },
    body: options.body,
    cache: "no-store",
  });
  if (!res.ok) {
    let detail = `HTTP ${res.status}`;
    try {
      const json = await res.json();
      if (json?.error) detail = json.error;
    } catch {
      // ignore
    }
    throw new Error(detail);
  }
  return res.json();
}

/**
 * Compact 1-click Redis control. Sits inside the resilience settings tab and
 * shells out to the same logic exposed via the `omniroute redis` CLI command.
 * The actual container management is delegated to the server-side endpoint
 * at /api/local/redis/* so the browser never executes podman/docker directly.
 */
export default function RedisLauncherPanel() {
  const t = useTranslations("settings");
  const [state, setState] = useState<LaunchState>("idle");
  const [status, setStatus] = useState<Status | null>(null);
  const [error, setError] = useState<string | null>(null);

  async function refresh() {
    setState("checking");

View on GitHub (pinned to a179ffed5b)

When it happens

Trigger: Thrown at src/app/(dashboard)/dashboard/settings/components/RedisLauncherPanel.tsx:32 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/1b4a92b0655c51c2. Report an issue: GitHub.