Telegram iOS uchun 13.1.1 ochiq kodiga ko'ra, birinchi bo'lib yozgan notanishga o'qilganlik belgisini yuborishni to'xtatdi. Chat ustida "Shikoyat qilish" va "Bloklash" tugmalari bo'lgan panel turganida, mijoz uning xabarlarini o'qimaydi, tugmalarini ko'rsatmaydi, havolalarini oddiy matn sifatida ochadi va uning emoji-statusini yashiradi. Panelni olib tashlaganingizda rejim bekor bo'ladi, javob berganingizda esa mahalliy ravishda bekor bo'ladi va o'zgartirish mualliflari server uni qaytarishi mumkinligini ta'kidlashadi. Ushbu o'zgartirish Telegram-iOS omborida 22-oktabrdagi 007fb3f1 kommiti bilan joylashgan bo'lib, u release-13.1.1 tegiga kiritilgan va versiyaning o'zi o'sha kuni kechqurun App Store'da chiqarilgan. Bu notanishlar yozadigan barcha shaxslarga va birinchi bo'lib yozadiganlarga tegishli: agar siz iPhone egasiga yozgan bo'lsangiz, ikkita galochka u siz bilan nima qilishni hal qilganidan keyingina paydo bo'ladi.

Mijoz kimni shubhali suhbatdosh deb hisoblaydi

Kontaktlaringizda bo'lmagan shaxs birinchi bo'lib yozganida, server mijozga ushbu chatning sozlamalarini, ya'ni API sxemasidagi peerSettingsni yuboradi. U yerdagi flaglar orasida report_spam va block_contact mavjud: "Shikoyat qilish" va "Bloklash" tugmalarini ko'rsatish kerakmi. Sxemada alohida "shubhali" flagi yo'q. Telegram iOS uchun kodida chat, ushbu ikki flagdan kamida bittasi o'rnatilgan bo'lsa, shubhali hisoblanadi, bu isSuspiciousPeer predikati hisoblanadi. Xuddi shu sozlamalar raqamning mamlakatini, ro'yxatdan o'tgan oyini va ism hamda fotosurat o'zgartirilgan sanalarni o'z ichiga oladi, ular 2025-yil mart oyidan boshlab notanishning birinchi xabari ustidagi ma'lumot kartochkasida ko'rsatiladi.

13.1.1 versiyasigacha shubhali holat kam narsani o'zgartirardi: bunday suhbatdoshning matnidagi havolalar, eslatmalar, heshteglar, elektron pochta manzillari, karta raqamlari va TON manzillari oddiy matn sifatida ko'rsatilar edi, ularni bosish mumkin emas edi, oldindan ko'rish kartochkasini bosish esa hech narsa qilmasdi. Xabarlar ostidagi tugmalar, oldindan ko'rish matnidagi tugma va havolalar, HTML xabarlaridagi havolalar va uning emoji-statusi boshqa har qanday foydalanuvchiniki kabi ishlardi, xabarlar esa chat ochilishi bilanoq o'qilgan deb belgilanardi.

13.1.1 versiyasida nima o'zgardi

007fb3f1 kommiti 16 ta faylni o'zgartiradi, 491 ta qator qo'shilgan va 29 tasi o'chirilgan. Shikoyat paneli joyida turganida:

NimaAvvalHozir
O'qilganlik belgisichat ochilganda yuborilardiyuborilmaydi
Xabar ostidagi tugmalarko'rsatilar va ishlar ediko'rsatilmaydi
Matndagi havolalaroddiy matnoddiy matn, avvalgidek
Havolani oldindan ko'rishkartochka ochilmasdi, lekin uning ostidagi tugma va matndagi havolalar ishlar editugma yo'q, oldindan ko'rish matnidagi havolalar olib tashlangan, media ochilmaydi
HTML xabarlarhavolalar va tugmalar ishlar edihavolalar matnga aylangan, tugmalar olib tashlangan
Suhbatdoshning emoji-statusichat sarlavhasida va profilda ko'rinar ediyashirilgan, Premium obunachisi uchun uning o'rniga yulduzcha

