Commit Graph
10 Commits
Author SHA1 Message Date
Hamza-Ayed cc9c5885b3 refactor: implement single-flight JWT renewal with rate-limiting cooldown and fix storage token handling in auth controllers 2026-08-02 01:39:21 +03:00
Hamza-Ayed f7df080b27 Fix payment server: remove global conRide to prevent crashing non-ride DB queries 2026-08-01 18:28:30 +03:00
Hamza-Ayed 77d7d9faf8 Fix JWT validation: use user_id instead of sub in socket servers, revert statusDriverLocation from toggleActive 2026-08-01 17:57:47 +03:00
Hamza-Ayed 1ddc6f8aa7 Fix payment server: remove global conRide to prevent crashing non-ride DB queries 2026-08-01 17:17:33 +03:00
Hamza-Ayed 84c725040f Update: 2026-08-01 05:29:35 2026-08-01 05:29:35 +03:00
Hamza-Ayed 782138ef7b translate 2026-08-01 04:47:15 +03:00
Hamza-Ayed 90d976e1d1 Update: 2026-07-29 19:44:57 2026-07-29 19:44:58 +03:00
Hamza-Ayed 7eeddeb950 Update: 2026-07-27 17:18:25 2026-07-27 17:18:25 +03:00
Hamza-AyedandClaude Opus 5 53322d87a6 feat: توجيه كل النداءات إلى api.intaleqapp.com وطيّ تبديل الدول
⚠️ الطيّ ضرورة أمان لا ترتيب: كل عائلة سيرفرات في links.dart كانت switch
بأربعة فروع (Syria · Egypt · Jordan · default)، وفروع سوريا ومصر تشير إلى
**سيرفرات سيرو الإنتاجية** (api-syria.siromove.com وغيرها). إبقاؤها في
انطلق يعني أن أي جهاز مخزَّن فيه countryCode='Syria' يخاطب إنتاج سيرو
مباشرة. انطلق نشرٌ واحد على مضيف واحد (docs/34: سيرفر لكل مستأجر)،
والدولة تُحل على السيرفر من GLOBAL_COUNTRY.

طُويت 35 كتلة switch إلى قيمة واحدة (11 rider · 11 driver · 6 admin ·
7 service)، والخريطة مأخوذة من تعليق docker/nginx/default.conf نفسه
(«نقطة واحدة لكل الخدمات — التطبيق يغيّر الدومين فقط»):
  server / rideServer   → https://api.intaleqapp.com/backend
  paymentServer         → https://api.intaleqapp.com/v2/main
  location              → …/backend/ride/location
  locationServerSide(د) → …/loction_server/siro/ride/location
  سوكيت الركاب          → https://api.intaleqapp.com:3030
  سوكيت السائقين        → https://api.intaleqapp.com:2020

وأيضاً:
- appDomain و invite: siromove.com → intaleqapp.com، والمجلد
  siromove.com/ → intaleqapp.com/ (فيه invite.php الذي يقصده التطبيق).
- روابط التنزيل siro.app → intaleqapp.com · بريد السائق المولَّد
  @siromove.com → @intaleqapp.com · صفحة التتبع · محاكاة تسجيل سوريا.
- حُذف getter `syria` الميت من links.dart الثلاثة (لا مستدعي له، وكان
  يشير إلى إنتاج سيرو).

لم يُمسّ عمداً:
- `ssl_pinning.dart`: `badCertificateCallback` لا يُستدعى إلا عند فشل
  التحقق العادي، فشهادة api.intaleqapp.com الصالحة تمرّ بلا مساس. ولا
  أختلق بصمة شهادة: تُضاف بصمة انطلق بعد إصدار الشهادة (docs/30 G7).
- `routesjo.intaleq.xyz` و `map-saas.intaleqapp.com`: خدمات خارجية قائمة
  بذاتها للمالك (قرار الخرائط المباشرة) لا تُنقل إلى api.
- `com.siromove.admin` في userAgentPackageName (5 مواضع): من عائلة هويات
  المتاجر — كوميت الهويات، وهو يحتاج قرار المالك.

⚠️ يحتاج نشراً على الطرف الآخر: invite.php و track/index.php و /driver
على intaleqapp.com.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-27 16:14:45 +03:00
Hamza-AyedandClaude Opus 5 0aab85c732 refactor: إعادة تسمية التطبيقات الأربعة siro_* → intaleq_*
المجلدات وأسماء حزم dart واستيراداتها:
  siro_rider → intaleq_rider    siro_driver  → intaleq_driver
  siro_admin → intaleq_admin    siro_service → intaleq_service

شمل ذلك `name:` في كل pubspec وكل `package:siro_*` في الاستيرادات
(115 ملفاً في rider وحده)، وإشارات أسماء المجلدات في docs/ وتعليق في
backend/Admin/notifications/broadcast.php. لم تبقَ إشارة واحدة (تحقّقت).

+ ضُمّت حزم get و get_storage داخل intaleq_driver/packages/ وحُوّلت
مساراتها الثلاثة من `../../Intaleq/packages/*` إلى `./packages/*`. كانت
تُحل عرضاً إلى مجلد App/Intaleq القديم المجاور — تبعية خارج المستودع
تنكسر بأول نقل. لم يبقَ في أي تطبيق تبعية مسار خارج الشجرة.

⚠️ لم تُمسّ بعد: هويات المتاجر (applicationId · PRODUCT_BUNDLE_IDENTIFIER ·
shorebird app_id) ولا الألوان ولا النصوص المرئية ولا النطاقات — كل منها
كوميت منفصل، والهويات تحتاج قرار المالك.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-27 16:10:58 +03:00