veza/docs/SMOKE_TEST_V0502.md
senke 40883aebea docs(v0.502): Sprint 6 -- finalization, docs, and tag
- Update PROJECT_STATE.md: v0.502 delivered, next version v0.503
- Update CHANGELOG.md: comprehensive v0.502 entry (Added/Changed/Removed/Infrastructure)
- Create SMOKE_TEST_V0502.md: validation checklist for chat rewrite
- Create RETROSPECTIVE_V0502.md: retrospective with metrics and action items
- Archive V0_502_RELEASE_SCOPE.md to docs/archive/
- Create V0_503_RELEASE_SCOPE.md placeholder
- Update SCOPE_CONTROL.md and .cursorrules to reference v0.503
2026-02-22 20:51:55 +01:00

1.7 KiB

Smoke Test — v0.502 Chat Server Rewrite

Pre-requisites

  • go build ./... passes in veza-backend-api
  • go test ./internal/websocket/chat/... -v passes (15 tests)
  • Frontend builds without new errors (npx tsc --noEmit)

Backend Chat WebSocket

  • Backend starts without errors (go run ./cmd/server)
  • POST /api/v1/chat/token returns {token, ws_url: "/api/v1/ws", expires_in}
  • WebSocket connects at ws://localhost:8080/api/v1/ws?token=<jwt>
  • Receives {"type":"ActionConfirmed","action":"connected","success":true} on connect
  • Sending {"type":"Ping"} returns {"type":"Pong"}
  • Missing/invalid token returns 401

Message Flow

  • JoinConversation -> ActionConfirmed
  • SendMessage -> ActionConfirmed + NewMessage broadcast
  • EditMessage -> ActionConfirmed + MessageEdited broadcast
  • DeleteMessage -> ActionConfirmed + MessageDeleted broadcast
  • FetchHistory -> HistoryChunk with messages array

Real-time Features

  • Typing -> UserTyping broadcast to other room members
  • MarkAsRead -> ActionConfirmed + MessageRead broadcast
  • Delivered -> ActionConfirmed + MessageDelivered broadcast
  • AddReaction -> ActionConfirmed + ReactionAdded broadcast
  • RemoveReaction -> ActionConfirmed + ReactionRemoved broadcast

Call Signaling

  • CallOffer relayed to target user
  • CallAnswer relayed to caller
  • ICECandidate relayed to target
  • CallHangup relayed to target
  • CallReject relayed to caller

Docker

  • docker-compose up starts without chat-server service
  • Backend still starts and serves WS endpoint

Frontend

  • Chat connects to /api/v1/ws instead of old port 8081
  • Messages sent and received correctly
  • Typing indicators work