O'qilganlik. Telegramda o'qilganlik belgisi va chatning o'qilmagan xabarlar hisoblagichini nolga tushirish bir xil harakatdir: mijoz serverga oxirgi o'qilgan xabar raqamini xabar qiladi, server esa yuboruvchiga ikkinchi galochkani ko'rsatadi. Endi mijoz bu harakatni suhbatdosh shubhali bo'lganida va yana bir holatda ushlab turadi: kontaktda bo'lmagan shaxs bilan chat birinchi marta ochilganda va sozlamalar serverdan hali kelmaganida. Yuborilgan o'qilganlik belgisini bekor qilish mumkin emas, shuning uchun mijoz "ehtimolga qarshi" o'qimasdan, qaror qabul qilinishini kutadi. O'zgartirishni tekshirishga oid izohda aytilishicha, simulyatorda o'qilganlik haqidagi qarorlar kechiktirilgan va panel yopilgandan so'ng va xabar yuborilgandan so'ng qo'llanilgan.

Tugmalar. Oddiy pufakchalar, stikerlar va dumaloq videolar ostidagi tugmalar qatorlari olib tashlangan. HTML xabarlar uchun alohida o'zgartirish qo'shilgan: havolalar, elektron pochta manzillari, eslatmalar, heshteglar, karta raqamlari va TON manzillari matnga aylanadi, o'rnatilgan tugmalar yo'qoladi, havola sifatida rasmiylashtirilgan tugmadan faqat yozuv qoladi, rasm esa havolasini yo'qotadi. Telefon raqamlari, bot buyruqlari, sanalar, langarlar va maxsus emojilar qoladi. Har bir blok o'z raqamini saqlab qoladi, shunda bunday xabarlarga qilingan iqtiboslar bir xil joylarga havola qilishda davom etadi.

Havolalarni oldindan ko'rish. Bunday xabarning oldindan ko'rish kartochkasida endi tugma yo'q, undagi media ochilmaydi, oldindan ko'rish matnidan esa xabar matnidan olib tashlangan havolalar olib tashlangan.

Emoji-status. Status chat sarlavhasida, Premium paneli yozuvida va profil sarlavhasida, shu jumladan qopqoq va kolleksion status ranglarida ko'rsatilmaydi.

Qoida faqat shaxsiy chatlarda amal qiladi. Chatlar ro'yxatidagi qatorlar, qidiruv, shuningdek, shikoyat paneli bo'lgan guruhlar va kanallar o'zgarmaydi.

Ushbu rejimdan qanday chiqish mumkin

Panelni to'rtta harakat olib tashlaydi, ammo mijoz kodidagi rejimni hammasi ham bekor qilmaydi:

  1. Panelni x belgisini bosib yopish. Mijoz messages.hidePeerSettingsBarni chaqiradi va serverni kutmasdan chat flaglarini o'zi nolga tushiradi. Xuddi shunday, spam haqida shikoyat qilish ham flaglarni mahalliy ravishda olib tashlaydi.
  2. Suhbatdoshni bloklash yoki kontaktlarga qo'shish. Mijoz bu holda faqat bloklash yoki kontakt statusini o'zgartiradi, report_spam va block_contact flaglariga tegmaydi: rejim server chatning yangi sozlamalarini yuborganida tugaydi.
  3. Javob berish. Kechiktirilgan xabardan tashqari har qanday xabar yuborilganda, mijoz chatdan ushbu ikki flagni o'zi olib tashlaydi, "Kontaktlarga qo'shish" taklifi qoladi. Kechiktirilgan xabar belgilangan vaqtgacha hech kimga yetib bormaydi va rejimni bekor qilmaydi.

Uchinchi yo'l omborda shunday izoh bilan tasvirlangan: javob berilganda flaglar faqat mahalliy ravishda olib tashlanadi, users.getFullUser esa har bir yangilanishda chat sozlamalarini server yuborgan ma'lumotlar bilan qayta yozadi. Agar server sizning javobingizdan keyin flaglarni olib tashlamasa, rejim keyingi yangilanishda qaytadi. 21-oktabr holatiga ko'ra, o'zgartirish mualliflari buni tekshirmaganlar, ularda test uchun ikkinchi akkaunt yo'q edi. Ular aytgan zaxira variant — yuborishda hidePeerSettingsBarni chaqirish, ammo bu holda "Kontaktlarga qo'shish" ham yo'qoladi.

