coder13 / coder13/LetsCube

Add direct messages between friends after the social MVP

Offen
#189 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
area: social enhancement priority: P2
Vorherrschende Sprache
JavaScript
Sterne
30
Forks
9
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

## Goal

Let accepted friends coordinate outside a room after the friendship, blocking, notification, retention, and abuse controls have proven stable.

## Required contract before implementation

- Only accepted friends may start or continue a conversation.
- Blocking immediately prevents new delivery and hides actionable contact paths.
- Define retention, deletion, export, and account-removal behavior before storing messages.
- Add reporting/moderation and rate limits before broad enablement.
- Treat message content as sensitive: do not put it in analytics, routine logs, notification previews, or PostgreSQL metrics.
- Reconnect and multi-device delivery must reconcile from durable paginated history; Socket.IO is delivery, not the source of truth.

## Acceptance criteria

- [ ] Complete a threat/privacy review covering minors, harassment, impersonation, spam, and moderation access.
- [ ] Define conversation/message schemas, cursor pagination, delivery/read semantics, and retention.
- [ ] Add authenticated APIs and realtime delivery with per-message authorization and idempotency.
- [ ] Add block/report/delete flows before enabling message composition.
- [ ] Add limits for message size, frequency, links, and duplicate/replayed sends.
- [ ] Add tests for unfriending/blocking races, ID tampering, reconnect, multiple tabs, retention, deletion, and rate limits.
- [ ] Roll out behind a separate feature flag with privacy-safe reliability metrics.

## Dependencies

- #75
- #105
- #188

## Non-goals

- Group chat.
- File/image uploads.
- End-to-end encryption claims without a separately reviewed design.
- Shipping as part of the Friend System MVP.

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginne mit der Überprüfung der Abhängigkeiten #75, #105 und #188 und schließe anschließend vor der Implementierung die erforderliche Bedrohungs- und Datenschutzprüfung ab. Als abgeschlossen gilt die Aufgabe, wenn die aufgeführten Schemas, APIs, Moderations- und Sicherheitsabläufe, Tests sowie der durch Feature-Flags gesteuerte Rollout berücksichtigt sind; die Nachrichtenzusammenstellung muss deaktiviert bleiben, bis die Schutzmaßnahmen eingerichtet sind.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
javascript, mongodb, nodejs, react
Bereich
api, backend, security
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Ruhig
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.