Chat: UTF-8-Unterstuetzung fuer Umlaute und Emoji-Eingabe #65

Open
opened 2026-05-16 22:12:15 +00:00 by jreinemann-euris · 0 comments
jreinemann-euris commented 2026-05-16 22:12:15 +00:00 (Migrated from github.com)

Kontext

Folge-Ticket zu #58 (Chat-System). Der Chat soll deutschsprachige Sonderzeichen (Umlaute, ß etc.) korrekt darstellen und versenden können. Zusätzlich sollen Nutzer Emojis (Unicode-Emoji-Palette) im Chat verwenden können.

Akzeptanzkriterien

1. UTF-8-Kodierung im Chat

  • Alle Chat-Nachrichten werden UTF-8-kodiert gesendet und empfangen
  • Umlaute (ä, ö, ü, Ä, Ö, Ü, ß) werden in der Nachrichtenliste korrekt angezeigt
  • Sonderzeichen werden serverseitig korrekt gespeichert und bei Pull-Sync korrekt übertragen
  • HTTP-Header enthält Content-Type: application/json; charset=utf-8
  • WebSocket-Nachrichten werden als UTF-8-String übertragen (keine Zeichensalat-Fehler)

2. Emoji-Unterstützung im Chat

  • Nutzer können Emojis über die native Android-Emoji-Tastatur in das Eingabefeld tippen
  • Unicode-Emojis (z.B. 😀 🎉 ❤️ 👍) werden korrekt im Chat angezeigt
  • Emojis werden serverseitig korrekt gespeichert und wieder ausgeliefert
  • Keine Darstellungsfehler oder Zeichensalat bei Emoji-Kombinationen (auch Multi-Codepoint-Emojis)
  • Emoji-Picker-Button im Chat-Eingabebereich öffnet die System-Emoji-Tastatur

3. Generaltest #56 erweitern und zurücksetzen

  • Generaltest Issue #56 um Testfälle mit Umlauten und Emojis erweitern
  • Testfall: Nachricht mit Umlauten senden und empfangen (ä, ö, ü, ß)
  • Testfall: Nachricht mit Emojis senden und empfangen (😀, ❤️, 👍)
  • Testfall: Gemischte Nachricht (Umlaut + Emoji + ASCII, z.B. „Schöner Tag 😀!")
  • Nach erfolgreichem Test: Generaltest #56 auf Board-Status „Todo" zurücksetzen

Technische Hinweise

  • Ktor-Server: charset(Charsets.UTF_8) in ContentNegotiation-Config und Response-Headern prüfen
  • Retrofit/OkHttp: Content-Type: application/json; charset=utf-8 Header beim Senden sicherstellen
  • Room/SQLite: UTF-8 nativ unterstützt – Encoding-Probleme liegen i.d.R. im HTTP-Transport, nicht in der DB
  • Android Compose TextField: Emoji-Eingabe via Standard-IME (KeyboardType.Text) sollte out-of-the-box funktionieren
  • WebSocket (Ktor): Frames als Frame.Text (UTF-8) senden, nicht als Frame.Binary
  • Font Awesome: Falls Icon-Font bereits im Projekt, können Icon-Shortcuts optional ergänzt werden
## Kontext Folge-Ticket zu #58 (Chat-System). Der Chat soll deutschsprachige Sonderzeichen (Umlaute, ß etc.) korrekt darstellen und versenden können. Zusätzlich sollen Nutzer Emojis (Unicode-Emoji-Palette) im Chat verwenden können. ## Akzeptanzkriterien ### 1. UTF-8-Kodierung im Chat - [ ] Alle Chat-Nachrichten werden UTF-8-kodiert gesendet und empfangen - [ ] Umlaute (ä, ö, ü, Ä, Ö, Ü, ß) werden in der Nachrichtenliste korrekt angezeigt - [ ] Sonderzeichen werden serverseitig korrekt gespeichert und bei Pull-Sync korrekt übertragen - [ ] HTTP-Header enthält `Content-Type: application/json; charset=utf-8` - [ ] WebSocket-Nachrichten werden als UTF-8-String übertragen (keine Zeichensalat-Fehler) ### 2. Emoji-Unterstützung im Chat - [ ] Nutzer können Emojis über die native Android-Emoji-Tastatur in das Eingabefeld tippen - [ ] Unicode-Emojis (z.B. 😀 🎉 ❤️ 👍) werden korrekt im Chat angezeigt - [ ] Emojis werden serverseitig korrekt gespeichert und wieder ausgeliefert - [ ] Keine Darstellungsfehler oder Zeichensalat bei Emoji-Kombinationen (auch Multi-Codepoint-Emojis) - [ ] Emoji-Picker-Button im Chat-Eingabebereich öffnet die System-Emoji-Tastatur ### 3. Generaltest #56 erweitern und zurücksetzen - [ ] Generaltest Issue #56 um Testfälle mit Umlauten und Emojis erweitern - [ ] Testfall: Nachricht mit Umlauten senden und empfangen (ä, ö, ü, ß) - [ ] Testfall: Nachricht mit Emojis senden und empfangen (😀, ❤️, 👍) - [ ] Testfall: Gemischte Nachricht (Umlaut + Emoji + ASCII, z.B. „Schöner Tag 😀!") - [ ] Nach erfolgreichem Test: Generaltest #56 auf Board-Status „Todo" zurücksetzen ## Technische Hinweise - **Ktor-Server**: `charset(Charsets.UTF_8)` in ContentNegotiation-Config und Response-Headern prüfen - **Retrofit/OkHttp**: `Content-Type: application/json; charset=utf-8` Header beim Senden sicherstellen - **Room/SQLite**: UTF-8 nativ unterstützt – Encoding-Probleme liegen i.d.R. im HTTP-Transport, nicht in der DB - **Android Compose TextField**: Emoji-Eingabe via Standard-IME (`KeyboardType.Text`) sollte out-of-the-box funktionieren - **WebSocket (Ktor)**: Frames als `Frame.Text` (UTF-8) senden, nicht als `Frame.Binary` - **Font Awesome**: Falls Icon-Font bereits im Projekt, können Icon-Shortcuts optional ergänzt werden
Sign in to join this conversation.
No description provided.