تلگرام برای iOS دکمه «بازگشت» را به نوار کناری آیفون تاشوی Duo منتقل کرد و تمام ۲۹۸ صفحه نمایش را برای آن بررسی کرد.
تلگرام برای iOS خود را برای آیفون تاشوی Duo آماده کرده است که اپل فروش آن را از ۲۳ اکتبر آغاز کرد. بخش عمده این کار در ریپازیتوری عمومی Telegram-iOS با یک کامیت c8bb114b در ۹ اکتبر انجام شده است: ۱۲٬۸۸۹ خط اضافه و ۲٬۹۴۰ خط حذف شده است. در Duo، دکمه «بازگشت» به نوار کناری در لبه صفحه نمایش منتقل میشود، نوار برگهها (تبها) عمودی میشود و استوریها در صفحه نمایش داخلی بزرگ، مانند iPad، به صورت کارت باز میشوند. آخرین تغییرات برای Duo در ۲۲ اکتبر، کمتر از یک ساعت قبل از تغییر شماره نسخه به 13.1.1، وارد کد شدند و در عصر همان روز، نسخه 13.1.1 در App Store منتشر شد. این تغییرات مربوط به دارندگان Duo است: در سایر iPhone و iPad، طرحبندی (layout) به جز چند اصلاحیه جزئی، بدون تغییر باقی میماند.
چه چیزهایی در صفحه نمایش Duo تغییر میکند؟
قانون اصلی در راهنما که در کنار کد در ریپازیتوری قرار دارد، ثبت شده است: دکمه «بازگشت» یا «بستن» در صورت وجود نوار کناری، در آن قرار میگیرد. صفحات استاندارد این کار را خودشان انجام میدهند، در حالی که صفحات با هدر سفارشی، فضای دکمه را از طرحبندی کلی میگیرند.
- چت. هدر به یک ردیف بالا و یک ستون کناری تقسیم میشود. دکمه «بازگشت» و آواتار مخاطب در ستون قرار میگیرند و فیلد ورودی تا لبه نوار کشیده میشود، اگر فضای آن آزاد باشد.
- لیست چتها و پروفایل. دکمهها به نوار کناری منتقل میشوند و عنوان در قسمت باقیمانده صفحه نمایش مرکزی میشود.
- نوار برگهها. به جای نوار افقی در پایین، یک کپسول عمودی در نوار کناری، چسبیده به پایین، قرار میگیرد. در صفحه نمایش داخلی، جایی که لیست در سمت چپ و چت در سمت راست است، زیرنویس زیر آیکونها وجود ندارد.
- دکمههای پایین صفحه نمایش («ادامه»، «ارسال»، پنلهای انتخاب) به همراه نوار کناری، به تمام عرض کشیده میشوند. استثناها: دکمههای کوچک در مرکز (دکمه ضبط، «انجام شد» در پیشنمایش دوربین)، برگههای بلند با قابلیت اسکرول مانند «اشتراکگذاری» و فیلد ورودی که به سمت بالا رشد میکند. این موارد در قسمت اصلی صفحه نمایش باقی میمانند: در غیر این صورت، دکمه کوچک ۴۲ نقطه از محور محتوا جابجا میشد، دکمهها در گوشههای برگه بلند به بلوک گوشهای میرسیدند و فیلد ورودی عرض خطوط خود را اشغال میکند.
- استوریها در صفحه نمایش باز شده به صورت کارت ۹:۱۶ در مرکز با پسزمینه محو، مانند iPad، نمایش داده میشوند. بدون این اصلاحیه، استوری تمام صفحه را اشغال کرده و بریده میشد.
- «انجام شد» در صفحاتی با سوئیچ «ویرایش/انجام شد» در ردیف بالا باقی میماند. قبلاً از ردیف به دایره ستون کناری میپرید.
چرا Duo به طرحبندی خاص خود نیاز دارد؟
در iPhone معمولی، سیستم لبههای صفحه نمایش را رزرو میکند: در بالا بریدگی با ساعت، در پایین نوار ژست «خانه». در Duo، رزرو یک بلوک مستطیلی در یک گوشه است که ساعت، آیکونهای اتصال و دوربین در آن قرار دارند. iOS این بلوک را تا یک حاشیه به ارتفاع کامل لبه گسترش میدهد و برنامهای که فقط حاشیههای سیستمی را رعایت میکند، نواری به عرض ۸۴ نقطه را در امتداد لبه از دست میدهد. تلگرام همچنان حاشیههای سیستمی را رعایت میکند و ابعاد بلوکهای گوشهای را از جدول خود برای هر موقعیت دستگاه میگیرد. مقادیر زنده سیستم پس از چرخش و تا شدن تا ۰.۶ ثانیه گذرا هستند، بنابراین خوانده نمیشوند.
| موقعیت | پنجره، نقطه | بلوک گوشهای | چه چیزی در کنار باقی میماند |
|---|---|---|---|
| تا شده، عمودی | ۴۶۶ × ۶۷۸ | بالا راست، ۸۴ × ۱۷۰ | نوار سمت راست زیر بلوک |
| تا شده، به چپ چرخیده | ۶۷۸ × ۴۶۶ | پایین راست، ۸۴ × ۸۲ | نوار سمت راست بالای بلوک |
| تا شده، به راست چرخیده | ۶۷۸ × ۴۶۶ | بالا چپ، ۸۴ × ۸۴ | نوار سمت چپ زیر بلوک |
| باز شده، عمودی | ۶۶۹ × ۹۵۱ | بالا راست، ۱۳۴ × ۸۲ | نواری نیست، بالای آن «جزیره» |
| باز شده، افقی | ۹۵۱ × ۶۶۹ | بالا راست، ۸۴ × ۱۲۰ | نوار سمت راست زیر بلوک |
از اینجا، تله اصلی که راهنما آن را اولین مورد مینامد، مشخص میشود: در Duo تا شده، حاشیه کناری در جهت عمودی وجود دارد، در حالی که کد هر برنامه برای iPhone معمولاً فرض میکند که در حالت پرتره، حاشیههای کناری وجود ندارند.
سه ویژگی دیگر دستگاه که برای آنها نیاز به تغییر کد بود:
UIScreen.mainدر Duo همیشه صفحه نمایش بیرونی را برمیگرداند، حتی زمانی که گوشی باز شده است. نورپردازی هنگام عکسبرداری با دوربین جلو و پیامهای ویدیویی، روشنایی هنگام نمایش QR-کد و حالت شب خودکار، روشنایی صفحه نمایش اشتباهی را تغییر میدادند.- انحنای گوشههای صفحه نمایش بیرونی متفاوت است: ۸ نقطه از سمت تا شدن و ۵۹ نقطه از بیرون. در صفحه نمایش داخلی، تمام گوشهها ۵۵ نقطه هستند. برگهها، انتقال بین صفحات و جابجایی لیست چتها هنگام باز کردن دوربین استوریها اکنون برای هر گوشه به صورت جداگانه گرد میشوند.
- Duo باز شده به صورت افقی، توسط سیستم به عنوان صفحه نمایش «عرض معمولی» مانند iPad در نظر گرفته میشود، اگرچه یک گوشی است. بررسیهای «آیا این iPad است؟» بر اساس عرض صفحه نمایش با مشکل مواجه میشدند و Duo باز شده، چرخش صفحه نمایش را از برنامه اصلاً انجام نمیدهد.
خطاهای طرحبندی چگونه به نظر میرسیدند
راهنما خطاهای رایجی را فهرست میکند که در دستگاههای دیگر قابل مشاهده نیستند، زیرا حاشیههای چپ و راست در آنها برابرند. حاشیه لبه چپ در سمت راست نیز اعمال میشد. بلوکی به عرض قسمت اصلی صفحه نمایش در کل صفحه نمایش مرکزی میشد و ۴۲ نقطه به سمت نوار جابجا میشد. دکمه در لبه راست از حاشیه چپ محاسبه میشد. پیشنمایش دوربین ۹:۱۶ بالاتر از صفحه نمایش قرار میگرفت: در Duo تا شده ۱۵۰ نقطه. دکمههای پایینی، که از لبه صفحه نمایش بر اساس ثابتهای قدیمی برای iPhone با دکمه «خانه» محاسبه شده بودند، روی نوار ژست قرار میگرفتند. هر اصلاحیه باید به همان عبارت قبلی برگردد، زمانی که بلوکهای گوشهای وجود ندارند و حاشیهها برابرند، بنابراین سایر دستگاهها بایت به بایت همان چیزی را نمایش میدهند که قبلاً نمایش میدادند.
۲۹۸ صفحه نمایش چگونه بررسی شدند؟
روند کار در گزارش بررسی صفحات ثبت شده است. شاخه feature/reserved-corners از ۲۵ سپتامبر تا ۹ اکتبر توسعه یافت و خود بررسی در ۸ و ۹ اکتبر انجام شد. ۲۹۸ صفحه نمایش، یعنی تمام کنترلکنندههای صفحه نمایش برنامه، به جز دو جایگزین آزمایشی، بررسی شدند. این صفحات توسط عاملانی که اجازه تغییر کد را نداشتند، خوانده شدند و هر صفحه یک ردیف در جدول بررسی دریافت کرد: یک یافته یا دلیلی که چرا اصلاحیه لازم نیست. اصلاحات هر کدام فقط در فایلهای خودشان اعمال میشدند و سه بازبین هر تفاوت را با قوانین مقایسه میکردند. کامیت اصلی و تقریباً تمام کامیتهای بعدی توسط همکار Claude Opus 5.5 امضا شدهاند. در مجموع، طبق گزارش کامیت، حدود ۶۵ یافته اصلاح شده است.
در این میان، خطاهای جدیتری از حاشیه نامنظم نیز یافت شد:
- صفحه «تمهای چت» هنگام اسکرول با خطا بسته میشد، زیرا عناصر لیست در رشته اصلی ایجاد نمیشدند؛
- دکمه در تنظیمات پخش زنده در Duo پهنتر از فضای آزاد کنار نوار بود و ۱۲ نقطه از لبه صفحه نمایش خارج میشد؛
- دکمه احراز هویت Telegram Passport در حالت افقی تا شده، زیر بلوک گوشهای قرار میگرفت.
بررسیها روی صفحه نمایش در شبیهساز Duo با iOS 27.1 انجام شد. تا کردن و باز کردن شبیهساز از خط فرمان امکانپذیر نیست، بنابراین بخش عمده اصلاحات برای حالت افقی باز شده فقط با ساخت و خواندن کد بررسی شده است. این موضوع به صراحت در بخش گزارش مربوط به شکافها ثبت شده است. صفحاتی که در حساب آزمایشی وجود نداشتند نیز به همین بخش ارجاع داده شدهاند: دکمههای خرید Premium (حساب قبلاً اشتراک دارد)، وارد کردن چتها و تماسهای زنده.
چه کارهایی تا زمان عرضه دستگاه تکمیل شد؟
پس از کامیت اصلی، اصلاحات برای Duo ادامه یافت. در ۱۸ اکتبر، استوریهای مجاور دیگر در نوار کناری دیده نمیشدند: در گوشی معمولی آنها پشت لبه صفحه نمایش قرار دارند، اما در Duo تکهای از استوری دیگر همیشه زیر ساعت قابل مشاهده بود. در همان روز، سوئیچ برگههای کیف پول و انیمیشن آواتار در ستون کناری اصلاح شد. در ۲۲ اکتبر، دوربین استوریها و ویرایشگر دکمهها را بالای نوار ژست «خانه» قرار دادند و فیلد جستجو در لیست چتها در صفحه نمایش افقی باز شده دیگر تا نیمه از لبه بالایی خارج نمیشد.
در فایل versions.json، شماره 13.1.1 در ۲۲ اکتبر ساعت ۱۲:۱۱ UTC، نه دقیقه پس از آخرین اصلاحیه برای Duo، ظاهر شد. در App Store، نسخه 13.1.1 در همان روز ساعت ۱۸:۴۵ UTC، با توضیحات «Bug fixes, minor improvements, and more» منتشر شد. در لیست دستگاههای برنامه، iPhone Duo ذکر شده است، اما این لیست فقط نشان میدهد که برنامه قابل نصب است، نه اینکه برای صفحه نمایش آن بهینهسازی شده است. بیلد (ساخت) که دارندگان Duo دریافت میکنند، از نظر شماره و تاریخ با کد عمومی مطابقت دارد، اما خود باینری از App Store با کد مقایسه نشده است.




