/**
 * Logout — invalidate basic_auth cache + reload.
 *
 * Trick: fetch на защищённый endpoint с явно неверным Basic-токеном.
 * Caddy ответит 401 (because creds wrong) → браузер выкинет старые cached
 * creds для этого origin. Затем hard reload — Caddy снова запросит basic_auth
 * prompt, потому что cached creds invalidated.
 *
 * Это работает в Safari/Chrome/Firefox; legacy `ClearAuthenticationCache`
 * не нужен.
 */
export async function logout(): Promise<void> {
  try {
    await fetch("/api/v1/me", {
      headers: {
        Authorization: "Basic " + btoa("logout:logout"),
      },
      cache: "no-store",
    });
  } catch {
    // Сетевая ошибка — всё равно делаем hard reload.
  }
  // Hard reload форсит новый basic_auth handshake.
  window.location.href = "/";
}
