{"repo":"NousResearch/hermes-agent","public_id":"111651","display_label":"Desktop Settings scope switch causes infinite spinner","summary":"A bug where switching the 'Applies to' scope in Desktop Settings triggers profile backend calls with background priority, causing an infinite spinner when background slots are saturated. The fixes reprioritize these backend dials to foreground.","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":113815,"merged_at":"2026-09-17T16:01:59+00:00"},"resolution":{"state":"resolved","by":"pr-113815"},"freshness":{"state":"verified","last_verified_at":"2026-09-17T16:01:59+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.6666666666666666},"fix_edges":[{"issue_number":111651,"pr_number":112216,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-09-16T01:46:09+00:00"},{"issue_number":111651,"pr_number":113815,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-17T16:01:59+00:00"}],"members":[{"kind":"issue","number":111651,"title":"[Bug]: Desktop Settings \"Applies to\" scope switch dials profile backends with background priority — infinite spinner when the pool's background slots are saturated","url":null,"state":"closed"},{"kind":"pr","number":111672,"title":"fix(desktop): prioritize scoped Settings backend dials","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"d30c05bebf","number":0},{"kind":"pr","value":"#112216","number":112216}],"category":"merged_via","implication":"superseded"},"merged":false},{"kind":"pr","number":112216,"title":"fix(desktop): Settings 'Applies to' scope switch dials the profile backend foreground instead of spinning forever (#111651, salvage #111672)","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["apps/desktop/electron/backend-dial-claim.test.ts","apps/desktop/electron/main.ts","apps/desktop/src/api/client.ts","apps/desktop/src/api/config.ts","apps/desktop/src/api/mcp.ts","apps/desktop/src/api/skills.ts","apps/desktop/src/api/toolsets.ts","apps/desktop/src/app/settings/vault-settings.test.tsx","apps/desktop/src/app/settings/vault-settings.tsx","apps/desktop/src/global.d.ts","apps/desktop/src/hermes-capability-scope.test.ts","apps/desktop/src/store/gateway-profile-request.test.ts","apps/desktop/src/store/gateway.ts"]},{"kind":"pr","number":113815,"title":"fix(desktop): every explicitly scoped api/ read dials its profile backend foreground (closes remaining atoms of #111651)","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["apps/desktop/src/api/client.ts","apps/desktop/src/api/config.ts","apps/desktop/src/api/mcp.ts","apps/desktop/src/api/messaging.ts","apps/desktop/src/api/models.ts","apps/desktop/src/api/sessions.test.ts","apps/desktop/src/api/sessions.ts","apps/desktop/src/api/skills.ts","apps/desktop/src/api/toolsets.ts","apps/desktop/src/app/contrib/hooks/use-desktop-integrations.test.tsx","apps/desktop/src/hermes-capability-scope.test.ts","apps/desktop/src/hermes.test.ts"]}],"trust":{"default_tier":"verified","includes_suggested":false}}