Yig'ish haqida ma'lumot

Kommit asosiy tarmoqqa 22-oktabr kuni 11:20 UTC da kiritildi. 51 daqiqadan so'ng, 12:11 UTC da, versions.jsondagi versiya raqami 13.1.1 ga o'zgardi, release-13.1.1 tegi ushbu kommitda raqam bilan turibdi va 007fb3f1 undan uchta kommit oldin kiritilgan. App Store'da 13.1.1 versiyasi o'sha kuni 18:45 UTC da "Bug fixes, minor improvements, and more" tavsifi bilan chiqarildi. App Store'dagi yig'ish ochiq kod bilan solishtirilmagan. Xuddi shu versiya interfeysni buklanadigan iPhone Duo uchun qayta joylashtiradi.

O'zgartirishni tekshirish simulyatorda vaqtinchalik kalit bilan amalga oshirilgan bo'lib, u rejimi majburiy ravishda yoqardi, ammo bu kommitga kiritilmagan. Oddiy klaviaturalar va tugma-havolalar simulyatorda tekshirilgan, HTML xabarlarini o'zgartirish esa faqat testlar bilan qoplangan, tekshiruvda notanishdan jonli HTML-xabar bo'lmagan. Kommit ostidagi imzo shaxs va Claude Opus 5.5 uchun umumiy.

Raqam mamlakati va yangi CanadaVoIP qatori

Notanishning kartochkasi raqam mamlakatini raqamning o'zidan emas, balki chatning xuddi shu sozlamalaridagi phone_country maydonidan oladi: server ikki harfli kodni yuboradi, mijoz uni mamlakatlar ro'yxatida help.getCountriesListda qidiradi, nomini qo'yadi va kod bo'yicha bayroqni chizadi. FT kodi uchun iOS "Anonim" deb yozadi (bu +888 raqamlari), TS uchun esa "Test" deb yozadi.

24-oktabr kuni ushbu ro'yxatda yangi yozuv paydo bo'ldi: CP kodi, CanadaVoIP nomi, telefon kodi +1, prefikslar va raqam shablonlarisiz. Avval uni test serveri 09:33 UTC ga qadar oldi, keyin asosiy server 12:18 UTC ga qadar. Yozuv yashirin deb belgilangan. Undan oldin ro'yxatda uchta yashirin yozuv bor edi: XG "Global Mobile Satellite System" (+881), XV "International Networks" (+882, +883) va YL "Y-land" (+42). Ro'yxatda jami 236 ta yozuv mavjud.

Yashirin yozuvlar iOS tomonidan tizimga kirishda mamlakat tanlashda ko'rsatilmaydi, ammo saqlanadi va kod bo'yicha topiladi. Raqam terishda ham yozuv uchramaydi: moslashtirishda uni AQSh qoplaydi, ular ro'yxatda keyinroq xuddi shu +1 kodi bilan keladi. Mijoz uni o'qiydigan yagona joy qoladi — serverdan kelgan phone_country kodi. Ushbu mantiqqa ko'ra, server Kanada virtual operatorlarining raqamlarini boshqa +1 kodli raqamlardan ajratishni rejalashtirmoqda va iPhonedagi notanishning kartochkasida "Kanada" so'zi o'rniga CanadaVoIP so'zi paydo bo'ladi. Bu ro'yxat va mijoz kodidan kelib chiqqan xulosa, bunday kodli jonli chat kuzatilmagan.

Telegram Desktop ro'yxatni yuklashda yashirin yozuvlarni butunlay tashlab yuboradi, shuning uchun CP kodi uchun u nomsiz bayroq chizadi. Ikkala mijozda ham bayroq bir xil, ikki harf bo'yicha: ISO 3166-1 da CP kodi Tinch okeanidagi odam yashamaydigan Fransiya hududi Klipperton oroli uchun zaxiralangan.