From 32da679e02f8abfa4da1895f20f6fce087d25da0 Mon Sep 17 00:00:00 2001 From: Mike Degatano Date: Mon, 11 Sep 2023 10:42:31 -0400 Subject: [PATCH] Ingress does not break when username missing (#4551) --- supervisor/api/ingress.py | 6 ++++-- supervisor/const.py | 4 ++-- supervisor/homeassistant/module.py | 4 +++- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/supervisor/api/ingress.py b/supervisor/api/ingress.py index dba6b3623..7865ca7bf 100644 --- a/supervisor/api/ingress.py +++ b/supervisor/api/ingress.py @@ -282,8 +282,10 @@ def _init_header( if session_data is not None: headers[HEADER_REMOTE_USER_ID] = session_data.user.id - headers[HEADER_REMOTE_USER_NAME] = session_data.user.username - headers[HEADER_REMOTE_USER_DISPLAY_NAME] = session_data.user.display_name + if session_data.user.username is not None: + headers[HEADER_REMOTE_USER_NAME] = session_data.user.username + if session_data.user.display_name is not None: + headers[HEADER_REMOTE_USER_DISPLAY_NAME] = session_data.user.display_name # filter flags for name, value in request.headers.items(): diff --git a/supervisor/const.py b/supervisor/const.py index a69b18c1e..da1109739 100644 --- a/supervisor/const.py +++ b/supervisor/const.py @@ -476,8 +476,8 @@ class IngressSessionDataUser: """Format of an IngressSessionDataUser object.""" id: str - display_name: str - username: str + display_name: str | None = None + username: str | None = None @dataclass diff --git a/supervisor/homeassistant/module.py b/supervisor/homeassistant/module.py index df9bcd4e9..280f00c31 100644 --- a/supervisor/homeassistant/module.py +++ b/supervisor/homeassistant/module.py @@ -457,7 +457,9 @@ class HomeAssistant(FileConfiguration, CoreSysAttributes): return [ IngressSessionDataUser( - id=data["id"], username=data["username"], display_name=data["name"] + id=data["id"], + username=data.get("username"), + display_name=data.get("name"), ) for data in list_of_users ]