diegosouzapw/OmniRoute · error · Error

leaderboardLoadFailed

Error message

leaderboardLoadFailed

What it means

Error "leaderboardLoadFailed" thrown in diegosouzapw/OmniRoute.

Source

Thrown at src/app/(dashboard)/dashboard/leaderboard/page.tsx:44

const MEDAL_EMOJI = ["🥇", "🥈", "🥉"];

export default function LeaderboardPage() {
  const t = useTranslations("common");
  const tg = useTranslations("gamification");
  const locale = useLocale();
  const [scope, setScope] = useState<LeaderboardScope>("global");
  const [entries, setEntries] = useState<LeaderboardEntry[]>([]);
  const [myRank, setMyRank] = useState<number | null>(null);
  const [loading, setLoading] = useState(true);
  const [error, setError] = useState("");
  const eventSourceRef = useRef<EventSource | null>(null);

  const fetchLeaderboard = useCallback(
    async (s: LeaderboardScope) => {
      try {
        const res = await fetch(`/api/gamification/leaderboard?scope=${s}&limit=50`);
        if (!res.ok) throw new Error(tg("leaderboardLoadFailed", { status: res.status }));
        const data = await res.json();
        setEntries(data.entries || []);
        setMyRank(data.myRank ?? null);
      } catch (err) {
        setError(err instanceof Error ? err.message : tg("leaderboardLoadFailed"));
      } finally {
        setLoading(false);
      }
    },
    [tg]
  );

  useEffect(() => {
    const loadTimer = window.setTimeout(() => {
      void fetchLeaderboard(scope);
    }, 0);

    // SSE real-time updates

View on GitHub (pinned to a179ffed5b)

When it happens

Trigger: Thrown at src/app/(dashboard)/dashboard/leaderboard/page.tsx:44 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/d2c39188e14ea667. Report an issue: GitHub.