Telegram iOS uchun 23-oktabrda Apple sotuvga chiqargan buklanadigan iPhone Duo qurilmasiga tayyorlandi. Ishning asosiy qismi Telegram-iOS ochiq repozitoriyasida 9-oktabrdagi c8bb114b kommitida joylashgan: 12 889 ta qoʻshilgan va 2 940 ta oʻchirilgan qator. Duo qurilmasida "Orqaga" tugmasi ekran chetidagi yon panelga oʻtadi, tab paneli vertikal holatga keladi, katta ichki ekrandagi hikoyalar esa iPad'dagidek karta shaklida ochiladi. Duo uchun soʻnggi oʻzgarishlar 22-oktabrda, versiya raqami 13.1.1 ga oʻzgarishidan bir soatdan kamroq vaqt oldin kodga kiritildi va oʻsha kunning kechqurun 13.1.1 App Store'da chiqdi. Bu Duo egalariga tegishli: boshqa iPhone va iPad qurilmalarida bir nechta qoʻshimcha tuzatishlardan tashqari joylashuv oʻzgarishsiz qoladi.

Duo ekranida nimalar oʻzgaradi

Asosiy qoida kod bilan birga repozitoriyada joylashgan qoʻllanmada yozilgan: "Orqaga" yoki "Yopish" tugmasi, agar mavjud boʻlsa, yon panelga joylashtiriladi. Standart ekranlar buni oʻzlari bajaradi, oʻz sarlavhasiga ega ekranlar esa tugma joyini umumiy belgilashdan oladi.

  • Chat. Sarlavha yuqori qator va yon ustunga boʻlinadi. Ustunda "Orqaga" tugmasi va suhbatdoshning avatari joylashgan, kiritish maydoni, agar boʻsh boʻlsa, panelning chetigacha choʻziladi.
  • Chatlar roʻyxati va profil. Tugmalar panelga oʻtadi, sarlavha ekraning qolgan qismi boʻyicha markazlashtiriladi.
  • Tab paneli. Pastdagi gorizontal panel oʻrniga – yon panelda vertikal kapsula, pastga siqilgan holatda. Chapda roʻyxat, oʻngda chat joylashgan ichki ekranda belgilar ostida yozuvlar yoʻq.
  • Ekran pastidagi tugmalar ("Davom etish", "Yuborish", tanlash panellari) panel bilan birga butun kenglik boʻylab choʻziladi. Istisnolar: markazdagi kichik tugmalar (yozish tugmasi, kamera oldindan koʻrishdagi "Tayyor"), "Ulashish" kabi baland, aylantiriladigan varaqlar va yuqoriga oʻsadigan kiritish maydoni. Ular ekraning asosiy qismida qoladi: aks holda kichik tugma tarkib oʻqidan 42 nuqtaga siljigan boʻlar edi, baland varaqning burchaklaridagi tugmalar burchak blokiga yetib borgan boʻlar edi, kiritish maydoni esa oʻz qatorlarining kengligini egallaydi.
  • Hikoyalar yoyilgan ekranda iPad'dagidek markazda 9:16 nisbatli karta shaklida, xira fon bilan koʻrsatiladi. Bu tuzatishsiz hikoya butun ekranga choʻzilib, kesilgan boʻlar edi.
  • "Tayyor" "Oʻzgartirish/Tayyor" tugmasi boʻlgan ekranlarda yuqori qatorda qoladi. Ilgari u qatordan yon ustunning doirasiga sakrab oʻtgan.

Nima uchun Duo oʻz joylashuviga muhtoj

