Phase 9 — voice + video-note messages
📱 1.2.55
🌐+📱 Web + app
Update history
The platform evolves every day. Here is the full change history: new features, fixes, and security updates. Download the app
May 2026
Mobile UI for Phase 7-12 (polls/stickers/stories/prefs/blocks)
📱 1.2.54
Phase 7-12 — Polls + Stickers + Stories + Polish + Privacy
📱 1.2.53
🌐+📱 Web + app
Remove daphne from the prod image — Trivy blocked deploy
🌐 Web
Phase 6 — Channels + Topics + PostViews
📱 1.2.52
🌐+📱 Web + app
Phase 5 — Group chats (create + members + roles)
📱 1.2.51
🌐+📱 Web + app
Phase 4 — UX (reactions, reply, edit, delete, forward, pin)
📱 1.2.50
🌐+📱 Web + app
Phase 3 — realtime WebSocket (ChatConsumer + WS clients)
📱 1.2.49
🌐+📱 Web + app
Phase 2 — Chat/ChatMember + Conversation migration
📱 1.2.48
🌐+📱 Web + app
Phase 1 frontend — Contacts UI (mobile + web)
📱 1.2.47
🌐+📱 Web + app
Phase 1 backend — Contact model + users search/profile API
🌐 Web
Phase 0 — rename messaging→chat + Django Channels infra
🌐 Web
Do not show the “Call” button on your own listings + sync docs
📱 1.2.46
Telegram-style hybrid native incoming call (~300 lines)
📱 1.2.45
Const _pipChannel below imports (build fail 1.2.43)
📱 1.2.44
ReattachFragment to CallScreen.initState — fix for green screen
📱 1.2.43
Incoming isVideoCall parsed as ringing — fix for green screen
📱 1.2.42
Remove CallKit banner on foreground (duplicate UI)
📱 1.2.41
Open CallScreen on ANY active state — incoming too
📱 1.2.40
CallScreen does not close itself before INVITE arrives (_everHadCall)
📱 1.2.39
Proper cleanup on FAILED (caller’s CANCEL no longer hangs)
📱 1.2.38
Fully ignore FAILED-event (state race on Riverpod broadcast)
📱 1.2.37
Incoming UI is CallKit only + timestamp-FAILED guard
📱 1.2.36
Ignore FAILED after CONNECTED (forking leg)
📱 1.2.35
Ignore duplicate SIP session (FAILED from auth-challenge leg)
📱 1.2.34
Open CallScreen on any transition to connected (callee Accept)
📱 1.2.33
Cold-start from CallKit Accept skips splash entirely
📱 1.2.32
-45% animation durations (6s → 3.3s)
📱 1.2.31
Revert radical splash/CallScreen changes from 1f4c9f4
📱 1.2.30
Radical fix splash→CallScreen + persistent logging
📱 1.2.29
Open CallScreen on ringing→connected when CallKit accepts
📱 1.2.28
Version + build date in the side menu (Drawer)
📱 1.2.27
Splash was overriding navigation to /call + auto-answer on cold start
📱 1.2.26
Security fix: calls
📱 1.2.25
Multi-line {# #} → {% comment %} in voip overlay + ad detail
🌐 Web
SSR call client + docs update
🌐 Web
Video stream rendering + CallKit-vs-CallScreen dedup (following team-call example)
📱 1.2.24
Video call + FCM notification dedup + auto-invalidate ads
📱 1.2.22
🌐+📱 Web + app
SIP number is permanently tied to the farmer + grant DELETE on location
🌐 Web
Always upsert subscriber — recovery after record loss
🌐 Web
AllowBadCertificate=true for WSS — SNI mismatch with Kamailio
📱 1.2.22
UI integration — VoIP toggle in Profile + Call button in Ad Detail
📱 1.2.21
🌐+📱 Web + app
Native Android — Manifest permissions + MainActivity reattach + BootReceiver + CallKit
📱 1.2.20
Flutter SIP client + CallScreen + Riverpod provider
📱 1.2.19
Django app with endpoints for farmers' calls
🌐 Web
Call infrastructure — sip.cattles.net on a shared Kamailio server
🌐 Web
@mention boost, msg_type preview, FCM ttl, voip-channel groundwork
📱 1.2.18
🌐+📱 Web + app
PhoneRequiredMiddleware blocked viewing on dev/prod without phone
🌐 Web
Push after reinstall + dead theme CSS + bundling rule in CLAUDE.md
📱 1.2.17
🌐+📱 Web + app
/profile/ returns phone+avatar, mobile no longer loops on phone setup
📱 1.2.16
🌐+📱 Web + app
Removed min/max validators for weight_kg/height_cm
📱 1.2.15
🌐+📱 Web + app
3 regressions from the social-only auth commit
🌐 Web
Social-only auth + avatar + phone setup + geo wizard
📱 1.2.13
Social-only signup + phone setup + geo audit + avatar
🌐 Web
Not used in code
🌐 Web
UX fixes — session age + CTA + duplicate logo + alert→toast
🌐 Web
"Messages" in desktop header + sidebar + dropdown
🌐 Web
Web SSR chat + responsive mobile-like layout
🌐 Web
Bump urllib3 in requirements_prod.txt too
🌐 Web
Security fix: dependencies
🌐 Web