جديد في تحديث مايو 2026: تطبيق Mangatime على Android لم يعد مساراً واحداً، بل مسارَين رسميّين. تطبيق Capacitor أصلي بإصدار 0.3.0 جاهز للمتجر بحزمة app.mangatime.app، وPWA كامل المواصفات يُثبَّت من Chrome في أقلّ من 30 ثانية. ومعهما أكبر دفعة ميزات شُحنت دفعةً واحدة منذ انطلاق المنصّة: Wave 4 للأمان والأداء، Article Builder بثمانية وكلاء، مجتمع كامل عبر ثلاث موجات، Reels تحت اسم Rise، ودردشة على نمط Instagram. هذه المراجعة تشرح ما الذي تغيّر، وكيف تُثبّت التطبيق، وما الذي يستحقّ التجربة بعد التثبيت.
ما الذي تغيّر في Mangatime في تحديث مايو 2026؟
شُحنت موجة Wave 4 «Production Hardening» في 8 commits متتالية على فرع master يوم 19 مايو 2026، وتُغطّي ثمانية محاور: الأمان، العمليّات، السلامة، الأداء، الـSEO، تكامل الأعداد، الـA11y، والميزات. أُغلقت كلّ مشاكل P0 في تدقيق ما قبل الإطلاق العامّ، وفُعّل فلتر CSAM وبوّابة العمر قبل أن تُفتح أبواب المجتمع لأحد.
بالتوازي مع Wave 4 أُطلق Article Builder pipeline في 21 مايو: خطّ أنابيب يأخذ عنواناً واحداً ويُمرّره عبر ثمانية وكلاء بالترتيب — بحث، مخطّط، كتابة، مراجعة، صور، نشر اجتماعي، تلميع، ترجمة — ليُخرج مقالاً ثنائيّ اللغة جاهزاً للنشر. هذا المقال نفسه خرج من ذلك الخطّ. وعلى صعيد المجتمع، وصلت المنصّة إلى ما يشبه parity مع Amino بعد ثلاث موجات: XP ومستويات، غرف عامّة، كويزّات، Wiki قابل للتعديل، member directory، mentions inbox، خمسة إطارات قابلة للكسب، وعشر مهام يوميّة قابلة للتدوير.

تطبيق Mangatime على Android — نسختان لا واحدة
على Android لـ Mangatime تجربتان رسميّتان، وكلاهما يحمل الاسم نفسه والهويّة نفسها — ما يتغيّر هو الطبقة تحت السطح.
نسخة Capacitor الأصليّة (APK/AAB)
النسخة الأصليّة مبنيّة على Capacitor 8. يُعرّف ملف capacitor.config.ts قيمة appId كـ app.mangatime.app وappName كـ MangaTime، ويحمّل https://mangatime.app داخل WebView بـ androidScheme: https و cleartext: false وخلفيّة #0e0e14 متّسقة مع لوحة الموقع الداكنة منذ أوّل ميلّي ثانية من فتح التطبيق. آخر بناء جاهز في run-build-android/outputs/ هو mangatime-0.3.0.apk و mangatime-0.3.0.aab — والأخير هو ما سيُرفع إلى Google Play Console.
نسخة PWA من المتصفّح
في المقابل، ملف app/manifest.ts يُعلن display: standalone مع display_override = ["window-controls-overlay", "standalone"]، وlang: ar، وdir: rtl، وتصنيفات entertainment, news, books، وtheme_color على #0e0e14. النتيجة: يخفي شريط المتصفّح، يبدأ بشاشة كاملة، ويتصرّف كأي تطبيق أصلي — بدون متجر ولا تنزيل APK.

متى تختار الأصلي؟ إذا أردت إشعارات FCM ناتيف، أو روابط مُتحقّق منها تفتح داخل التطبيق مباشرة، أو ستصلك النسخة لاحقاً عبر Google Play. متى تختار الـPWA؟ إذا أردت أسرع تثبيت ممكن، تحديثاً فوريّاً بلا انتظار مراجعة المتجر، وتوفيراً في المساحة.
كيف تُثبّت Mangatime كتطبيق على Android في 30 ثانية
كومبوننت InstallPrompt.tsx يلتقط حدث beforeinstallprompt ويعرض بطاقة عربيّة نصّها «ثبِّت MangaTime — وصول أسرع، يعمل بلا اتصال»، وعند الضغط على «ثبِّت» يُستدعى deferred.prompt() ويبدأ التثبيت فوراً. لو أغلقتَ البطاقة، يُحفظ مفتاح mt-install-dismissed-at في localStorage لمدّة 14 يوماً قبل أن تعاود الظهور — لا إلحاح، ولا نوافذ متكرّرة.