Oddiy iPhone'da tizim ekran chetlarini zaxiraga oladi: tepada soatli kesma, pastda "Uy" imo-ishorasi paneli. Duo'da zaxira – bu bir burchakdagi toʻrtburchak blok boʻlib, u yerda soat, aloqa belgilari va kamera joylashgan. iOS bu blokni chetning butun balandligi boʻylab chekinishgacha kengaytiradi va tizim chekinishlariga rioya qiladigan ilova chet boʻylab 84 nuqta kenglikdagi panelni yoʻqotadi. Telegram tizim chekinishlariga rioya qilishda davom etadi va burchak bloklarining oʻlchamlarini qurilmaning har bir holati boʻyicha oʻz jadvalidan oladi. Qurilmani aylantirish va buklashdan keyingi tizimning jonli qiymatlari 0,6 soniyagacha oʻtish davrida boʻladi, shuning uchun ular oʻqilmaydi.

HolatOyna, nuqtaBurchak blokiYon tomonda nima qoladi
Buklangan, vertikal466 × 678oʻng tepada, 84 × 170blok ostidagi oʻng panel
Buklangan, chapga burilgan678 × 466oʻng pastda, 84 × 82blok ustidagi oʻng panel
Buklangan, oʻngga burilgan678 × 466chap tepada, 84 × 84blok ostidagi chap panel
Yoyilgan, vertikal669 × 951oʻng tepada, 134 × 82panel yoʻq, tepada "status orolchasi"
Yoyilgan, gorizontal951 × 669oʻng tepada, 84 × 120blok ostidagi oʻng panel

Shu yerdan qoʻllanma birinchi deb ataydigan asosiy tuzoq kelib chiqadi: buklangan Duo'da yon chekinish vertikal yoʻnalishda mavjud, iPhone uchun har qanday ilova kodi esa odatda portretda yon chekinishlar boʻlmasligini nazarda tutadi.

Kodni oʻzgartirishga majbur qilgan qurilmaning yana uchta xususiyati:

  • UIScreen.main Duo'da har doim tashqi ekranni qaytaradi, hatto telefon yoyilgan boʻlsa ham. Old kamera va video xabarlar bilan suratga olishda yorugʻlik, QR-kodni koʻrsatishda yorqinlik va avtomatik tungi rejim notoʻgʻri ekranning yorqinligini oʻzgartirgan.
  • Tashqi ekranning burchaklari har xil yumaloqlangan: bukilish tomonidan 8 nuqta va tashqaridan 59 nuqta. Ichki ekranning barcha burchaklari 55 nuqtadan. Varaqlar, ekranlar orasidagi oʻtishlar va hikoyalar kamerasini ochishda chatlar roʻyxatining siljishi endi har bir burchak boʻyicha alohida yumaloqlanadi.
  • Gorizontal yoyilgan Duo'ni tizim "oddiy kenglikdagi" ekran deb hisoblaydi, xuddi iPad'dagidek, garchi bu telefon boʻlsa ham. Ekran kengligi boʻyicha "bu iPadmi?" tekshiruvlari buzilgan, ilovadan ekranni aylantirishni esa yoyilgan Duo umuman bajarmaydi.
Joylashuv xatolari qanday koʻrinardi

Qoʻllanma boshqa qurilmalarda sezilmaydigan tipik xatolarni sanab oʻtadi, chunki u yerda chap va oʻng chekinishlar teng. Chap chetning chekinishi oʻng tomonga ham qoʻyilgan. Ekraning asosiy qismi kengligidagi blok butun ekran boʻyicha markazlashtirilib, panelga 42 nuqtaga siljigan. Oʻng chetdagi tugma chap chekinishdan hisoblangan. 9:16 nisbatli kamera oldindan koʻrish ekrandan yuqorida chiqqan: buklangan Duo'da 150 nuqtaga. Ekran chetidan "Uy" tugmasi boʻlgan iPhone uchun eski konstantalar boʻyicha hisoblangan pastki tugmalar imo-ishora paneliga joylashgan. Har bir tuzatish, burchak bloklari boʻlmaganda va chekinishlar teng boʻlganda, avvalgi ifodaga qaytishi shart, shuning uchun boshqa qurilmalar avvalgidek xuddi shu narsani baytma-bayt chizadi.

298 ta ekran qanday tekshirildi

