iOS için Telegram, Apple'ın 23 Ekim'de satışa sunduğu katlanabilir iPhone Duo'ya hazırlandı. Çalışmanın ana kısmı, 9 Ekim tarihli c8bb114b commit'iyle Telegram-iOS açık deposunda yer alıyor: 12.889 eklenen ve 2.940 silinen satır. Duo'da «Geri» düğmesi ekranın kenarındaki yan şeride taşınıyor, sekme çubuğu dikey hale geliyor ve büyük iç ekrandaki hikayeler iPad'deki gibi bir kart olarak açılıyor. Duo için son düzenlemeler 22 Ekim'de, sürüm numarasının 13.1.1'e değişmesinden bir saatten az bir süre önce koda dahil edildi ve aynı günün akşamı 13.1.1 App Store'da yayınlandı. Bu durum Duo sahiplerini ilgilendiriyor: Diğer iPhone ve iPad'lerde, birkaç küçük düzeltme dışında düzen aynı kalıyor.
Duo Ekranında Neler Değişiyor
Ana kural, kodun yanında depoda bulunan kılavuzda belirtilmiştir: «Geri» veya «Kapat» düğmesi, varsa yan şeride yerleştirilir. Standart ekranlar bunu kendileri yapar, kendi başlığına sahip ekranlar ise düğme yerini genel düzenden alır.
- Sohbet. Başlık, üst satır ve yan sütuna bölünür. Sütunda «Geri» düğmesi ve karşıdaki kişinin avatarı bulunur; giriş alanı, boşsa şeridin kenarına kadar uzanır.
- Sohbet Listesi ve Profil. Düğmeler şeride taşınır, başlık ekranın kalan kısmına göre ortalanır.
- Sekme Çubuğu. Alttaki yatay şerit yerine, yan şeritte alta yaslanmış dikey bir kapsül bulunur. Solda liste, sağda sohbet olan iç ekranda simgelerin altında etiketler yoktur.
- Ekranın altındaki düğmeler («Devam», «Gönder», seçim panelleri) şeritle birlikte tüm genişliğe yayılır. İstisnalar: ortadaki küçük düğmeler (kayıt düğmesi, kamera önizlemesindeki «Bitti»), «Paylaş» gibi kaydırılabilir yüksek sayfalar ve yukarı doğru büyüyen giriş alanı. Bunlar ekranın ana kısmında kalır: küçük bir düğme aksi takdirde içerik ekseninden 42 nokta kayar, yüksek bir sayfanın köşelerindeki düğmeler köşe bloğuna ulaşırdı ve giriş alanı kendi satırlarının genişliğini kaplar.
- Hikayeler açılmış ekranda, iPad'deki gibi ortada bulanık bir arka plana sahip 9:16 oranında bir kart olarak gösterilir. Bu düzeltme olmasaydı, hikaye tüm ekrana yayılır ve kırpılırdı.
- «Düzenle/Bitti» geçişine sahip ekranlarda «Bitti» üst satırda kalır. Daha önce satırdan yan sütunun dairesine atlardı.
Duo'nun Neden Kendi Düzenine İhtiyacı Var
Normal bir iPhone'da sistem ekranın kenarlarını ayırır: üstte saatli çentik, altta «Ana Ekran» hareketi şeridi. Duo'da rezerv, saat, bağlantı simgeleri ve kameranın bulunduğu bir köşedeki dikdörtgen bir bloktur. iOS bu bloğu kenarın tüm yüksekliği boyunca bir boşluğa genişletir ve sistem boşluklarına uyan bir uygulama, kenar boyunca 84 nokta genişliğinde bir şerit kaybeder. Telegram sistem boşluklarına uymaya devam eder ve köşe bloklarının boyutlarını cihazın her konumu için kendi tablosundan alır. Döndürme ve katlama sonrası sistemin canlı değerleri 0,6 saniyeye kadar geçişlidir, bu nedenle okunmazlar.
| Konum | Pencere, nokta | Köşe bloğu | Yan tarafta kalan |
|---|---|---|---|
| Katlanmış, dikey | 466 × 678 | sağ üstte, 84 × 170 | bloğun altındaki sağ şerit |
| Katlanmış, sola döndürülmüş | 678 × 466 | sağ altta, 84 × 82 | bloğun üstündeki sağ şerit |
| Katlanmış, sağa döndürülmüş | 678 × 466 | sol üstte, 84 × 84 | bloğun altındaki sol şerit |
| Açılmış, dikey | 669 × 951 | sağ üstte, 134 × 82 | şerit yok, üstte «status island» |
| Açılmış, yatay | 951 × 669 | sağ üstte, 84 × 120 | bloğun altındaki sağ şerit |
Buradan, kılavuzun ilk olarak bahsettiği ana tuzağa geliyoruz: katlanmış Duo'da dikey yönde bir yan boşluk vardır, oysa herhangi bir iPhone uygulaması kodu genellikle portre modunda yan boşlukların olmadığını varsayar.
Cihazın kodu değiştirmeyi gerektiren diğer üç özelliği:
- Duo'da
UIScreen.mainher zaman dış ekranı döndürür, telefon açılmış olsa bile. Ön kamera ve video mesajları çekerken aydınlatma, QR kodu gösterirken parlaklık ve otomatik gece modu yanlış ekranın parlaklığını değiştiriyordu. - Dış ekranın köşe yuvarlamaları farklıdır: katlama tarafında 8 nokta, dışarıda 59 nokta. İç ekranın tüm köşeleri 55 noktadır. Sayfalar, ekranlar arası geçişler ve hikaye kamerasını açarken sohbet listesinin kayması artık her köşe için ayrı ayrı yuvarlanır.
- Yatay olarak açılmış Duo, sistem tarafından bir telefon olmasına rağmen iPad gibi «normal genişlikte» bir ekran olarak kabul edilir. Ekran genişliğine göre «bu bir iPad mi?» kontrolleri bozuluyordu ve açılmış Duo, uygulamadan ekran döndürme işlemini hiç gerçekleştirmiyordu.
Düzen hataları nasıl görünüyordu
Kılavuz, diğer cihazlarda fark edilmeyen tipik hataları listeler, çünkü sol ve sağ boşluklar orada eşittir. Sol kenar boşluğu sağ tarafa da uygulanıyordu. Ekranın ana kısmının genişliğinde bir blok, tüm ekrana göre ortalanıyor ve şeride doğru 42 nokta kayıyordu. Sağ kenardaki bir düğme, sol boşluktan hesaplanıyordu. 9:16 kamera önizlemesi ekranın üzerinde kalıyordu: katlanmış Duo'da 150 nokta. «Ana Ekran» düğmeli iPhone'lar için eski sabitlere göre ekranın kenarından hesaplanan alt düğmeler, hareket şeridinin üzerine geliyordu. Her düzeltme, köşe blokları olmadığında ve boşluklar eşit olduğunda önceki ifadeye indirgenmek zorunda olduğundan, diğer cihazlar eskisiyle aynı şeyi bayt bayt çizer.
298 Ekran Nasıl Kontrol Edildi
Çalışmanın ilerleyişi, ekran kontrolüne ilişkin raporda kaydedilmiştir. feature/reserved-corners dalı 25 Eylül'den 9 Ekim'e kadar sürdürüldü ve kontrolün kendisi 8 ve 9 Ekim'de yapıldı. İki test yedeği hariç, uygulamanın tüm ekran denetleyicileri olan 298 ekran kontrol edildi. Bunlar, kodu değiştirmesi yasak olan ajanlar tarafından okundu ve her ekran kontrol tablosunda bir satır aldı: bir bulgu veya düzeltmenin neden gerekli olmadığına dair bir neden. Düzeltmelerin her biri yalnızca kendi dosyalarına yapıldı ve üç denetleyici her farkı kurallarla karşılaştırdı. Ana commit ve neredeyse tüm sonraki commit'ler Claude Opus 5.5'in ortak yazarı tarafından imzalandı. Commit mesajına göre toplamda yaklaşık 65 bulgu düzeltildi.
Bu arada, düzensiz boşluktan daha ciddi hatalar da bulundu:
- «Sohbet Temaları» ekranı kaydırılırken bir hatayla kapanıyordu, çünkü liste öğeleri ana iş parçacığında oluşturulmuyordu;
- Duo'daki canlı yayın ayarlarındaki düğme, şeridin yanındaki boş alandan daha genişti ve ekranın kenarından 12 nokta dışarı taşıyordu;
- Katlanmış yatay konumdaki Telegram Passport yetkilendirme düğmesi köşe bloğunun altında kalıyordu.
Ekran kontrolleri iOS 27.1 yüklü Duo simülatöründe yapıldı. Simülatörü komut satırından katlamak ve açmak mümkün olmadığından, açılmış yatay konum için yapılan düzeltmelerin çoğu yalnızca derleme ve kod okuma yoluyla kontrol edildi. Bu durum, raporun boşluklar bölümünde açıkça belirtilmiştir. Test hesabında bulunmayan ekranlar da bu bölüme dahil edilmiştir: Premium abonelik düğmeleri (hesapta zaten abonelik var), sohbet içe aktarma ve canlı aramalar.
Cihazın Çıkışına Kadar Neler Tamamlandı
Ana commit'ten sonra Duo için düzeltmeler devam etti. 18 Ekim'de komşu hikayeler yan şeride taşmayı bıraktı: normal bir telefonda ekranın kenarının arkasında dururken, Duo'da başka bir hikayenin bir parçası her zaman saatin altında görünüyordu. Aynı gün, cüzdan sekme geçişi ve yan sütundaki avatar animasyonu düzeltildi. 22 Ekim'de hikaye kamerası ve düzenleyici düğmeleri «Ana Ekran» hareketi şeridinin üzerine kaldırdı ve açılmış yatay ekrandaki sohbet listesindeki arama alanı üst kenarın yarısına kadar taşmayı bıraktı.
versions.json dosyasında 13.1.1 numarası 22 Ekim 12:11 UTC'de, Duo için yapılan son düzeltmeden dokuz dakika sonra ortaya çıktı. App Store'da 13.1.1 sürümü aynı gün 18:45 UTC'de «Bug fixes, minor improvements, and more» açıklamasıyla yayınlandı. Uygulamanın cihaz listesinde iPhone Duo yer alıyor, ancak bu liste yalnızca uygulamanın yüklenebildiğini belirtir, ekran için yeniden düzenlendiğini değil. Duo sahiplerinin aldığı derleme, numara ve tarih olarak açık kodla eşleşiyor, ancak App Store'daki ikili dosya kodla karşılaştırılmadı.




