-
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