Ish jarayoni ekranlarni tekshirish boʻyicha hisobotda yozilgan. feature/reserved-corners tarmogʻi 25-sentabrdan 9-oktabrgacha yuritilgan, tekshirishning oʻzi esa 8 va 9-oktabr kunlari boʻlib oʻtgan. 298 ta ekran tekshirilgan, yaʼni ikkita test stubidan tashqari ilovaning barcha ekran kontrollerlari. Ularni kodni oʻzgartirishga ruxsat berilmagan agentlar oʻqigan va har bir ekran tekshirish jadvalida bir qator olgan: topilma yoki tuzatish nima uchun kerak emasligi sababi. Tuzatishlar har biri faqat oʻz fayllariga kiritilgan, uchta tekshiruvchi esa har bir diffni qoidalar bilan solishtirgan. Asosiy kommit va deyarli barcha keyingi kommitlar Claude Opus 5.5 hammuallifi tomonidan imzolangan. Kommit xabariga koʻra, jami 65 ga yaqin topilma tuzatilgan.

Shu bilan birga, notekis chekinishdan koʻra jiddiyroq xatolar ham topilgan:

  • "Chat mavzulari" ekrani aylantirishda xato bilan yopilgan, chunki roʻyxat elementlari asosiy oqimda yaratilmagan;
  • Duo'dagi jonli efir sozlamalaridagi tugma panel yonidagi boʻsh joydan kengroq boʻlib, ekran chetidan 12 nuqtaga chiqib ketgan;
  • Telegram Passport avtorizatsiya tugmasi buklangan gorizontal holatda burchak bloki ostida qolgan.

Ekrandagi tekshiruvlar iOS 27.1 bilan Duo simulyatorida oʻtkazilgan. Simulyatorni buyruq qatoridan buklash va yoyish mumkin emas, shuning uchun yoyilgan gorizontal holat uchun tuzatishlarning aksariyati faqat yigʻish va kodni oʻqish orqali tekshirilgan. Bu hisobotning boʻshliqlar boʻlimida toʻgʻridan-toʻgʻri yozilgan. Test akkauntida boʻlmagan ekranlar ham shu yerga kiritilgan: Premium obunasi tugmalari (akkauntda obuna allaqachon mavjud), chatlarni import qilish va jonli qoʻngʻiroqlar.

Qurilma chiqishiga qadar nimalar yakunlandi

Asosiy kommitdan soʻng Duo uchun tuzatishlar davom etdi. 18-oktabrda qoʻshni hikoyalar yon panelga koʻrinmaydigan boʻldi: oddiy telefonda ular ekran chetida turadi, Duo'da esa boshqa hikoyaning bir qismi doimo soat ostida koʻrinib turgan. Oʻsha kuni hamyon tablari oʻzgartirgichi va yon ustundagi avatarning animatsiyasi tuzatildi. 22-oktabrda hikoyalar kamerasi va muharriri tugmalarni "Uy" imo-ishorasi panelidan yuqoriga koʻtardi, yoyilgan gorizontal ekrandagi chatlar roʻyxatidagi qidiruv maydoni esa yarmi yuqori chetdan chiqib ketmaydigan boʻldi.

versions.json faylida 13.1.1 raqami 22-oktabr kuni UTC vaqti bilan 12:11 da, Duo uchun soʻnggi tuzatishdan toʻqqiz daqiqa oʻtib paydo boʻldi. App Store'da 13.1.1 versiyasi oʻsha kuni UTC vaqti bilan 18:45 da "Bug fixes, minor improvements, and more" tavsifi bilan chiqdi. Ilova qurilmalari roʻyxatida iPhone Duo koʻrsatilgan, ammo bu roʻyxat faqat ilovaning oʻrnatilishini bildiradi, ekranga moslashtirilganligini emas. Duo egalari oladigan build raqami va sanasi boʻyicha ochiq kod bilan mos keladi, App Store'dagi binar kodning oʻzi esa kod bilan solishtirilmagan.