Restore reactions, add constraint, handle errors

Restore soft-deleted message reactions and enforce uniqueness only for active reactions; add WebSocket error handling and minor UI/Docker tweaks.

- backend/social/chat/models.py: Toggle reaction now restores a stale soft-deleted MessageReaction (avoids unique conflicts) and creates new reactions as needed. Replaced unique_together with a conditional UniqueConstraint that applies only to non-deleted records.
- backend/social/chat/consumers.py: Wrap reaction toggle in try/except to return a WS error message on failure instead of allowing exceptions to bubble up.
- frontend/src/components/social/chat/Message.tsx: Adjusted Tailwind max-width class for the reaction menu (max-w-32).
- docker-compose.yml: Added commented example configuration for an optional Janus media server (documentational/commented service).

These changes prevent unique constraint errors when restoring reactions, improve robustness of the WebSocket reaction flow, and include small UI and deployment notes.
This commit is contained in:
David Bruno Vontor
2026-06-04 16:45:16 +02:00
parent 3859659b13
commit b1f88ca501
4 changed files with 45 additions and 17 deletions

View File

@@ -169,7 +169,7 @@ export default function Message({ message, chat, onReply, onReact, highlighted,
<div
className={[
"flex items-center gap-0.5 overflow-hidden transition-[max-width] duration-200 ease-out",
menuOpen ? "max-w-[8rem]" : "max-w-0",
menuOpen ? "max-w-32" : "max-w-0",
].join(" ")}
>
<IconButton