{"repo":"NousResearch/hermes-agent","public_id":"93732","display_label":"Update checker hang, fetch leak, and polling fixes","summary":"These members address bugs where update checks could hang indefinitely due to stalled fetches, accumulate large numbers of leftover temporary pack files, and poll too frequently; fixes include better error naming, fetch timeout handling, and switching to daily GitHub API polling.","subsystem":null,"counts":{"members":4,"open_issues":0,"open_issues_distinct":0,"open_prs":0,"closed_issues":1,"merged_prs":2,"attempt_prs":1},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":108053,"merged_at":"2026-09-11T09:06:33+00:00"},"resolution":{"state":"unresolved","by":null},"freshness":{"state":"verified","last_verified_at":"2026-09-11T09:06:33+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.5},"fix_edges":[{"issue_number":69906,"pr_number":107648,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-09-11T01:15:55+00:00"},{"issue_number":93732,"pr_number":107648,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-09-11T01:15:55+00:00"},{"issue_number":93732,"pr_number":108053,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-09-11T09:06:33+00:00"},{"issue_number":105666,"pr_number":107648,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-09-11T01:15:55+00:00"},{"issue_number":105855,"pr_number":108053,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-11T09:06:33+00:00"},{"issue_number":105951,"pr_number":108053,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-11T09:06:33+00:00"}],"members":[{"kind":"issue","number":93732,"title":"[Bug]: update check can hang permanently after repeated fetch timeouts corrupt .git — aborted fetches leave hundreds of tmp_pack files (6 GB) that nothing cleans up","url":null,"state":"closed"},{"kind":"pr","number":93759,"title":"fix(updater): stop update checks hanging and leaking fetch packs","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"9ce7547faf","number":0},{"kind":"pr","value":"#108053","number":108053},{"kind":"pr","value":"#107648","number":107648}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false},{"kind":"pr","number":107648,"title":"fix: update checks poll the GitHub API once a day instead of git-fetching every 30 min","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["apps/desktop/electron/main.ts","apps/desktop/electron/preload.ts","apps/desktop/electron/update-api-check.test.ts","apps/desktop/electron/update-api-check.ts","apps/desktop/electron/update-count.test.ts","apps/desktop/electron/update-count.ts","apps/desktop/src/app/settings/about-settings.tsx","apps/desktop/src/app/updates-overlay.tsx","apps/desktop/src/global.d.ts","apps/desktop/src/store/updates.test.ts","apps/desktop/src/store/updates.ts","hermes_cli/banner.py","hermes_cli/web_routers/actions.py","tests/hermes_cli/test_banner_git_state.py","tests/hermes_cli/test_passive_update_opt_out.py","tests/hermes_cli/test_update_behind_count_recovery.py","tests/hermes_cli/test_update_check.py","website/docs/user-guide/configuration.md","website/docs/user-guide/features/web-dashboard.md"]},{"kind":"pr","number":108053,"title":"fix: update errors name the real cause; hermes update can't hang on a stalled fetch; shallow grafts pruned","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["apps/desktop/electron/main.ts","apps/desktop/src/app/settings/about-settings.tsx","apps/desktop/src/app/updates-overlay.tsx","hermes_cli/gitlock.py","hermes_cli/update_cmd.py","tests/hermes_cli/test_shallow_graft_prune.py","tests/hermes_cli/test_update_fetch_timeout.py"]}],"trust":{"default_tier":"verified","includes_suggested":false}}