AOSSIE-Org / AOSSIE-Org/Resonate-Backend

Add backend support for real-time in-room text chat

オープン
#148 コメント 2 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
JavaScript
スター
43
フォーク
120
PR マージ指標
30日以内にマージされた PR はありません

説明

### 🚀 The feature
Resonate currently supports real-time voice rooms, but there is no backend infrastructure to support text-based communication within rooms.

This proposal introduces **backend support for real-time in-room text chat**, enabling clients to send, receive, and moderate text messages during active voice rooms.

This issue complements the frontend feature request opened in the Resonate app repository for in-room text chat.

---

### Problem statement
At present:
- There is no backend mechanism to handle real-time text messages in rooms
- Messages cannot be persisted or synchronized across participants
- Moderation actions (delete, mute, block) cannot be enforced server-side

Without backend support, any frontend chat implementation would be incomplete and unreliable.

---

### Proposed solution

#### Core backend responsibilities
- Provide real-time message delivery to all participants in a room
- Persist a limited message history per room
- Enforce access control and moderation rules

#### Suggested implementation scope
- Define a `RoomMessage` data model with fields such as:
- `id`
- `room_id`
- `sender_id`
- `content`
- `timestamp`
- `is_deleted`
- Implement real-time message transport using:
- WebSockets, or
- existing real-time infrastructure already used by the backend
- Store the last N messages per room (e.g., 50–100)
- Load recent message history when a user joins a room

---

### Moderation & security
Backend should enforce:
- Message deletion by room moderators
- Temporary chat mute at room level
- Blocking muted or banned users from sending messages
- Authorization checks to ensure only room participants can post messages

Moderation logic must be handled server-side, not only in the client.

---

### Acceptance criteria
- Messages sent by one participant are delivered to all active room participants in real time
- Message history is retrievable when joining an ongoing room
- Moderation actions are enforced consistently
- System remains stable under concurrent room usage
- Backend APIs or socket events are documented

---

### Impact
- Enables a critical missing feature in Resonate voice rooms
- Improves accessibility and engagement
- Provides a secure and scalable foundation for future features such as reactions, threads, and notifications
- Aligns with long-term roadmap and GSoC-sized contributions

---

### References
- Related frontend issue: https://github.com/AOSSIE-Org/Resonate/issues/730

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。