พาร์ส Incoming isVideoCall เป็น ringing — แก้จอเขียว
📱 1.2.42
ประวัติการอัปเดต
แพลตฟอร์มพัฒนาอยู่ทุกวัน ที่นี่คือประวัติการเปลี่ยนแปลงทั้งหมด: ฟีเจอร์ใหม่ การแก้ไข และการอัปเดตด้านความปลอดภัย ดาวน์โหลดแอป
พฤษภาคม 2026
เอา CallKit banner ออกตอน foreground (UI ซ้อน)
📱 1.2.41
เปิด CallScreen เมื่ออยู่ active state ใดก็ได้ — incoming ด้วย
📱 1.2.40
CallScreen ไม่ปิดตัวเองก่อน INVITE มาถึง (_everHadCall)
📱 1.2.39
cleanup ให้ถูกต้องตอน FAILED (CANCEL ฝั่งคนโทรไม่ค้างอีกต่อไป)
📱 1.2.38
ละเว้น FAILED-event ทั้งหมด (state-race บน Riverpod broadcast)
📱 1.2.37
Incoming UI ใช้ CallKit อย่างเดียว + timestamp-FAILED guard
📱 1.2.36
ละเว้น FAILED หลัง CONNECTED (forking leg)
📱 1.2.35
ละเว้น SIP session ซ้ำ (FAILED จาก auth-challenge leg)
📱 1.2.34
เปิด CallScreen เมื่อมีการเปลี่ยนเป็น connected ใดก็ได้ (callee Accept)
📱 1.2.33
Cold-start จาก CallKit Accept ข้าม splash ไปเลย
📱 1.2.32
-45% ความยาวแอนิเมชัน (6 วินาที → 3.3 วินาที)
📱 1.2.31
ย้อนกลับการเปลี่ยนแปลง radical splash/CallScreen จาก 1f4c9f4
📱 1.2.30
แก้ splash→CallScreen แบบจัดเต็ม + persistent logging
📱 1.2.29
เปิด CallScreen จาก ringing→connected เมื่อ CallKit รับแล้ว
📱 1.2.28
แสดงเวอร์ชัน + วันที่บิลด์ในเมนูด้านข้าง (Drawer)
📱 1.2.27
Splash ขัด navigation ไป /call + auto-answer ตอน cold-start
📱 1.2.26
Security fix: การโทร
📱 1.2.25
แปลงบล็อกหลายบรรทัด {# #} → {% comment %} ใน voip overlay + ad detail
🌐 เว็บ
ไคลเอนต์ SSR สำหรับการโทร + อัปเดต docs
🌐 เว็บ
เรนเดอร์วิดีโอสตรีม + dedup CallKit-vs-CallScreen (ตามแบบ team-call)
📱 1.2.24
วิดีโอคอล + dedup FCM notifications + auto-invalidate ads
📱 1.2.22
🌐+📱 เว็บ + แอป
เบอร์ SIP เป็นของชาวฟาร์มเมอร์ตลอดไป + grant DELETE สำหรับ location
🌐 เว็บ
Upsert subscriber เสมอ — กู้คืนได้หลังข้อมูลหาย
🌐 เว็บ
AllowBadCertificate=true สำหรับ WSS — SNI mismatch กับ Kamailio
📱 1.2.22
UI integration — สวิตช์ VoIP ใน Profile + ปุ่ม โทร ใน Ad Detail
📱 1.2.21
🌐+📱 เว็บ + แอป
Native Android — permissions ใน Manifest + reattach MainActivity + BootReceiver + CallKit
📱 1.2.20
Flutter SIP-client + CallScreen + Riverpod provider
📱 1.2.19
Django app พร้อม endpoints สำหรับการโทรของชาวฟาร์มเมอร์
🌐 เว็บ
โครงสร้างพื้นฐานสำหรับการโทร — sip.cattles.net บนเซิร์ฟเวอร์ Kamailio แบบ shared
🌐 เว็บ
@mention boost, preview ของ msg_type, FCM ttl, เตรียม voip-channel
📱 1.2.18
🌐+📱 เว็บ + แอป
PhoneRequiredMiddleware บล็อกการเข้าดูบน dev/prod ถ้าไม่มี phone
🌐 เว็บ
Push หลัง reinstall + CSS ธีมเสีย + กฎ bundling ใน CLAUDE.md
📱 1.2.17
🌐+📱 เว็บ + แอป
/profile/ ส่งกลับ phone+avatar, mobile ไม่วนลูป phone-setup
📱 1.2.16
🌐+📱 เว็บ + แอป
เอา validators min/max ออกจาก weight_kg/height_cm
📱 1.2.15
🌐+📱 เว็บ + แอป
3 regression จากคอมมิต auth แบบ social-only
🌐 เว็บ
auth แบบ social-only + avatar + phone-setup + geo wizard
📱 1.2.13
สมัครแบบ social-only + phone-setup + geo audit + avatar
🌐 เว็บ
ไม่ได้ใช้ในโค้ด
🌐 เว็บ
UX fix — session age + CTA + logo ซ้ำ + alert→toast
🌐 เว็บ
«Сообщения» ใน desktop header + sidebar + dropdown
🌐 เว็บ
Web SSR chat + layout responsive แบบ mobile-like
🌐 เว็บ
อัป bump urllib3 ใน requirements_prod.txt ด้วย
🌐 เว็บ
Security fix: dependencies
🌐 เว็บ
Push เมื่อมีข้อความใหม่ + sender/time + read receipts + bottom-nav
📱 1.2.11
🌐+📱 เว็บ + แอป
Google login บนเว็บ + Farmer.user CASCADE
🌐 เว็บ
ลบ firebase-adminsdk.json ที่ว่างเปล่าออกจาก git tracking
🌐 เว็บ
Backend skeleton — Google Sign-In + Firebase Cloud Messaging + chats
📱 1.2.5
🌐+📱 เว็บ + แอป
Splash odometer 71→43 ภาษา
📱 1.2.5
Migration 0081 — ลบ parler-translations ที่อยู่นอก 43
🌐 เว็บ
Security fix: infrastructure
🌐 เว็บ
ลดการรองรับจาก 70 เหลือ 43 ภาษา
📱 1.2.3
🌐+📱 เว็บ + แอป
อัปโหลด throttle 60→300/ชั่วโมง ต่อผู้ใช้
🌐 เว็บ
เอา default throttle ออก เหลือเฉพาะ endpoints ที่อ่อนไหว
🌐 เว็บ
ย้อน AVIF thumbnails กลับไปที่ serializer (บล็อกแบบ sync ใน API)
🌐 เว็บ
สร้าง AVIF แบบ async ตอน post_save (ไม่บล็อก)
🌐 เว็บ
AVIF thumbnails สำหรับสายพันธุ์ (Wiki_animals)
🌐 เว็บ
AdDetailView — favorites ผ่าน prefetch ไม่ใช้ count/exists
🌐 เว็บ
แก้ audit N+1 ใน audit ของ explore-agent
🌐 เว็บ
/animal-categories/<id>/breeds/ — แก้ N+1 (เร็วขึ้น ×60)
🌐 เว็บ