research UI: fix 3 lint errors — async wrapper + escape apostrophe
ci / gates (push) Successful in 7s
ci / frontend (push) Failing after 19s
ci / rust (push) Successful in 3m46s
ci / e2e (push) Has been skipped
ci / publish (push) Has been skipped

Push right after ec1ddc6 tripped three eslint errors on the same-commit
lint pass. All three are cosmetic in behavior:

- ResearchList.tsx:48 + ResearchCanvas.tsx:64 — setState was called
  synchronously at the top of a useEffect. Wrap the body in an inner
  async load() and call setState inside it; effect still returns the
  cleanup for the alive-flag guard.
- ResearchWizard.tsx:207 — bare apostrophe in JSX text ("workspace's").
  Replace with ' to satisfy react/no-unescaped-entities.
This commit is contained in:
Omar Sobh
2026-07-06 07:03:11 -07:00
parent ec1ddc634d
commit 1466f8aadc
3 changed files with 20 additions and 18 deletions
@@ -65,18 +65,19 @@ export function ResearchCanvas({
return;
}
let alive = true;
setLoading(true);
setError(null);
getTopic(selectedId)
.then((d) => {
const load = async () => {
setLoading(true);
setError(null);
try {
const d = await getTopic(selectedId);
if (alive) setTopic(d);
})
.catch((e) => {
} catch (e) {
if (alive) setError(e instanceof Error ? e.message : "load failed");
})
.finally(() => {
} finally {
if (alive) setLoading(false);
});
}
};
load();
return () => {
alive = false;
};