Gnome toolbar for Tangled code review.

fix(helper): a failed list or comment lookup keeps the last answer #41

Merged permadeath.com
targeting main from azurite-frogmouth.test.pds.did.bot/gnome-shell-extension-tangled-reviewer:claude/failed-lookups-keep-the-list
Merged opened by and assigned to permadeath.com
targeting main from azurite-frogmouth.test.pds.did.bot/gnome-shell-extension-tangled-reviewer:claude/failed-lookups-keep-the-list

Fixes #35.

A failed PR-list, repo-list, collaborator-list or comment lookup is no longer read as an answer. The last answer stands in, however old: Client.keptList now falls back like latestPatch does, and a comment lookup falls back to the PR's newest entry in the activity cache (PRs with no comments are cached now too). The snapshot's existing error says what couldn't be read, and clears on the next refresh that reads it; --once prints it too. With nothing to fall back on (a list never read before, as on the first refresh after start), that repo's PRs, or that PR, are left out. This adds no requests while lookups succeed; when one fails, the warning names the repo through repoInfo, which is usually cached.

New engine state: Tracked gains unread (what the last refresh couldn't read, with nothing kept), and Computed gains warning. No protocol message, setting or snapshot field is added. The engine uses unread so that PRs a failed lookup hid aren't "new" when they show up: PRs on a repo whose list couldn't be read, PRs on repos missing because a repo or collaborator list couldn't be read, and PRs whose comments couldn't be read keep the known status they had. tests/driver/failed-lookups.test.js runs the real helper against a mock that answers 502 for two repos' listPulls (one kept, one never read) and for one listComments. The list stays the same, the header warns while the lookups fail, and nothing is "new" after they recover, except a PR that really is new. The retried 502s add about 18 s to the test run.

The menu header while a PR list can't be read

🤖 Generated with Claude Code

Commits 0