{"repo":"NousResearch/hermes-agent","public_id":"105465","display_label":"Desktop UI language resets to English after update relaunch","summary":"A bug where the desktop UI language reverts to English after an update relaunch, despite the locale setting persisting in config.yaml. Several fixes attempt to address a startup race condition by retrying the locale config read after relaunch.","subsystem":"apps/desktop","counts":{"members":5,"open_issues":0,"open_issues_distinct":0,"open_prs":0,"closed_issues":1,"merged_prs":1,"attempt_prs":3},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":106476},"resolution":{"state":"resolved","by":"pr-106476"},"freshness":{"state":"verified","last_verified_at":"2026-09-09T10:52:04+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.4},"fix_edges":[{"issue_number":26665,"pr_number":106476,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true},{"issue_number":105465,"pr_number":106476,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true}],"members":[{"kind":"issue","number":105465,"title":"Desktop UI language resets to English after every `hermes update` relaunch even though `display.language` stays persisted in config.yaml","url":null,"state":"closed"},{"kind":"pr","number":76158,"title":"fix(desktop): retry i18n locale load after backend startup race","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"140eaf9e036","number":0},{"kind":"commit","value":"5353fc9b32e","number":0},{"kind":"pr","value":"#106476","number":106476},{"kind":"pr","value":"#105470","number":105470},{"kind":"pr","value":"#105465","number":105465},{"kind":"pr","value":"#26665","number":26665}],"category":"merged_via","implication":"superseded"},"merged":false},{"kind":"pr","number":105470,"title":"fix(desktop): retry startup locale config read after update relaunch","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"c2524736d13","number":0},{"kind":"pr","value":"#106476","number":106476},{"kind":"pr","value":"#76158","number":76158}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false},{"kind":"pr","number":105474,"title":"fix(desktop): retry the i18n startup config fetch after update relaunches","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"140eaf9e036","number":0},{"kind":"pr","value":"#106476","number":106476},{"kind":"pr","value":"#76158","number":76158},{"kind":"pr","value":"#105470","number":105470},{"kind":"pr","value":"#105470","number":105470},{"kind":"pr","value":"#76158","number":76158}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false},{"kind":"pr","number":106476,"title":"fix(desktop): UI language survives the update relaunch — startup locale read retries (#105465, #26665, salvage #76158 + #105470)","url":null,"state":"merged","close_reason":{"category":"merged","implication":"superseded"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["apps/desktop/src/i18n/context.test.tsx","apps/desktop/src/i18n/context.tsx","contributors/emails/[redacted:email]"]}],"trust":{"default_tier":"verified","includes_suggested":false}}