بمجرّد التثبيت، يتحوّل التطبيق إلى وضع display-mode: standalone تلقائيّاً وتختفي بطاقة التثبيت من الواجهة — لأنّ التطبيق صار مُثبَّتاً فعلاً، ولا داعي للإلحاح على شيء حصل.
ما يميّز نسخة الـ Capacitor الأصليّة
إشعارات النسخة الأصليّة تمرّ عبر Firebase Cloud Messaging مباشرة، وليس عبر web-push. القناة في capacitor.config.ts تُعرّف PushNotifications مع presentationOptions تشمل badge و sound و alert — أي إشعارات كاملة كأيّ تطبيق ناتيف. هذا فرقٌ عمليّ: في Android، تحسين البطّاريّة قد يحجب إشعارات الويب أحياناً إذا لم يتفاعل المستخدم مع التطبيق مؤخّراً، بينما FCM يصل بموثوقيّة أعلى.
ميزة ثانية مُعدَّة في النسخة الأصليّة ولا تتاح في الـPWA: Verified App Links. خطّ البناء جاهز لاستخراج SHA-256 fingerprint من الـkeystore، وبمجرّد نشر ملف assetlinks.json على https://mangatime.app/.well-known/ ستفتح روابط mangatime.app داخل التطبيق مباشرة بدل المتصفّح لأيّ مستخدم مثبِّت للنسخة الأصليّة. والسبب الثالث: الـsplash screen ولوحة الألوان الداكنة تبدآن قبل أن يُحمَّل أيّ شيء، فلا توجد ومضة بيضاء عند الإقلاع كما يحدث أحياناً مع المتصفّحات.
ميزات تستحقّ التجربة بعد التثبيت
أوّل ما يلاحظه القارئ بعد التثبيت أنّ Mangatime لم يعد محض موقع مقالات. المجتمع بات طبقة كاملة: غرف عامّة بـFeatured و Curator و Strikes، مسارات XP ومستويات، leaderboard، Wiki قابل للتعديل، Mentions inbox، Pinned bio post، خمسة إطارات قابلة للكسب على البروفايل، خمسة skins للدردشة، وعشر مهام يوميّة من pool متجدّد.
Reels تحت اسم Rise وصلت معها سياسة واضحة: رفع URL-only فقط (لا فيديو خام)، خلاصة عشوائيّة لا تتكرّر عبر localStorage بأسلوب TikTok، SFW-only، وحذف تلقائي عند خمس بلاغات. القصد هنا اللحظات القصيرة بين الفصول، لا منصّة فيديو مستقلّة.
ولأنّ المجتمع وحده لا يفي بالغرض إذا لم تكن لديك مكتبة قراءة، فالخطوة الأولى عمليّاً هي اختيار أوّل عمل تتابعه. ابدأ من أجمل 10 مانهوات على مانجا تايم إذا كنت تبحث عن دليل القارئ المُحرَّر، أو راجع أشهر 5 مانهوات في 2026 — الأرقام تتحدّث إذا كنت تتابع الترندات الكبرى. ولمحبّي ون بيس، تغطيتنا الأسبوعيّة للفصول مستمرّة: انظر ون بيس الفصل 1182 — قراءة المستجدّات كنموذج.
الأداء والخصوصيّة وعدم الاتصال
public/sw.js بإصدار mt-sw-v1 يدير ثلاث استراتيجيّات تخزين بدقّة: network-first لصفحات HTML مع fallback إلى /ar/offline أو /en/offline، cache-first لـ /_next/static، و stale-while-revalidate للصور بحدّ LRU عند 200 ملفّ. الأهمّ ما هو خارج هذه الاستراتيجيّات: مسارات /api/ و /admin/ بـ network-only لا تُخزَّن نهائيّاً، فأيّ عمليّة حسّاسة تحدث على الخادم دائماً.
عند انقطاع الشبكة، تظهر صفحة /ar/offline الثابتة بأيقونة WifiOff ونصّ عربيّ مباشر وزرّ «إعادة المحاولة» يُعيد للرئيسيّة. الإشعارات على الـPWA تمرّ عبر web-push بـVAPID مع POST /api/v1/community/push/subscribe الذي يُجري upsert على endpoint ويُطبّق rate-limit عبر pushSubIp لمنع التسجيل الجماعي من IP واحد.
ما الذي يأتي تالياً
الـAAB الموقّع لإصدار 0.3.0 جاهز للرفع إلى Google Play Console — هذه الخطوة التالية مباشرة. Article Builder بثمانية وكلاء سيُنتج المزيد من المقالات بإيقاع أسرع، فتوقّع تغطية تحديثيّة دوريّة لكلّ ما يلامس المنصّة. Wave 5 على الطاولة بالفعل: تحسينات أعمق للمجتمع والقراءة، وإصلاحات ما بعد إطلاق التطبيق ستنبني على ملاحظات أوّل دفعة مستخدمين بعد ظهور التطبيق في المتجر. ولأنّ بقيّة الحكاية تُكتب على دفعات، ابقَ مع آخر أخبار مانجا تايم أو راجع تحليلنا لنمو Crunchyroll ومشاكله الهيكلية كنموذج للمحتوى التحليليّ القادم.
