{"repo":"NousResearch/hermes-agent","public_id":"94733","display_label":"Dashboard auth: reverse proxies, PKCE cookies, native callbacks","summary":"The members all concern dashboard authentication, covering trust of configured reverse proxies, URL-encoding the PKCE cookie value for strict proxy hops, and allowing configured native app callbacks (including private-use schemes for iOS). They share a broad area but span a few adjacent themes rather than one single problem.","subsystem":"dashboard","counts":{"members":4,"open_issues":1,"open_issues_distinct":1,"open_prs":0,"closed_issues":0,"merged_prs":2,"attempt_prs":1},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":99176,"merged_at":"2026-08-31T05:57:21+00:00"},"resolution":{"state":"unresolved","by":null},"freshness":{"state":"verified","last_verified_at":"2026-08-31T05:57:21+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.5},"fix_edges":[{"issue_number":83832,"pr_number":99176,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-08-31T05:57:21+00:00"},{"issue_number":92145,"pr_number":94126,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-08-27T17:35:23+00:00"},{"issue_number":94733,"pr_number":94126,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-08-27T17:35:23+00:00"},{"issue_number":94733,"pr_number":99176,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-08-31T05:57:21+00:00"}],"members":[{"kind":"issue","number":94733,"title":"Dashboard native auth: allow configured private-use callbacks for iOS","url":null,"state":"open"},{"kind":"pr","number":94126,"title":"fix(dashboard): trust configured reverse proxies","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["cli-config.yaml.example","hermes_cli/config_defaults.py","hermes_cli/web_server.py","pyproject.toml","tests/hermes_cli/test_dashboard_auth_gate.py","website/docs/user-guide/configuration.md","website/docs/user-guide/docker.md","website/docs/user-guide/features/web-dashboard.md"]},{"kind":"pr","number":94771,"title":"dashboard auth: allow exact configured native app callbacks","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"1f99a4b2f2","number":0},{"kind":"pr","value":"#99176","number":99176},{"kind":"pr","value":"#94126","number":94126}],"category":"superseded_by_pr","implication":"superseded"},"merged":false},{"kind":"pr","number":99176,"title":"fix(dashboard-auth): url-encode the PKCE cookie value so strict proxy hops stop dropping it","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["hermes_cli/dashboard_auth/cookies.py","hermes_cli/dashboard_auth/routes.py","tests/hermes_cli/test_dashboard_auth_cookies.py","tests/hermes_cli/test_dashboard_auth_native_flow.py"]}],"trust":{"default_tier":"verified","includes_suggested":false}}