chahinebrini d97e3aa496 chore(release): bump to v0.2.0 / versionCode 8 — device-binding, custom mail-filter, chat v1.0, Mac DNS auto-detect
CHANGELOG entry covers:
- Mac DNS auto-detect (DoH handshake + realtime)
- Device-account-binding (Pro/Legend anti-bypass)
- Custom mail-patterns alongside web-domains (10 + 10 for Legend)
- Unified filter section with single + button + auto-detect sheet
- Chat v1.0 DM-only with unread badge
- Avatar cropper switched to iOS-native UIImagePickerController
- Help/Support pages (FAQ, Contact, About, Crisis hotlines)
- Settings: notification + streak-reminder section
- Game-over modal layout + regenerate suggestion
- Devices page redesign with central <Button> + progress bar
- Pre-check global blocklist before consuming a slot
- Local dev FAMILY_CONTROLS flag defaults on

Marketing download page version bumped to 0.2.0 build 8; sha256 +
apk size will be filled after the EAS build lands and the APK is
uploaded to the download host.
2026-05-16 03:22:53 +02:00

5.8 KiB

Changelog

All notable changes to rebreak-native will be documented in this file. Format: Keep a Changelog Versioning: version follows SemVer, versionCode is monotonically increasing.


[Unreleased]


[0.2.0] — versionCode 8 — 2026-05-16

Added

  • Mac-DNS-Profil — Vollautomatik: Die App erkennt per DoH-Handshake, sobald der Mac eine DNS-Anfrage stellt, und springt automatisch auf Schritt 3 im Setup-Flow. Kein manuelles Tippen mehr nötig.
  • Device-Account-Binding: Pro- und Legend-Konten sind gegen Account-Switch-Bypass geschützt. Wer sich auf einem bereits gebundenen Gerät mit einem anderen Konto anmeldet, bekommt eine Sperre (DEVICE_LOCKED) — und der ursprüngliche Account wird per E-Mail benachrichtigt.
  • Custom Mail-Filter (Cue Avoidance): Eigene E-Mail-Adressen oder Domains von Glücksspiel-Anbietern können direkt in der App eingetragen werden. Auto-Detect schlägt bekannte Muster vor. Free/Pro: je 5 Adressen + 5 Domains. Legend: je 10. Die neue Unified-Filter-Section ersetzt alle bisherigen separaten Blocker-Einträge.
  • Like + Kommentar Realtime: Reaktionen anderer User werden live in der Feed-Karte aktualisiert — kein manuelles Refresh.
  • Chat v1.0 (DM-only): Direkt-Nachrichten mit Profilbildern, Suche, Unread-Badge in der Tab-Bar. Gruppen-Chats werden für v1.0 nicht unterstützt.
  • Avatar-Zuschnitt via iOS-Nativ: Der Profilbild-Zuschnitt nutzt jetzt Apples eigenes UIImagePickerController-Crop statt eines eigenen Sheets — zuverlässiger, native Look.
  • Hilfe-Bereich in Settings: Neue Seiten für FAQ, Kontakt, Über Rebreak und Krisen-Hotlines. Notifications-Bereich überarbeitet.
  • Global-Blocklist-Vorabprüfung: Beim Hinzufügen einer Custom-Adresse wird vorab gegen die zentrale Blockliste geprüft — kein Slot wird verbraucht, wenn die Domain sowieso schon global gesperrt ist.
  • FamilyControls standardmäßig aktiv in lokalen Dev-Builds (dev-iphone.sh, clean-ios.sh).

Changed

  • Devices-Seite neu gestaltet: Zweizeilige Einträge mit animierter Fortschrittsleiste, UIMenu für Mac/Windows-Auswahl, zentrale Button-Komponente durchgehend genutzt.
  • Game-Over-Modal überarbeitet: Höhenbegrenzung, Keyboard-Avoidance, neuer Regenerate-Button.

Fixed

  • Mac in Geräteliste-Bug behoben: Mac-Geräte wurden unter bestimmten Umständen nicht korrekt in der Liste angezeigt.

[0.1.0] — versionCode 7 — 2026-05-15

Added

  • feat(native): device-info API headers — model, name, osVersion sent on every request via lib/api.ts
  • feat(native): DeviceLimitSheet visual differentiation — „Dieses Gerät"-Pill distinguishes current device from others in the list

Changed

  • refactor(native): profile-page i18n keys — full sweep of 24 leftover Vue-i18n {var} patterns replaced with %{var} (vue-i18n-style removed, expo-localization pattern applied consistently)
  • chore(native): Google-OAuth always shows account-picker — prompt=select_account added to OAuth request, prevents silent re-auth with wrong account
  • refactor(native): feed page uses groupedBg for card contrast instead of flat background

Fixed

  • fix(native): mail-account-edit modal-conflict + double-click bug — modal coordination corrected, prevents overlapping sheet opens
  • fix(native): sign-out now calls WebBrowser.coolDownAsync to clear OAuth cookies — prevents stale Google session on next login
  • fix(backend): Test-User charioanouar@gmail.com correctly identified as MrLonely (device-info schema + merge heuristic + test-user detection, auto-deployed via pipeline)

[0.1.0] — versionCode 6 — 2026-05-15

Added

  • feat(i18n): French as 3rd app language (fr) for test customers — full locale file, settings picker, device-locale auto-detect (a981deb-fix)
  • feat(native): Lyra voice picker for legend tier — 3 ElevenLabs voices (Default / Voice 1 / Voice 2), backed by PATCH /api/profile/me/lyra-voice (d9bb7ef)
  • feat(native): realtime debug page (DEV-only) — connection-state, reconnect-counter, token-expiry countdown, channel list, rolling event-log (a0d67f3)
  • feat(backend): Lyra voice TTS-routing — userLyraVoiceId takes priority over default (legend-gated) (76f8595)

Changed

  • refactor(mail): removed Groq LLM borderline layer — deterministic Score+Layer2.5 pipeline only. Resolves DSGVO-P0 items (no third-country data transfer). Layer 2.5 (Brand+Random) continues to catch Apple Hide-My-Email pattern (f2e3c00)

Fixed

  • fix(native): protectedDevices.filter is not a function — Array.isArray guard on API response (a0d67f3)

[0.1.0] — versionCode 5 — 2026-05-14

Added

  • feat(mail): multi-layer email classifier — Brand+Random detection, Relay-Decoder (Apple Hide-My-Email), Score-based routing, Groq borderline-review, ML-Sampling pipeline (b2f0471)

Fixed

  • fix(mail): reactive Mail page — stats + connection status refresh on scan/connect (4580a19)
  • fix(mail): donut card layout rebuilt from scratch — centered, breathing room, no truncation (2ea0cfe)
  • fix(mail): donut card layout justify-start instead of center (aac6c00)
  • fix(mail): legend rows justify-between + per-connection bar-chart sparse-data zoom (b47ac24)
  • fix(mail): legend takes natural width inside card + bar-chart always trims to hit-range (55cba9a)
  • fix(mail): legend vertically centered against donut center number (778d3b6)
  • fix(mail): revert marginBottom hack — layout was breaking out of card (1d93ada)
  • fix(mail): legend bottom-aligned with donut baseline for visual centering (c218287)
  • fix(mail): DSGVO Art. 17 — manual sample cleanup on account delete (be4e163)

[0.1.0] — versionCode 4 — 2026-05-07

Added

  • feat(mail): Outlook OAuth scan + daemon initial-sweep + page polish v4 (8075c8e)

Fixed

  • fix(idle-daemon): sync MS_OAUTH_SCOPES with backend — drop User.Read, add email (fd1cb91)