hobokenchicken
|
b3b5ff495d
|
fix: DM message ordering, consolidate input toolbar, add rich text/WYSIWYG, file upload with drag-drop
- Fix DM backend ListMessages to use DESC + reverse (match channel handler)
- Remove spurious .reverse() from frontend message/conversation stores
- Create shared MessageInput component with Slack-style single toolbar row
- Add file upload via + button with progress bar and drag-and-drop
- Add markdown/rich text toggle with full WYSIWYG block formatting
(lists, blockquotes, links, headings, code blocks)
- Add frontend+backend security for file uploads (extension + content-type guards)
|
2026-07-06 17:33:20 +00:00 |
|
hobokenchicken
|
9512dedec1
|
feat(chat): add native emoji pickers for chat input and reactions
|
2026-07-06 13:59:20 +00:00 |
|
hobokenchicken
|
239640975f
|
feat(webrtc): add background blur and virtual background options
|
2026-07-06 13:08:59 +00:00 |
|
hobokenchicken
|
074742ddb4
|
feat(webrtc): render remote audio tracks and allow camera access
|
2026-07-06 12:25:40 +00:00 |
|
hobokenchicken
|
f30ddb1323
|
feat: show git commit SHA as version in footer
TERM v1.0 → TERM v5ca5e01 (or whatever SHA is building).
GIT_SHA is injected via vite define from Makefile.
|
2026-07-02 13:19:43 -04:00 |
|
hobokenchicken
|
30e159cbdb
|
sync: phase 1 backend + frontend from server
|
2026-06-30 09:26:03 -04:00 |
|
hobokenchicken
|
f694301ca7
|
Phase 2 frontend: voice store, VoiceChannel, VoicePanel, VoiceControls
Frontend:
- stores/voice.ts: Zustand store for voice state (join, leave, mute, deafen, video, screen share)
- VoiceChannel.tsx: sidebar item showing 🔊 channel name with participant count
- VoicePanel.tsx: box-drawn frame with participant list and controls
- VoiceControls.tsx: [m] mute, [d] deafen, [cam] video, [share] screen, [x] disconnect
- ChannelList.tsx: integrated VoiceChannel for voice-type channels
- Layout.tsx: added VoicePanel above chat area
Deps:
- Added livekit-client, @livekit/components-react
- NODE_ENV fix for dev deps installation
|
2026-06-28 16:26:19 -04:00 |
|
hobokenchicken
|
8ee0ce657f
|
Phase 2 backend: LiveKit voice integration
Backend:
- internal/voice/client.go: LiveKit token generation, room management, participant listing
- internal/voice/handlers.go: POST /voice/token, GET /voice/rooms/{roomID}/participants
- internal/gateway/events.go: added VOICE_JOIN, VOICE_LEAVE, VOICE_MUTE, VOICE_DEAFEN events
- cmd/server/main.go: wired voice client and routes under /api/v1/voice
- Docker: livekit.yaml config verified
Frontend deps:
- Added livekit-client and @livekit/components-react packages
|
2026-06-28 16:21:16 -04:00 |
|
hobokenchicken
|
e499ce884d
|
Initial scaffold: Go backend, React frontend, Docker Compose
- Go backend: config, db (PostgreSQL migrations), auth (argon2id + sessions),
middleware (cookie sessions, RequireAuth), chi router, cmd/server
- React frontend: Vite + React 18 + TS + Tailwind + Gruvbox palette + terminal CSS
- Docker: compose.yml (Postgres, Valkey, minio, LiveKit, coturn, Caddy),
livekit.yaml, Caddyfile, Dockerfile (multi-stage Go+Node+Alpine)
- .env.example, .gitignore, README.md
|
2026-06-26 14:41:10 -04:00 |
|