Commit Graph

  • adf0d33f1b feat(android): Protection Module v2 — VPN self-heal, boot-receiver, multilang chahinebrini 2026-06-01 04:30:07 +02:00
  • ab4b9c48e5 feat(ios): Screen Time Passcode als Layer 3 (setup flow) chahinebrini 2026-06-01 04:19:43 +02:00
  • 59766f8530 fix(android): block Force Stop + App-Info auf Samsung OneUI chahinebrini 2026-06-01 04:11:01 +02:00
  • 2e056c7257 feat(devices): Apple-style two-device approval flow + email fallback chahinebrini 2026-06-01 02:36:28 +02:00
  • efca157969 fix(backend): device-mgmt cleanup + stats rejected fallback + realtime refresh chahinebrini 2026-06-01 02:23:27 +02:00
  • 578abfe3bb chore(release): v0.3.13 build 46 / vc36 — DM scroll fix + chat timestamps weekday/days/weeks/months chahinebrini 2026-05-31 07:33:06 +02:00
  • 2715d2620b chore(release): ios buildNumber 44 → 45 (TestFlight + MDM deployed) chahinebrini 2026-05-31 03:42:23 +02:00
  • acf14aaf11 chore(release): rebreak-native v0.3.13 build 44 (versionCode 35) chahinebrini 2026-05-31 02:03:00 +02:00
  • 49e558902b fix(dm): always scroll to bottom on new messages and content-size changes chahinebrini 2026-05-31 01:37:44 +02:00
  • 55e3cdfb26 fix(transcribe): pass language=ar/tr to nova-2-general so Lyra answers in correct language chahinebrini 2026-05-31 01:37:11 +02:00
  • e0b4d9f530 fix(dm): add error handling and logging to DM push notifications chahinebrini 2026-05-31 01:32:34 +02:00
  • 3a4e1ecfba feat(coach): switch Lyra to Gemini 2.5 Flash Lite (Groq+OpenRouter quotas dead) chahinebrini 2026-05-31 01:07:10 +02:00
  • 487af4ede1 fix(coach): duplicate lastUserMsg declaration in message.post chahinebrini 2026-05-31 00:15:28 +02:00
  • 685782b538 fix(coach): dynamische Sprache (Text-Detection + App-Locale-Fallback) chahinebrini 2026-05-31 00:12:40 +02:00
  • b956b3b1fc chore(ui): branded splash.png statt weißer icon.png-Box + Release-Notes chahinebrini 2026-05-30 11:52:58 +02:00
  • 89775838bc fix(chat): gedrückte Bubble scharf über Blur + Emoji-Ring entfernt chahinebrini 2026-05-30 11:44:41 +02:00
  • f83a13ba60 chore(release): deploy.sh all-platform (MDM/TF/Android) + NEXT_RELEASE-Workflow chahinebrini 2026-05-30 11:34:57 +02:00
  • 2591b2a89c feat(chat): WhatsApp-Style Reaktions-/Aktions-Popup (DM) + Reaction-Pills chahinebrini 2026-05-30 11:18:51 +02:00
  • 69f01c5a0c feat(chat): DM-Reaktionen + Soft-Delete Backend + comment_likes realtime chahinebrini 2026-05-30 11:18:32 +02:00
  • 28887cfc49 feat(chat): schema + migration — Multi-Emoji-Reaktionen + Soft-Delete chahinebrini 2026-05-30 10:56:39 +02:00
  • 4135e388ff ui(deploy): reorder progress bar so %, time stay visible on narrow terms chahinebrini 2026-05-30 10:25:24 +02:00
  • 8f871611f1 feat(deploy): round ETA display (~8m statt ~8m00s) chahinebrini 2026-05-30 10:21:51 +02:00
  • adc506291a fix(deploy): ERR-trap survives set -u (FUNCNAME may be unbound at top-level) chahinebrini 2026-05-30 10:16:11 +02:00
  • 6255006cad feat(deploy): clean Ctrl+C handler kills background xcodebuild chahinebrini 2026-05-30 10:14:01 +02:00
  • 24a52a5bae fix(deploy): run_quiet works on bash 3.2 — drop subshell, toggle set -e around wait chahinebrini 2026-05-30 10:12:10 +02:00
  • 9f8e99d287 fix(deploy): preserve rc under set -e (run_quiet swallowed errors silently) chahinebrini 2026-05-30 10:05:10 +02:00
  • 061bd2d799 fix(deploy): allow flags before subcommand (./deploy.sh --skip-pods) chahinebrini 2026-05-30 10:03:11 +02:00
  • 77407f9d63 feat(deploy): --skip-pods flag + quiet clean-ios chahinebrini 2026-05-30 10:01:41 +02:00
  • b15ee42a85 fix(deploy): subtitle fallback + realistic runtime seeds chahinebrini 2026-05-30 09:55:53 +02:00
  • e6e1bab35a fix(deploy): single-line progress bar (no fragile cursor moves) chahinebrini 2026-05-30 09:51:49 +02:00
  • 32d270ccad feat(deploy): brew-style time-based progress bar with runtime-cache chahinebrini 2026-05-30 09:47:48 +02:00
  • f48df2a968 chore(deploy): require ASC API-Key, drop app-specific-password fallback, brew-style spinner with live build action chahinebrini 2026-05-30 09:46:38 +02:00
  • b029c00413 chore(deploy): persist iOS auth via .env.deploy.local + ASC API-Key chahinebrini 2026-05-30 09:39:46 +02:00
  • b31066a04c feat(chat): native action sheet + Insta-style heart for DM messages chahinebrini 2026-05-30 09:14:32 +02:00
  • 38df6fc79d feat(chat): push notifications for DMs + rooms chahinebrini 2026-05-30 08:16:45 +02:00
  • d31d5b3b83 fix(coach): use nova-2-general for ar/tr STT to avoid 400 errors chahinebrini 2026-05-30 02:14:16 +02:00
  • 6d59bfd62b feat(community): Bild-Upload-Limit 5MB → 10MB chahinebrini 2026-05-30 01:09:47 +02:00
  • 38811820e6 feat(backend): Public-Domain-Guard + Mail-Detection (spins/%-Pattern) chahinebrini 2026-05-30 01:06:06 +02:00
  • e5eff6778f fix(ci): expo-blur in package.json behalten — Lockfile-Mismatch beheben chahinebrini 2026-05-30 00:21:42 +02:00
  • f9d44a6754 feat(coach): mehrsprachiges TTS — locale durchreichen + Cartesia Sonic-3 chahinebrini 2026-05-29 23:57:12 +02:00
  • b0315fd177 feat(coach): Lyra-Prompt-Update (Pricing/Beta/Geräte-Limits) + fr Sprach-Instruktion chahinebrini 2026-05-29 23:46:25 +02:00
  • 4f788e640e fix(coach): STT auf Deepgram nova-3 — fixt Arabisch/Türkisch-Transcription chahinebrini 2026-05-29 23:45:50 +02:00
  • c3de7055a5 feat(mail): Sucht-Compound-Regel + Phase-1-Training-Foundation chahinebrini 2026-05-29 08:14:57 +02:00
  • fd446874e9 feat(backend): GlobalMailDisplayName — schema + migration + seed (30 brands) chahinebrini 2026-05-28 16:09:58 +02:00
  • 807847381f fix(mail): Junk-Folder IDLE-Gap + Layer 2.6 global Display-Name-Patterns chahinebrini 2026-05-28 16:07:05 +02:00
  • 4a9601aadb fix(mail): Gmail OAuth — switch to iOS-typed Client (was Android Debug) chahinebrini 2026-05-28 15:36:17 +02:00
  • 7cc9eb1d6d fix(mail): Google OAuth redirect_uri auf Reverse-Client-ID chahinebrini 2026-05-28 15:23:16 +02:00
  • 96597ffaff feat(mail): Gmail OAuth2 (XOAUTH2/PKCE) — replaces App-Password for Gmail chahinebrini 2026-05-28 15:13:21 +02:00
  • 2cb1f8ad6e feat(binder-mac): SwiftUI Wizard für Self-Bind End-to-End-Flow chahinebrini 2026-05-27 08:37:14 +02:00
  • 01374c426e feat(supervise-magic): TechLockdown-clone v1 — supervise iPhones without erase chahinebrini 2026-05-27 01:55:10 +02:00
  • 1ae86c03f4 feat(lyra): coach system prompt v3 — Lock-Modus Setup-Steps (Safari + AirDrop) chahinebrini 2026-05-26 01:22:25 +02:00
  • 4c31be94b1 feat(lyra): coach system prompt — Self-Bind-Detection + Raynis-Branding + MDM-Korrektur chahinebrini 2026-05-26 01:15:37 +02:00
  • 8e562c982d feat(backend): MDM-Managed Flag — migration + endpoint + guards chahinebrini 2026-05-26 00:46:44 +02:00
  • d9f5b631b1 chore(release): bump iOS auf v0.3.6 Build 15 chahinebrini 2026-05-25 07:16:08 +02:00
  • 8f2ef2cc98 feat(mdm,vip): MDM-VPN-Pivot + Layer-2-Country-Curated + Custom-Domain-Refactor chahinebrini 2026-05-25 07:11:47 +02:00
  • b6b1f68940 chore(release): URLFilter-Extension raus + Android versionCode 11 chahinebrini 2026-05-22 22:19:52 +02:00
  • 9a22bcd114 fix(android-vpn): Blocklist-Self-Heal — kein Neustart nach erster Aktivierung chahinebrini 2026-05-22 22:08:24 +02:00
  • 435aaeefb1 chore(release): bump iOS auf v0.3.5 Build 14 chahinebrini 2026-05-22 21:31:29 +02:00
  • 0a0de3b75b feat(vip): Curated-Domain Suggest-UI chahinebrini 2026-05-22 21:13:11 +02:00
  • 9455fec52b docs(faq): Schutz-FAQs auf Zwei-Schichten-Struktur aktualisiert chahinebrini 2026-05-22 21:09:00 +02:00
  • 27ad05b13b fix(vip): Swap-Dialog-Polish — Inline-Button, Sortierung, Badge-Farben chahinebrini 2026-05-22 21:09:00 +02:00
  • dc841b4275 feat(coach): Lyra kennt die iOS-Schutz-Architektur (Layer 1/2 + VIP) chahinebrini 2026-05-22 21:09:00 +02:00
  • 265859467a feat(vip): Curated-Domain-Vorschläge — Suggest-Backend chahinebrini 2026-05-22 21:09:00 +02:00
  • f555c5e4d8 feat(vip): Tunesien (TN) als VIP-Land + kuratierte Starter-Liste chahinebrini 2026-05-22 20:52:20 +02:00
  • 48a8bbc4af fix(chat): Conversation auf inverted FlatList — Scroll-to-bottom bulletproof chahinebrini 2026-05-22 20:33:34 +02:00
  • 517ce8658f fix(vip): VipSwapSheet erst nach AddDomainSheet-Dismiss präsentieren chahinebrini 2026-05-22 20:29:36 +02:00
  • efa3e04c4e test(vip): MAX_VIP_CUSTOM temporär 30→3 für Swap-Dialog-Test chahinebrini 2026-05-22 20:13:34 +02:00
  • bee1d9900a feat(vip): VIP-Slot-Replace Frontend — Swap-Dialog + Cooldown-Badge chahinebrini 2026-05-22 20:07:36 +02:00
  • 93eb3aceec feat(vip): VIP-Slot-Replace Backend — Swap mit 24h-Cooldown chahinebrini 2026-05-22 20:05:44 +02:00
  • 708eac51c0 fix(chat): Listen-Spinner-Hänger + Auto-Scroll bei Bild-Nachrichten chahinebrini 2026-05-22 19:53:31 +02:00
  • bf28d81d13 chore(debug): Redirect-Test-Karte — Layer-1-Bypass reproduzieren chahinebrini 2026-05-22 19:35:51 +02:00
  • 23b91a1a3e fix(ios-vpn): PacketTunnel Self-Heal — Blocklist-Retry bei leerem Start chahinebrini 2026-05-22 19:07:31 +02:00
  • 38a74dd1ad test(custom-domains): plan-limits-Test auf gemeinsamen Slot-Pool umgeschrieben chahinebrini 2026-05-22 18:42:31 +02:00
  • 834e6efffc fix(chat/post): PostCard-Bilder-Ecken, Chat-Spinner-Hänger, Bild-Cache chahinebrini 2026-05-22 18:40:35 +02:00
  • 704958320b refactor(domains): gemeinsamer 10/20-Slot-Pool, Free-Tier entfernt chahinebrini 2026-05-22 18:40:28 +02:00
  • 7cc30db020 feat(blocker): VIP-Liste als Kachel-Grid + Brand-Token-Konzept chahinebrini 2026-05-22 18:15:59 +02:00
  • ef28f4947a fix(ios-vpn): blocklist.bin File-Protection — .completeUntilFirstUserAuthentication chahinebrini 2026-05-22 18:15:50 +02:00
  • fe156a5f58 feat(blocker/vip): Freigabe-Button, landabhängige VIP-Liste, Hybrid-Komposition + Add-Check chahinebrini 2026-05-22 17:27:10 +02:00
  • e946fbe443 fix(ios-vpn): activateUrlFilter — Tunnel-Status bis .connected pollen chahinebrini 2026-05-21 23:44:15 +02:00
  • 1aa86c2c0c fix(ios-vpn): K1/K2/H1 — Upstream-Fehler, In-Flight-Cap, Response-Layout chahinebrini 2026-05-21 23:22:22 +02:00
  • dfcee68dc8 feat(blocker): Blocker-Page-Redesign — 2 Sektionen statt 4 Bloecke chahinebrini 2026-05-21 23:15:23 +02:00
  • adeaf4eb75 fix(ios-vpn): Packet-Tunnel-.appex in eigene dst-13-Embed-Phase zwingen chahinebrini 2026-05-21 23:02:01 +02:00
  • 0d28682749 fix(ios-vpn): PacketTunnel-Extension CFBundleVersion/Short an App angleichen chahinebrini 2026-05-21 19:20:13 +02:00
  • 5a16cf771b feat(ios-protection): v1 NEPacketTunnelProvider DNS-Sinkhole als Layer-1 chahinebrini 2026-05-21 18:37:54 +02:00
  • a713070d25 feat(protection): VIP umfasst auch approved Custom-Domains chahinebrini 2026-05-21 22:44:19 +02:00
  • ced749018b fix(custom-domains): web-Domains nicht am alreadyGlobal-Check abweisen chahinebrini 2026-05-21 22:14:18 +02:00
  • c3390a0fed fix(blocker): webContent-Sync von URL-Filter entkoppeln chahinebrini 2026-05-21 21:54:11 +02:00
  • bc65c7172c fix(protection): webcontent-domains — fehlenden getWebCustomDomains-Import chahinebrini 2026-05-21 21:53:49 +02:00
  • 9dfccfcbaa fix(protection): webcontent-domains-Endpoint konsolidiert — VIP-Komposition chahinebrini 2026-05-21 21:21:22 +02:00
  • 72cd195d36 feat(blocker): VIP-Domain-Sektion + Cooldown-Friction beim Entfernen chahinebrini 2026-05-21 21:12:09 +02:00
  • cc2d963d1f feat(protection): runtime-Sync + cache-first fuer iOS Layer-2-Domain-Liste chahinebrini 2026-05-21 20:21:54 +02:00
  • 86ed603a45 feat(protection): GET /api/protection/webcontent-domains — runtime-updatebare Layer-2-Domain-Liste chahinebrini 2026-05-21 20:21:54 +02:00
  • 50d3c6a8e1 fix(protection): Layer 2 — Family Controls default-on + Resource-Bundle-Pfad chahinebrini 2026-05-21 20:13:57 +02:00
  • ad51ce5099 feat(protection): Layer 2 in FC-Aktivierung einhaengen + URLFilter-Extension-Version chahinebrini 2026-05-21 19:20:13 +02:00
  • 627ddce995 Merge branch 'feat/ios-webcontent-layer2' — iOS Schutz-Layer-2 (webContent) chahinebrini 2026-05-21 18:11:23 +02:00
  • b1e46a065a chore(assets): Android-Onboarding-Screenshots (a11y + VPN-Permission, de) chahinebrini 2026-05-21 18:09:42 +02:00
  • 2839564469 fix(custom-domains): Per-Bucket-Limit-Check via Backend counts/limits chahinebrini 2026-05-21 18:09:42 +02:00
  • 35a71a9068 feat(presence): Online-Presence-Provider + Hooks chahinebrini 2026-05-21 18:09:42 +02:00
  • 29bbf23405 feat(protection): iOS NEURLFilter-Spike + PIR-Server-Ops chahinebrini 2026-05-21 18:09:42 +02:00
  • 6cd3a78aaf feat(protection): iOS Layer-2 webContent-Filter (ManagedSettings) — MVP-Plumbing chahinebrini 2026-05-21 16:07:44 +02:00