Skip to content

Commit 1c5c4ea

Browse files
jope-bmclaude
andcommitted
fix: Add permalink normalization to project lookups in deps.py
Fixes #347 - Add generate_permalink() call in get_project_config() before database lookup - Add generate_permalink() call in get_project_id() before database lookup - Ensures project names with spaces/special chars are properly normalized - Prevents 404 errors for projects with non-normalized names 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> Signed-off-by: Joe P <joe@basicmemory.com>
1 parent be352ab commit 1c5c4ea

1 file changed

Lines changed: 8 additions & 3 deletions

File tree

src/basic_memory/deps.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,11 @@ async def get_project_config(
6161
Raises:
6262
HTTPException: If project is not found
6363
"""
64+
from basic_memory.utils import generate_permalink
6465

65-
project_obj = await project_repository.get_by_permalink(str(project))
66+
# Convert project name to permalink for lookup
67+
project_permalink = generate_permalink(str(project))
68+
project_obj = await project_repository.get_by_permalink(project_permalink)
6669
if project_obj:
6770
return ProjectConfig(name=project_obj.name, home=pathlib.Path(project_obj.path))
6871

@@ -147,9 +150,11 @@ async def get_project_id(
147150
Raises:
148151
HTTPException: If project is not found
149152
"""
153+
from basic_memory.utils import generate_permalink
150154

151-
# Try by permalink first (most common case with URL paths)
152-
project_obj = await project_repository.get_by_permalink(str(project))
155+
# Convert project name to permalink for lookup
156+
project_permalink = generate_permalink(str(project))
157+
project_obj = await project_repository.get_by_permalink(project_permalink)
153158
if project_obj:
154159
return project_obj.id
155160

0 commit comments

Comments
 (0)