Commit Graph
48 Commits
Author SHA1 Message Date
Hamza-Ayed 92a6aa5c0f Update: 2026-08-07 06:00:56 2026-08-07 06:00:56 +03:00
Hamza-Ayed 67465df000 Update: 2026-08-07 05:56:50 2026-08-07 05:56:50 +03:00
Hamza-Ayed 0b8b687ce1 Update: 2026-08-07 05:29:18 2026-08-07 05:29:18 +03:00
Hamza-Ayed 9830e5f649 Update: 2026-08-07 01:53:09 2026-08-07 01:53:09 +03:00
Hamza-Ayed 5b864e30df Update: 2026-08-07 01:35:27 2026-08-07 01:35:27 +03:00
Hamza-Ayed a1104a4695 Update: 2026-08-07 00:57:03 2026-08-07 00:57:03 +03:00
Hamza-Ayed 97471fd2bd refactor: migrate JWT storage to secure storage, update assets, and enhance login verification logic. 2026-08-06 22:54:52 +03:00
Hamza-Ayed 52101e650c Update: 2026-08-06 14:24:16 2026-08-06 14:24:16 +03:00
Hamza-Ayed d695834d19 Food: single-source tracking, mode exclusivity, in-app navigation 2026-08-04 02:41:54 +03:00
Hamza-AyedandClaude Opus 5 a26472ed9f إصلاح مسار الإشعار→الطلب عند الكابتن + توحيد إعادة اتصال سوكيت الراكب
سوكيت الراكب:
- setReconnectionAttempts: من 20 إلى لا نهائي، توحيداً مع تطبيق السائق. بعد
  20 محاولة كان يستسلم **نهائياً** فيصمت للأبد بعد دقائق من شبكة سيئة ويبقى
  الراكب على الـ polling بلا أن يدري — وخطره أكبر الآن لأن الاتصال صار يعيش
  من فتح الخريطة لا من إنشاء الرحلة.
- الـ heartbeat من 15ث إلى 30ث: Socket.IO يعمل ping/pong على مستوى
  البروتوكول ومستمع 'heartbeat' في passenger_socket.php فارغ أصلاً.

البدء البارد على iOS (سبب "التطبيق يغلق ونرجع من أول"):
- didChangeAppLifecycleState لا يُنفَّذ عند إطلاق التطبيق (يبدأ في resumed
  بلا انتقال حالة)، وهو المُنادي الوحيد لـ _checkPendingTrip ⇒ الضغط على
  الإشعار والتطبيق مقتول لا يوجّه لصفحة الطلب إطلاقاً.
- وحتى لو نُفِّذ، كان يستسلم على '/' ويحوّل المسؤولية لـ
  HomeCaptainController الذي لا يملك أي منطق كهذا ⇒ الطلب يبقى في التخزين
  للأبد. صار addPostFrameCallback + مُجدوِل يعيد المحاولة حتى خروج التطبيق
  من شاشة البداية (سقف ~30ث)، ولا يحذف الطلب قبل التوجيه.
- حرس إضافي: لا اقتحام لرحلة نشطة بطلب قديم، لا توجيه مكرر إذا كنا على
  OrderRequestPage، وتنظيف الحمولة التالفة.

TripOverlayPlugin أندرويد فقط بلا أي حرس منصّة:
- كل دالة كانت تنادي invokeMethod مباشرة ⇒ MissingPluginException على iOS
  (لا يوجد ios/ ولا مدخل في pubspec.plugin.platforms).
- الأخطر: backgroundMessageHandler كان ينادي showOverlay **قبل** حفظ
  pending_driver_list، فيسقط الاستثناء ويُلغي الحفظ كلياً على iOS. عُكس
  الترتيب — الحفظ أولاً دائماً، وهو الحدّ الأدنى الذي لا يتوقف على منصّة أو
  صلاحية.
- أُضيف isSupported وحُصِّنت كل الدوال (ترجع false/no-op ولا ترمي أبداً)،
  فلا يُقطع أيضاً _initApp قبل _listenToOverlayEvents.

أخطاء index في حمولة add_ride.php (أربع نقاط قبول):
- 'Duration' كان index 4 وهو end_lng لا المدة ⇒ صار 15 (duration_text).
  أحد المواضع كان فيه تعليق "انتبه: تأكد من الإندكس الصحيح للوقت".
- 'passengerWalletBurc' كان 26 وهو price_for_driver (أرباح السائق) لا رصيد
  الراكب ⇒ صار 27 (passenger_wallet).
- الموضعان مكرران في main.dart و local_notification.dart و order_over_lay.dart
  و order_request_controller.dart — وُحِّدت كلها.
- حرس الطول في backgroundMessageHandler: كان length > 29 مع قراءة index 30
  ⇒ RangeError على قائمة طولها 30 بالضبط.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-27 00:07:27 +03:00
