Files
IRC-kosmi-relay/docs/ROOM_CODE_IMAGE_STATUS.md

107 lines
2.7 KiB
Markdown
Raw Normal View History

2025-11-01 10:40:53 -04:00
# Room Code Image Upload - Implementation Status
## Phase 1: Research (IN PROGRESS)
### 1.1 Enhanced WebSocket Monitor ✅ COMPLETE
- Added binary WebSocket frame detection
- Added HTTP request/response logging
- Added file chooser event handling
- Added automatic file upload triggering (with manual fallback)
- Logs to both console and `image-upload-capture.log`
### 1.2 Capture Real Upload ⏳ WAITING FOR USER
**Action Required:** Run the monitor and upload an image
```bash
cd /Users/erikfredericks/dev-ai/HSO/irc-kosmi-relay
./monitor-ws
```
Then manually upload `blurt.jpg` in the Kosmi chat interface.
**What We're Looking For:**
1. HTTP endpoint for image upload (POST/PUT request)
2. Request format (multipart/form-data, JSON, binary)
3. Required headers (Authorization, Content-Type, etc.)
4. Response format (JSON with URL?)
5. OR: GraphQL mutation for file upload via WebSocket
### 1.3 Document Findings ⏳ PENDING
Once upload is captured, create `KOSMI_IMAGE_UPLOAD.md` with:
- Upload method (HTTP vs WebSocket)
- Endpoint URL
- Authentication requirements
- Request/response format
- Go implementation strategy
## Phase 2: Image Generation (READY TO IMPLEMENT)
Can proceed independently of Phase 1 research.
### 2.1 Room Code Image Generator
Create `bridge/jackbox/roomcode_image.go`:
- Black background (RGB 0,0,0)
- White monospace text
- 200x100 pixels
- Best-fit font size with padding
- Centered text
- Returns PNG bytes
### 2.2 Configuration
Add to `matterbridge.toml`:
```toml
EnableRoomCodeImage=false
```
## Phase 3: Kosmi Upload Client (BLOCKED)
Waiting for Phase 1.2 findings.
## Phase 4: IRC Formatting (READY TO IMPLEMENT)
Can proceed independently.
### 4.1 IRC Formatting Helper
Create `bridge/irc/formatting.go`:
- `FormatRoomCode(code string) string`
- Returns `"\x02\x11" + code + "\x0F"`
- IRC codes: 0x02=bold, 0x11=monospace, 0x0F=reset
## Phase 5: Integration (BLOCKED)
Waiting for Phases 2, 3, and 4.
## Phase 6: Testing (BLOCKED)
Waiting for Phase 5.
## Current Blockers
1. **Phase 1.2** - Need user to run monitor and capture image upload
2. **Phase 1.3** - Need to analyze captured traffic and document findings
3. **Phase 3** - Need Phase 1 findings to implement upload client
## Can Proceed Now
- Phase 2 (Image Generation) - Independent task
- Phase 4 (IRC Formatting) - Independent task
## Next Steps
**Immediate (User Action):**
1. Run `./monitor-ws`
2. Upload `blurt.jpg` in Kosmi chat
3. Press Ctrl+C when done
4. Share `image-upload-capture.log` contents
**After Capture:**
1. Analyze log file
2. Document upload protocol
3. Implement upload client
4. Continue with integration
**Meanwhile (Can Start Now):**
1. Implement image generation (Phase 2)
2. Implement IRC formatting (Phase 4)