توقف Telegram لنظام iOS 13.1.1، وفقًا للتعليمات البرمجية المفتوحة، عن إرسال إشعار قراءة إلى الغريب الذي بدأ المحادثة. طالما أن لوحة "الإبلاغ عن رسائل مزعجة" و"حظر" معلقة فوق الدردشة، فإن العميل لا يقرأ رسائله، ولا يعرض أزراره، ويفتح روابطه كنص عادي، ويخفي حالة الإيموجي الخاصة به. يتم إلغاء هذا الوضع عند إزالة اللوحة، وعند الرد يتم إلغاؤه محليًا، ويشير مؤلفو التعديل أنفسهم إلى أن الخادم قد يعيده. يوجد هذا التعديل في مستودع Telegram-iOS ضمن الكوميت 007fb3f1 بتاريخ 22 أكتوبر، وقد تم تضمينه في وسم release-13.1.1، وصدر الإصدار نفسه في App Store في نفس المساء. ينطبق هذا على كل من يتلقى رسائل من غرباء، وعلى من يكتب أولاً: إذا أرسلت رسالة إلى شخص يستخدم iPhone، فستظهر علامتا الصح فقط بعد أن يقرر ما سيفعله معك.
ما يعتبره العميل محادثًا مشبوهًا
عندما يكتب شخص ليس من جهات الاتصال أولاً، يرسل الخادم إلى العميل إعدادات هذه الدردشة، وهي peerSettings في مخطط API. من بين العلامات هناك report_spam و block_contact: هل يجب عرض زري "الإبلاغ عن رسائل مزعجة" و"حظر" أم لا. لا توجد علامة "مشبوه" منفصلة في المخطط. في كود Telegram لنظام iOS، تعتبر الدردشة مشبوهة طالما أن إحدى هاتين العلامتين على الأقل موجودة، وهذا هو المسند isSuspiciousPeer. تحمل نفس الإعدادات بلد الرقم، وشهر التسجيل، وتواريخ تغيير الاسم والصورة، والتي تُعرض منذ مارس 2025 في بطاقة الغريب فوق الرسالة الأولى.
قبل الإصدار 13.1.1، كانت الشبهة تغير القليل: في نص هذا المحادث، كانت الروابط، والإشارات، والهاشتاجات، وعناوين البريد الإلكتروني، وأرقام البطاقات، وعناوين TON تُعرض كنص عادي، ولا يمكن النقر عليها، والنقر على بطاقة المعاينة لا يفعل شيئًا. كانت الأزرار أسفل الرسائل، والزر والروابط في نص المعاينة، والروابط في رسائل HTML، وحالة الإيموجي الخاصة به تعمل كأي شخص آخر، وكانت الرسائل تُعلم بأنها مقروءة فور فتح الدردشة.
ما الذي تغير في الإصدار 13.1.1
يغير الكوميت 007fb3f1 عدد 16 ملفًا، مع إضافة 491 سطرًا وحذف 29 سطرًا. طالما أن لوحة الإبلاغ موجودة:
| ماذا | كان | أصبح |
|---|---|---|
| إشعار القراءة | يرسل عند فتح الدردشة | لا يرسل |
| الأزرار أسفل الرسالة | تُعرض وتعمل | لا تُعرض |
| الروابط في النص | نص عادي | نص عادي، كما كان من قبل |
| معاينة الرابط | البطاقة لا تُفتح، لكن الزر أسفلها والروابط في نصها تعمل | لا يوجد زر، الروابط في نص المعاينة معطلة، الوسائط لا تُفتح |
| رسائل HTML | الروابط والأزرار تعمل | الروابط أصبحت نصًا، الأزرار أُزيلت |
| حالة الإيموجي للمحادث | مرئية في عنوان الدردشة وفي الملف الشخصي | مخفية، يظهر نجمة بدلاً منها لمشترك Premium |
القراءة. إشعار القراءة في Telegram وإعادة تعيين عداد الرسائل غير المقروءة للدردشة هما نفس الإجراء: يبلغ العميل الخادم برقم آخر رسالة مقروءة، ويعرض الخادم علامة الصح الثانية للمرسل. الآن يحتفظ العميل بهذا الإجراء طالما أن المحادث مشبوه، وفي حالة أخرى: عندما تُفتح دردشة مع غير جهة اتصال لأول مرة ولم تصل الإعدادات بعد من الخادم. لا يمكن إلغاء إشعار القراءة المرسل، لذلك ينتظر العميل القرار بدلاً من القراءة "احتياطًا". يذكر التعليق على مراجعة التعديل أنه على المحاكي، تم تأجيل قرارات القراءة وتطبيقها بعد إغلاق اللوحة وبعد إرسال الرسالة.
الأزرار. تمت إزالة صفوف الأزرار أسفل الرسائل من الفقاعات العادية، والملصقات، والرسائل الفيديو الدائرية (الـ "كروجوكس"). بالنسبة لرسائل HTML، تمت إضافة تحويل منفصل: تصبح الروابط، وعناوين البريد الإلكتروني، والإشارات، والهاشتاجات، وأرقام البطاقات، وعناوين TON نصًا، وتختفي الأزرار المضمنة، ويبقى النص فقط للزر المصمم كرابط، وتفقد الصورة رابطها. تظل أرقام الهواتف، وأوامر البوتات، والتواريخ، والـ "ياكورا" (anchors)، والإيموجي المخصصة كما هي. يحتفظ كل كتلة برقمها لكي تستمر الاقتباسات من هذه الرسائل في الإشارة إلى نفس الأماكن.
معاينات الروابط. لم تعد بطاقة معاينة الرسالة هذه تحتوي على زر، ولا يمكن فتح الوسائط منها، وتمت إزالة نفس الروابط من نص المعاينة كما تم إزالتها من نص الرسالة.
حالة الإيموجي. لا تُعرض الحالة في عنوان الدردشة، ولا في الملاحظة الخاصة بلوحة Premium، ولا في رأس الملف الشخصي، بما في ذلك الغلاف وألوان الحالة القابلة للتحصيل.
تسري هذه القاعدة فقط في الدردشات الخاصة. لا تتغير الأسطر في قائمة الدردشات، والبحث، وكذلك المجموعات والقنوات التي تحتوي على لوحة الإبلاغ.
كيفية الخروج من هذا الوضع
تزيل أربعة إجراءات اللوحة، لكن ليس كلها تلغي الوضع في كود العميل:
- إغلاق اللوحة بعلامة X. يستدعي العميل
messages.hidePeerSettingsBarويقوم بنفسه بتصفير علامات الدردشة، دون انتظار الخادم. وبنفس الطريقة، تزيل شكوى البريد المزعج العلامات محليًا. - حظر المحادث أو إضافته إلى جهات الاتصال. في هذه الحالة، يغير العميل فقط الحظر أو حالة جهة الاتصال، ولا يلمس علامتي
report_spamوblock_contact: سينتهي الوضع عندما يرسل الخادم إعدادات دردشة جديدة. - الرد. عند إرسال أي رسالة، باستثناء الرسائل المجدولة، يزيل العميل بنفسه هاتين العلامتين من الدردشة، ويبقى اقتراح "إضافة إلى جهات الاتصال". الرسالة المجدولة لا تصل إلى أحد قبل الموعد المحدد ولا تزيل الوضع.
تم وصف المسار الثالث في المستودع مع تحفظ: يتم إزالة العلامات عند الرد محليًا فقط، ويقوم users.getFullUser عند كل تحديث بإعادة كتابة إعدادات الدردشة بما أرسله الخادم. إذا لم يقم الخادم بإزالة العلامات بعد ردك، فسيعود الوضع عند التحديث التالي. حتى 21 أكتوبر، لم يقم مؤلفو التعديل باختبار ذلك، لم يكن لديهم حساب ثانٍ للاختبار. الخيار الاحتياطي الذي يذكرونه هو استدعاء hidePeerSettingsBar عند الإرسال، ولكن في هذه الحالة ستختفي أيضًا "إضافة إلى جهات الاتصال".
ما هو معروف عن البناء
تم دمج الكوميت في الفرع الرئيسي بتاريخ 22 أكتوبر الساعة 11:20 بالتوقيت العالمي المنسق (UTC). بعد 51 دقيقة، في الساعة 12:11 بالتوقيت العالمي المنسق، تغير رقم الإصدار في versions.json إلى 13.1.1، ويقف وسم release-13.1.1 على هذا الكوميت بالرقم، ويدخل 007fb3f1 فيه قبل ثلاثة كوميتات. في App Store، صدر الإصدار 13.1.1 في نفس اليوم الساعة 18:45 بالتوقيت العالمي المنسق مع وصف "Bug fixes, minor improvements, and more". لم يتم التحقق من بناء App Store مع الكود المفتوح. يقوم نفس الإصدار بإعادة ترتيب الواجهة لدعم iPhone Duo القابل للطي.
تم اختبار التعديل على محاكي باستخدام مفتاح مؤقت يقوم بتشغيل الوضع إجباريًا، ولم يتم تضمينه في الكوميت. تم التحقق من لوحات المفاتيح العادية وأزرار الروابط على المحاكي، بينما تم تغطية تحويل رسائل HTML بالاختبارات فقط، ولم تكن هناك رسالة HTML حية من غريب في الاختبار. التوقيع أسفل الكوميت مشترك بين شخص و Claude Opus 5.5.
بلد الرقم وسطر CanadaVoIP الجديد
تأخذ بطاقة الغريب بلد الرقم ليس من الرقم نفسه، بل من حقل phone_country في نفس إعدادات الدردشة: يرسل الخادم رمزًا من حرفين، ويبحث العميل عنه في قائمة البلدان help.getCountriesList، ويستبدل الاسم ويرسم العلم وفقًا للرمز. للرمز FT، يكتب iOS "أرقام مجهولة" (وهي أرقام +888)، وللرمز TS - "Test".
في 24 أكتوبر، ظهر إدخال جديد في هذه القائمة: الرمز CP، الاسم CanadaVoIP، رمز الهاتف +1، بدون بادئات أو أنماط أرقام. في البداية، استقبله الخادم التجريبي، بحلول الساعة 09:33 بالتوقيت العالمي المنسق، ثم الخادم الرئيسي، بحلول الساعة 12:18 بالتوقيت العالمي المنسق. تم وضع علامة على الإدخال بأنه مخفي. قبله، كانت هناك ثلاثة إدخالات مخفية في القائمة: XG "Global Mobile Satellite System" (+881)، XV "International Networks" (+882, +883)، و YL "Y-land" (+42). إجمالي الإدخالات في القائمة 236.
لا تعرض iOS الإدخالات المخفية في اختيار البلد عند تسجيل الدخول، لكنها تخزنها وتجدها بالرمز. لن يظهر الإدخال أيضًا عند طلب الرقم: عند المطابقة، تتجاوزه الولايات المتحدة، حيث تأتي لاحقًا في القائمة بنفس الرمز +1. يبقى مكان واحد فقط حيث سيقرأه العميل - رمز phone_country الذي يأتي من الخادم. وفقًا لهذا المنطق، يعتزم الخادم التمييز بين أرقام مشغلي VoIP الكنديين والأرقام الأخرى التي تحمل الرمز +1، وفي بطاقة الغريب على iPhone، ستظهر كلمة CanadaVoIP بدلاً من "كندا". هذا استنتاج من القائمة وكود العميل، ولم يتم ملاحظة دردشة حية بهذا الرمز.
يتجاهل Telegram Desktop الإدخالات المخفية بالكامل عند تحميل القائمة، لذلك بالنسبة للرمز CP، سيرسم علمًا بدون اسم. العلم لكلا العميلين هو نفسه، بحرفين: في ISO 3166-1، الرمز CP محجوز لجزيرة كليبرتون، وهي منطقة فرنسية غير مأهولة في المحيط الهادئ.




