{"repo":"NousResearch/hermes-agent","public_id":"53066","display_label":"Plugin static assets blocked by OAuth auth gate","summary":"A bug where plugin static asset paths (such as index.js and style.css) are incorrectly intercepted by the OAuth authentication gate, returning 401 errors. The related items address exempting dashboard plugin asset routes from auth requirements.","subsystem":"dashboard","counts":{"members":4,"open_issues":0,"open_issues_distinct":0,"open_prs":0,"closed_issues":1,"merged_prs":1,"attempt_prs":2},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":133863,"merged_at":"2026-10-06T15:14:35+00:00"},"resolution":{"state":"resolved","by":"pr-133863"},"freshness":{"state":"verified","last_verified_at":"2026-10-06T15:14:35+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.5},"fix_edges":[{"issue_number":53066,"pr_number":133863,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-10-06T15:14:35+00:00"}],"members":[{"kind":"issue","number":53066,"title":"[Bug] v0.17.0: Plugin static assets (index.js/style.css) return 401 behind OAuth gate — plugin did not call register()","url":null,"state":"closed"},{"kind":"pr","number":53074,"title":"fix: exempt /dashboard-plugins/ from OAuth auth gate (#53066)","url":null,"state":"closed","close_reason":{"category":"merged_via","implication":"superseded"},"merged":false},{"kind":"pr","number":55349,"title":"fix(dashboard-auth): allow plugin asset paths through auth gate","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#53066","number":53066}],"category":"superseded_by_pr","implication":"superseded"},"merged":false},{"kind":"pr","number":133863,"title":"fix(dashboard-auth): serve plugin assets through the OAuth gate","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["hermes_cli/dashboard_auth/middleware.py","tests/hermes_cli/test_dashboard_auth_middleware.py"]}],"trust":{"default_tier":"verified","includes_suggested":false}}