{"record":{"id":"9e36ba0393005af0","repo":"tonhowtf/omniget","slug":"tools-ig-export-none-resolved","errorCode":null,"errorMessage":"tools.ig.export.none_resolved","messagePattern":"tools\\.ig\\.export\\.none_resolved","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"src/components/tools/instagram/IgExportTool.svelte","lineNumber":68,"sourceCode":"    const s = new Set(selected);\n    if (s.has(u)) s.delete(u);\n    else s.add(u);\n    selected = s;\n  }\n\n  async function csv() {\n    const p = await exportCsv(`instagram-${tab}`, [\"username\", \"since\", \"url\"], list.map((u) => [u.username, fmtDay(u.timestamp), u.href || profileUrl(u.username)]));\n    if (p) showToast(\"success\", $t(\"tools.common.done\") as string);\n  }\n\n  async function act() {\n    if (!pending || busy) return;\n    const { action, users } = pending;\n    pending = null;\n    busy = true;\n    try {\n      const resolved = await invoke<MiniUser[]>(\"tool_ig_resolve_users\", { slug: slugArg(), usernames: users.map((u) => u.username), job: jobId(\"resolve\") });\n      if (!resolved.length) throw new Error($t(\"tools.ig.export.none_resolved\") as string);\n      const r = await invoke<ActionReport>(\"tool_ig_actions\", { slug: slugArg(), action, users: resolved, pacing: DEFAULT_PACING, job: jobId(action) });\n      showToast(\"success\", `${r.done.length} ${$t(\"tools.common.done\")} · ${$t(`tools.ig.follow.stop_${r.stopped}`)}`);\n      selected = new Set();\n    } catch (e) {\n      showToast(\"error\", errText(e));\n    } finally {\n      busy = false;\n    }\n  }\n\n  let actionFor = $derived(tab === \"not_following_back\" || tab === \"pending_sent\" ? \"unfollow\" : tab === \"fans\" ? \"remove_follower\" : \"\");\n</script>\n\n<div class=\"tool\">\n  <section>\n    <div class=\"group\">\n      <div class=\"group-row\">\n        <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>","sourceCodeStart":50,"sourceCodeEnd":86,"githubUrl":"https://github.com/tonhowtf/omniget/blob/8600b91f4246848bac346874daa9e61c1fc5677a/src/components/tools/instagram/IgExportTool.svelte#L50-L86","documentation":"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.","triggerScenarios":"Thrown at src/components/tools/instagram/IgExportTool.svelte:68 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Check that the selected usernames are still valid and publicly accessible","Verify session/authentication state used by tool_ig_resolve_users","Retry the resolve step; rate limiting or transient API errors can produce empty results"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"8600b91f4246848bac346874daa9e61c1fc5677a","analyzedAt":"2026-09-12T14:29:19.317Z","contentChangedAt":"2026-09-12T14:29:19.317Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}