Implementation complete. PR created: https://github.com/RoM4iK/alpha/pull/45
## Changes Summary
### Backend
- Added `has_many_attached :files` to ChatMessage model
- Added file validation constants (MAX_FILES=10, MAX_FILE_SIZE=500MB, blocked extensions)
- Updated `to_nats_payload` to include attachments array with full metadata
- Extended `Chats::SendMessageService` to handle file uploads with validation
- Updated `ChatMessagesController` to accept multipart form data
### Frontend
- Added attachment button (paperclip icon) to ChatRoom.jsx
- Implemented drag-and-drop file upload with visual feedback
- Added file preview area with remove capability
- Updated Message component to display inline image thumbnails and file download links
- Modified chat_service.js to use FormData when files are present
### Tests
- All 22 tests pass
- Added comprehensive coverage for file attachments in model and service specs