• Steven's avatar
    refactor: migrate binary file serving from gRPC to dedicated HTTP fileserver · 1cf04770
    Steven authored
    Migrates attachment and avatar binary serving from gRPC endpoints to a new dedicated HTTP fileserver package, fixing Safari video playback issues and improving architectural separation.
    
    Key changes:
    - Created server/router/fileserver package for all binary file serving
    - Removed GetAttachmentBinary and GetUserAvatar gRPC endpoints from proto
    - Implemented native HTTP handlers with full range request support
    - Added authentication support (session cookies + JWT) to fileserver
    - New avatar endpoint supports lookup by user ID or username
    - Eliminated duplicate auth constants (imports from api/v1)
    
    HTTP endpoints:
    - Attachments: /file/attachments/:uid/:filename (unchanged URL)
    - Avatars: /file/users/:identifier/avatar (new URL format)
    
    This fixes Safari video/audio playback by using http.ServeContent() which properly handles HTTP 206 Partial Content responses and range request headers.
    
    🤖 Generated with [Claude Code](https://claude.com/claude-code)
    Co-Authored-By: 's avatarClaude Sonnet 4.5 <noreply@anthropic.com>
    1cf04770
Name
Last commit
Last update
.github Loading commit data...
cmd/memos Loading commit data...
internal Loading commit data...
plugin Loading commit data...
proto Loading commit data...
scripts Loading commit data...
server Loading commit data...
store Loading commit data...
web Loading commit data...
.dockerignore Loading commit data...
.gitignore Loading commit data...
.golangci.yaml Loading commit data...
CLAUDE.md Loading commit data...
CODEOWNERS Loading commit data...
LICENSE Loading commit data...
README.md Loading commit data...
SECURITY.md Loading commit data...
go.mod Loading commit data...
go.sum Loading commit data...