Telegram for macOS klientining yangi ochiq repozitoriysiga havolani beta-testerlarga e'lon qilgan kunning o'zidayoq, klient jamoasi unga uchinchi tomon dasturchilaridan tuzatishlarni qabul qila boshladi. 25-oktabr soat 10:19 UTC holatiga ko'ra, TelegramMessenger/telegram-macos repozitoriysiga 19 muallifdan 81 ta pull request yuborilgan bo'lib, ulardan 30 tasi asosiy tarmoqqa (main branch) qo'shilgan. Qabul qilingan tuzatishlar macOS beta versiyasiga bir necha soat ichida yetib bormoqda, hatto bittasi bir soatdan kamroq vaqt ichida yetib borgan. Bu Mac uchun klientning beta-kanalida bo'lganlar va rasmiy klientni tuzatishni xohlaydigan, o'z forkini yozishni istamaydigan dasturchilarga tegishli.
Qancha tuzatish yuborildi va qanchasi qabul qilindi
Pull request — bu kodga taklif qilingan o'zgartirish bo'lib, repozitoriy egasi uni o'z tarmog'iga qo'shishi yoki rad etishi mumkin. Birinchi pull request 23-oktabr soat 14:18 UTC da kelgan, birinchisi esa 17:45 UTC da qo'shilgan: bu #3 bo'lib, mamlakatlar ro'yxatidagi kolleksion raqamlar uchun qaroqchi bayrog'i o'rniga olmos tasviri qo'yilgan. 23-oktabrda 17 ta, 24-oktabrda 55 ta, 25-oktabrning dastlabki o'n soatida esa yana 9 ta pull request yuborilgan.
25-oktabr soat 10:19 UTC holatiga ko'ra:
| Holat | Pull requestlar soni |
|---|---|
| Qo'shilgan | 30 |
| Qo'shilmasdan yopilgan | 14 |
| Ochiq | 37 |
Qo'shilgan tuzatishlar 11 xil muallif tomonidan yuborilgan bo'lib, jami 7 307 ta qo'shilgan qator va 1 089 ta o'chirilgan qatorni tashkil etadi. Barcha 30 ta tuzatish bitta akkaunt, macosswift tomonidan qo'shilgan. Uning profilida Telegram macOS nomi, Telegram kompaniyasi va macos.telegram.org sayti ko'rsatilgan. Bitta muallifning to'qqizta qo'shilgan tuzatishi codex/ prefiksli tarmoqlardan kelgan, OpenAI ning Codex agenti ularni sukut bo'yicha shunday nomlaydi.
Ikkinchi kuni qanday qoidalar paydo bo'ldi
24-oktabr soat 16:12 UTC da repozitoriyda CONTRIBUTING.md va pull request shabloni paydo bo'ldi. Endi har bir pull request to'rtta bo'limdan iborat bo'lishi kerak: asosiy o'zgarish, sabab, bir xil ssenariyda "oldin" va "keyin" skrinshotlari yoki videolari hamda tekshirish tavsifi. Agar ko'rinadigan natija bo'lmasa, skrinshotlar o'rniga nima uchun ekanligini tushuntirish va tekshirish natijasini ilova qilish kerak, xatti-harakatlardagi o'zgarishlar uchun esa macOS versiyasi va klientning build raqamini ko'rsatish lozim. Biror bo'limi bo'lmagan yoki tekshirish tasdig'i belgilanmagan pull request ko'rib chiqishga tayyor emas.
Shablon o'sha oqshomdan boshlab qo'llanila boshlandi. Soat 17:58 dan 18:09 UTC gacha to'rtta pull request REJECTED belgisi bilan yopildi: "oldin" va "keyin" ostida skrinshot ham, video ham yo'q edi. Soat 19:31 dan 19:36 UTC gacha yana 11 ta pull request ostida xuddi shunday izoh qoldirildi. Ular yopilmadi, balki to'ldirish so'raldi va ulardan ikkitasi o'sha oqshom qo'shildi.
Nima uchun rad etiladi
Bo'sh shablondan tashqari, tuzatishlar mazmuniga ko'ra, izohda tushuntirish bilan yopiladi:
- #6, yassi yon panel va tanlangan papkalar tablari interfeys va mahsulotni o'zgartiradi, bunday o'zgarishlarni jamoa "hozircha qabul qilishni rejalashtirmaydi";
- #13 AI-muharrir tugmasini 10-belgidan boshlab ko'rsatgan, dizayn bo'yicha esa u uch qatordan keyin paydo bo'ladi. Shu bilan birga, kiritish maydoni 30 nuqtaga sakrab turgan. Yuborilgan xabarlarni tahrirlash qismi ishlaydigan deb topildi va u alohida, #22 ga qo'shildi;
- #53 faqat ruscha qatorlarni qo'lda tahrirlagan, klient tarjimalari esa translations.telegram.org da barcha tillar uchun bir vaqtda amalga oshiriladi;
- #23, mahalliy buildlar va ilova imzosi: build va imzo sozlamalarini jamoa o'zi o'zgartirishga va'da bergan, bu tuzatishda esa CI dagi build testi buzilgan;
- #32 papkalarda foydalanuvchi a'zo bo'lmagan chatlarni ko'rsatgan, #40 esa qidiruvni buzgan. Uning ostida buzilish skrinshoti va videosi qoldirilgan.
#14 ostida dastlab kod yig'ilmayapti deb yozilgan va yuborishdan oldin buildni tekshirish so'ralgan. Keyinchalik u qo'shildi. Suzuvchi tab barli #75 ham izoh bilan qaytarildi: bir necha marta almashtirgandan so'ng avatarka tanlash halqasi bilan mos kelmay qolgan. Muallif buni 07:39 UTC da tuzatdi va 08:09 UTC da tuzatish qo'shildi.
Tuzatishlar beta versiyaga qanday tushadi
macOS beta versiyasi yangilanish versiyalari orqali "Bug fixes, minor improvements, and more" degan bir xil izoh bilan chiqadi. Buildga aynan uchinchi tomon tuzatishlari kiritilgani uning binary faylidan ko'rinadi: ularning kodidagi qatorlar ilgari bo'lmagan joylarda paydo bo'ladi.
13.1.0.283377 buildi 24-oktabr soat 21:27 UTC da chiqdi. Unda birinchi marta #20 dan ("Could not load message history" va "Message history pagination did not advance" qatorlari — chat eksporti xatolari endi har bir chat bo'yicha ko'rsatiladi, jim yo'qolmaydi), #10 dan ("Failed to persist the custom application icon at %@" — ilova ikonkasini o'zgartirish), #2 va #27 dan (bildirishnoma sozlamalari) hamda #16 dan (bot buyruqlari) xizmat nomlari mavjud. Bu beshta tuzatish 15:50 dan 18:45 UTC gacha qo'shilgan, ya'ni ular beta versiyaga 2 soat 43 minutdan 5 soat 37 minutgacha bo'lgan vaqt ichida yetib borgan.
13.1.0.283380 buildi 25-oktabr soat 09:06 UTC da, #75 qo'shilganidan 57 minut o'tib chiqdi. Unda ushbu tuzatish kodidan TabBarItemControl va SelectionGesture nomlari paydo bo'ldi.
Jamoaning o'z kod qismi deyarli beta versiyaga yetib oldi. 23-oktabr soat 17:04 UTC da asosiy tarmoqqa "Merge branch 'release' into master (13.1)" kommiti tushdi, Info.plist dagi build raqami 283305 dan 283357 gacha o'sdi, bir milliondan ortiq qator qo'shildi. Beta versiya o'sha paytga kelib allaqachon 283368 edi. Beta versiyada HTML va JavaScript da xabarlarni chizadigan HTMLBubbles moduli ochiq kodda hali ham yo'q, repozitoriyadagi ikkita skript esa uning u yerga tushmaganligini tekshiradi.
Nimalar allaqachon qo'shilgan
| Pull request | Nimalarni o'zgartiradi |
|---|---|
| #2 | iOS uchun Telegramdagi kabi bildirishnoma sozlamalari: kategoriyalar, istisnolar, reaksiyalar |
| #27 | Hikoyalar haqida bildirishnomalar va hikoyalar sozlamalari bo'limi |
| #75 | iOS dagi kabi suzuvchi tab bar, indikatorni tortish mumkin |
| #36 | Faol bo'lmagan seanslarni avtomatik yakunlash uchun "1 yil" muddati |
| #31, #37 | "Papkadan olib tashlash" bandi va papka avatarkasini o'chirish |
| #22 | Yuborilgan xabarni tahrirlashda AI-muharrir |
| #20 | Chat eksporti xatolari har bir chat bo'yicha ko'rinadi |
| #34, #9 | Rasmni nusxalash buferga rasmni o'zini joylaydi, xabarlar esa sana bilan birga nusxalanadi |
| #29, #30 | Interfeysni mintaqaviy tilga (masalan, pt-br) tarjima qilish va so'rovnomalar, vazifalar va kontaktga eslatmalarda diakritik belgili harflarni kiritish |
#75 da muallifning izohi bor: iOS dagi kabi indikator ustidagi linza effekti tuzatishga kiritilmagan. iOS da uni macOS SDK da mavjud bo'lmagan yopiq UIKit komponenti chizadi va uni faqat o'z Metal rendereri yordamida takrorlash mumkin.




