gabriel / musehub public
fix BREAKING dev
AI Agent gabriel · 145 days ago · Apr 30, 2026 · Diff

fix: algo-in-path avatar URL scheme — /avatars/sha256/{hex}.svg

Matches object store convention (no colons in URLs/filenames). - Route: GET /avatars/{algo}/{hex}.svg - algo validated against supported set (sha256); hex validated as 64 hex chars - canonical identity_id reconstructed as algo:hex for DB lookup (fixes 404) - template: sha256:hex → sha256/hex via Jinja replace(':', '/') - tests: updated all HTTP tests to new URL scheme, added unknown-algo 400 test

sha256:a21b52bc631408a7c426a9de87c97baf5966dd712e91396178b4aa176be265c5 sha
+5 ~7 −3 symbols
sha256:df5e21b2a9dad7d78dad224d776d8f122a14a2cf190a21e3c831c948d3b62e23 snapshot
+5
symbols added
~7
symbols modified
−3
symbols removed
0
dead code introduced
Semantic Changes 15 symbols
~ musehub/api/routes/musehub/ui_avatars.py .py 2 symbols added, 2 symbols removed, 2 symbols modified
_HEX64_RE variable variable _HEX64_RE L23–23
AsyncSession import import AsyncSession L15–15
+ _HEX_RE variable variable _HEX_RE L26–28
+ _SUPPORTED_ALGOS variable variable _SUPPORTED_ALGOS L25–25
~ tests/test_spectral_sigil.py .py 3 symbols added, 1 symbol removed, 5 symbols modified
test_avatar_route_returns_400_for_invalid_id function async_function test_avatar_route_returns_400_for_invalid_id L378–385
+ _SHA256_URL variable variable _SHA256_URL L308–308
+ test_avatar_route_returns_400_for_invalid_hex function async_function test_avatar_route_returns_400_for_invalid_hex L380–387
+ test_avatar_route_returns_400_for_unknown_algo function async_function test_avatar_route_returns_400_for_unknown_algo L391–398
← Older Oldest on dev
All commits
Newer → Latest on dev

0 comments

No comments yet. Be the first to start the discussion.

To add a comment, use the Muse CLI: muse hub commit comment sha256:a21b52bc631408a7c426a9de87c97baf5966dd712e91396178b4aa176be265c5 --body "your comment"