Hamza-Ayed 474c212bcb refactor: migrate amount fields to decimal and implement location service restriction for unsupported regions 2026-07-24 15:08:37 +03:00
Hamza-Ayed 653d73422f Update: 2026-07-12 18:53:59 2026-07-12 18:53:59 +03:00
Hamza-Ayed 08340493c0 Update: 2026-07-12 06:04:42 2026-07-12 06:04:42 +03:00
Hamza-Ayed 8f4bb1631c Update: 2026-07-12 00:24:19 2026-07-12 00:24:19 +03:00
Hamza-Ayed 607c9bd9f4 Update: 2026-07-10 19:42:49 2026-07-10 19:42:50 +03:00
Hamza-Ayed b18fd027b6 Update: 2026-07-10 03:04:06 2026-07-10 03:04:06 +03:00
Hamza-Ayed a526dae042 Update: 2026-07-09 04:13:14 2026-07-09 04:13:14 +03:00
Hamza-Ayed 70718946f5 Update: 2026-07-09 03:41:48 2026-07-09 03:41:48 +03:00
Hamza-Ayed 7dff7b6973 Update: 2026-07-09 01:55:25 2026-07-09 01:55:25 +03:00
Hamza-Ayed 8e6dbf96e2 Update: 2026-07-06 04:25:14 2026-07-06 04:25:14 +03:00
Hamza-Ayed 3412f1b753 Update: 2026-07-04 17:02:24 2026-07-04 17:02:24 +03:00
Hamza-Ayed c8fdd1bb5a Update: 2026-07-04 16:16:49 2026-07-04 16:16:50 +03:00
Hamza-Ayed c7bd644b88 Update: 2026-07-04 04:05:08 2026-07-04 04:05:08 +03:00
Hamza-Ayed 6876d9bc54 Update: 2026-07-02 17:44:58 2026-07-02 17:44:59 +03:00
Hamza-Ayed 5d14493ff4 Update: 2026-07-02 16:52:25 2026-07-02 16:52:25 +03:00
Hamza-Ayed 75e6fc42d7 Update: 2026-07-02 15:35:12 2026-07-02 15:35:12 +03:00
Hamza-Ayed 05d047d871 Update: 2026-07-02 05:27:04 2026-07-02 05:27:05 +03:00
Hamza-Ayed a87cb7c082 refactor: optimize wallet JWT management, update security checks for debug builds, and improve pricing data parsing 2026-06-27 22:50:28 +03:00
Hamza-Ayed 43e3f8c939 Fix: update destination limits to 3 and sync with Redis 2026-06-27 17:49:03 +03:00
Hamza-Ayed 5fed555e44 Update: 2026-06-27 05:53:15 2026-06-27 05:53:15 +03:00
Hamza-Ayed bf1416b2a7 Update: 2026-06-27 05:36:53 2026-06-27 05:36:53 +03:00
Hamza-Ayed 9ded734e38 Update: 2026-06-26 17:29:23 2026-06-26 17:29:23 +03:00
Hamza-Ayed 85e85fe4d3 Update: 2026-06-25 02:55:24 2026-06-25 02:55:24 +03:00
Hamza-Ayed e73be65a72 Update: 2026-06-21 18:58:05 2026-06-21 18:58:13 +03:00
Hamza-Ayed b2fae9ec66 Update: 2026-06-21 02:07:00 2026-06-21 02:07:00 +03:00
Hamza-Ayed 0e28814e7d Fix #15: PCI-DSS compliance - remove persistent CVV storage from Flutter apps 2026-06-17 07:26:27 +03:00
Hamza-Ayed 2321b78244 Update: 2026-06-15 01:37:40 2026-06-15 01:37:41 +03:00
Hamza-Ayed f021ba5a35 Update: 2026-06-14 22:10:07 2026-06-14 22:10:08 +03:00
Hamza-Ayed 8e3b9eca4d Update: 2026-06-14 05:48:58 2026-06-14 05:48:58 +03:00
Hamza-Ayed 2645ed0cf1 Update: 2026-06-14 04:27:17 2026-06-14 04:27:17 +03:00
Hamza-Ayed bfc530b013 Update: 2026-06-13 01:32:15 2026-06-13 01:32:15 +03:00
Hamza-Ayed cb1b2d01df Update: 2026-06-13 00:57:17 2026-06-13 00:57:17 +03:00
Hamza-Ayed 0ae368dbc8 Update: 2026-06-12 22:40:40 2026-06-12 22:40:40 +03:00
Hamza-Ayed 7049c7468c Update: 2026-06-11 21:53:27 2026-06-11 21:53:27 +03:00
Hamza-Ayed c5170a88d2 Update: 2026-06-11 13:47:39 2026-06-11 13:47:40 +03:00
Hamza-Ayed 977adfe99d Update: 2026-06-10 18:11:50 2026-06-10 18:11:50 +03:00
Hamza-Ayed a0473a8b0f Update: 2026-06-10 02:44:54 2026-06-10 02:44:55 +03:00
Hamza-Ayed d8901e1a87 first commit 2026-06-09 08:40:31 +03:00