fix(apps): سقوط أصلي عند تحميل الخريطة — ستايل map-saas بلا sprite

## العطل
libc++abi: terminating due to uncaught exception of type std::domain_error
بلا أي استثناء دارتي — سقوط أصلي بحت بعد «Using remote style URL» مباشرة.

## السبب
فحص الستايل البعيد مباشرةً:
  /api/maps/style.json?theme=light → 68 طبقة، منها 12 طبقة symbol تستعمل
  icon-image، و **لا sprite معرَّف في الملف إطلاقاً**.
MapLibre الأصلي يرمي std::domain_error عند طبقة أيقونات بلا sprite تحلّها.

⚠️ الستايل المرفق بالحزمة نفسها مصابٌ بالعيب ذاته (sprite غائب + 12 طبقة)،
فلا الافتراضي ولا البعيد صالحان. ستايلها الليلي وحده سليم.

## العلاج
التحوّل إلى assets/style.json و assets/style_dark.json المنقولين من سيرو
الميداني: بهما sprite صحيح، وبلاطاتهما من tiles.intaleqapp.com نفسها،
ويقلعان بلا انتظار شبكة — وهو ما يعنيه «الشكل حتمي من أول إقلاع» (docs/26 §1).
نُسخ الملفان لتطبيق السائق أيضاً.

## الإصلاح الجذري (خادم، خارج هذا الكوميت)
إضافة sprite لستايل map-saas البعيد أو إزالة طبقات الأيقونات منه.

docs/23 §13 وُسّع بالقاعدة وسببها.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Hamza-Ayed
2026-08-05 01:51:03 +03:00
co-authored by Claude Opus 5
parent da5cfab38e
commit 6ea213629c
5 changed files with 4406 additions and 6 deletions
+20
View File
@@ -248,4 +248,24 @@ MapLibre يُنشئ «مديري التعليقات» عند تحميل الست
ثلاثة نداءات منصّة. حارس `_syncing` إلزامي وإلا تتكدّس النداءات وتلتهم
الإطارات.
### الستايل محلّي لا بعيد
**ممنوع تمرير `IntaleqStyles.light()`/`obsidian()` (الستايل البعيد).**
ستايل map-saas البعيد `/api/maps/style.json?theme=light` فيه **12 طبقة
`symbol` تستعمل `icon-image` بلا `sprite` معرَّف**، وMapLibre الأصلي يرمي
عندها `std::domain_error` فيُسقط التطبيق قبل ظهور إطار واحد. مثبت بفحص
الستايل مباشرةً 2026-08-05.
⚠️ الستايل المرفق **بالحزمة نفسها** (`packages/intaleq_maps/assets/style.json`)
مصابٌ بالعيب ذاته — sprite غائب و12 طبقة أيقونات. الوضع الليلي المرفق بها
سليم. فلا يُعتمد على افتراضات الحزمة أيضاً.
**المعتمد**: `assets/style.json` و`assets/style_dark.json` المنقولان من سيرو
الميداني — بهما `sprite` صحيح، وبلاطاتهما من `tiles.intaleqapp.com` نفسها،
ويقلعان بلا انتظار شبكة (docs/26 §1).
**الإصلاح الجذري على الخادم** (لا يخصّ التطبيق): إضافة `sprite` لستايل
map-saas البعيد، أو إزالة طبقات الأيقونات منه.
المرجع العملي: `apps/rider_new/lib/features/trip/view/widgets/ride_map.dart`.