fix: guard display_name.split() against whitespace-only IndexError (recurseml feedback)

This commit is contained in:
Anish Sarkar 2026-04-10 15:29:56 +05:30
parent 27cd032d28
commit 0925f89b7c
3 changed files with 10 additions and 4 deletions

View file

@ -131,7 +131,9 @@ async def extract_and_save_memory(
old_memory = user.memory_md
first_name = (
user.display_name.split()[0] if user.display_name else "The user"
user.display_name.strip().split()[0]
if user.display_name and user.display_name.strip()
else "The user"
)
prompt = _MEMORY_EXTRACT_PROMPT.format(
current_memory=old_memory or "(empty)",

View file

@ -76,8 +76,8 @@ class MemoryInjectionMiddleware(AgentMiddleware): # type: ignore[type-arg]
)
elif self.user_id is not None:
user_memory, display_name = await self._load_user_memory(session)
if display_name:
first_name = display_name.split()[0]
if display_name and display_name.strip():
first_name = display_name.strip().split()[0]
memory_blocks.append(f"<user_name>{first_name}</user_name>")
if user_memory:
chars = len(user_memory)

View file

@ -107,7 +107,11 @@ async def edit_user_memory(
await session.refresh(user, ["memory_md", "display_name"])
current_memory = user.memory_md or ""
first_name = user.display_name.split()[0] if user.display_name else "The user"
first_name = (
user.display_name.strip().split()[0]
if user.display_name and user.display_name.strip()
else "The user"
)
prompt = _MEMORY_EDIT_PROMPT.format(
current_memory=current_memory or "(empty)",