tonhowtf/omniget · error · Error

tools.ig.export.none_resolved

Error message

tools.ig.export.none_resolved

What it means

Validation error (i18n key) thrown in act() after tool_ig_resolve_users returns an empty resolved list — the selected Instagram users could not be resolved to MiniUser records, so there is nothing to act on.

Solutions

  1. Check that the selected usernames are still valid and publicly accessible
  2. Verify session/authentication state used by tool_ig_resolve_users
  3. Retry the resolve step; rate limiting or transient API errors can produce empty results
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at src/components/tools/instagram/IgExportTool.svelte:68 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of tonhowtf/omniget@8600b91f42 (2026-09-12). Data as JSON: /api/errors/9e36ba0393005af0. Report an issue: GitHub.

Appendix: source

Thrown at src/components/tools/instagram/IgExportTool.svelte:68

    const s = new Set(selected);
    if (s.has(u)) s.delete(u);
    else s.add(u);
    selected = s;
  }

  async function csv() {
    const p = await exportCsv(`instagram-${tab}`, ["username", "since", "url"], list.map((u) => [u.username, fmtDay(u.timestamp), u.href || profileUrl(u.username)]));
    if (p) showToast("success", $t("tools.common.done") as string);
  }

  async function act() {
    if (!pending || busy) return;
    const { action, users } = pending;
    pending = null;
    busy = true;
    try {
      const resolved = await invoke<MiniUser[]>("tool_ig_resolve_users", { slug: slugArg(), usernames: users.map((u) => u.username), job: jobId("resolve") });
      if (!resolved.length) throw new Error($t("tools.ig.export.none_resolved") as string);
      const r = await invoke<ActionReport>("tool_ig_actions", { slug: slugArg(), action, users: resolved, pacing: DEFAULT_PACING, job: jobId(action) });
      showToast("success", `${r.done.length} ${$t("tools.common.done")} · ${$t(`tools.ig.follow.stop_${r.stopped}`)}`);
      selected = new Set();
    } catch (e) {
      showToast("error", errText(e));
    } finally {
      busy = false;
    }
  }

  let actionFor = $derived(tab === "not_following_back" || tab === "pending_sent" ? "unfollow" : tab === "fans" ? "remove_follower" : "");
</script>

<div class="tool">
  <section>
    <div class="group">
      <div class="group-row">
        <div class="group-row-content"><div class="group-row-title">{$t("tools.ig.export.title")}</div><div class="group-row-sub">{$t("tools.ig.export.hint")}</div></div>

View on GitHub (pinned to 8600b91f42)