# قائمة فحص ما قبل الرفع إلى Google Play — البسطية

آخر تحديث: 2026-08-01

## 1. الإصدار

- [ ] `APP_VERSION_NAME` في `src/lib/appVersion.ts` مرفوع.
- [ ] `versionCode` في `android/app/build.gradle` مرفوع (+1 على الأقل).
- [ ] `bun run scripts/check-android-release.ts` يخرج بكود 0.
- [ ] **بعد** نزول النسخة فعلياً على المتجر فقط: حدّث `app_settings.latest_android_version`.
- [ ] لا ترفع `minimum_supported_android_version` إلا لسبب أمني، ولا تخليها أحدث من الكود.

## 2. الصور والرفع

- [ ] رفع صورة 12MP من الكاميرا مباشرة → تنضغط لأقل من 2MB وتنرفع.
- [ ] صورة بدوران EXIF (تصوير عمودي بالآيفون/أندرويد) → تظهر بالاتجاه الصحيح.
- [ ] رفع 5 صور دفعة وحدة → ما يصير Out of memory ولا تجميد.
- [ ] قطع الإنترنت أثناء الرفع → رسالة خطأ واضحة وإمكانية إعادة المحاولة.

## 3. الحساب والدخول

- [ ] دخول Google الأصلي (خارج WebView) يشتغل.
- [ ] تسجيل بالبريد + رابط التأكيد يفتح داخل التطبيق ويكمل الجلسة.
- [ ] حذف الحساب يشتغل ويمسح البيانات (مطلوب من سياسة Play).

## 4. المحتوى والامتثال (UGC)

- [ ] الإبلاغ عن إعلان يشتغل.
- [ ] حظر مستخدم يخفي إعلاناته ويمنع المراسلة **والمزايدة**.
- [ ] الإعلان المشبوه يروح `pending` وما يظهر للعامة.
- [ ] المشرف يكدر يقبل/يرفض من تبويب «المراجعة» ويوصل إشعار للمعلن.

## 5. الأيقونات والهوية

- [ ] أيقونة التطبيق ما بيها شعار Lovable.
- [ ] `favicon.svg` + `favicon.ico` + أيقونات PWA (192/512 مع maskable) موجودة.
- [ ] شاشة التثبيت (PWA) تعرض اسم «البسطية» والأيقونة الصحيحة.

## 6. الأداء والاستقرار

- [ ] ما تظهر شاشة بيضاء عند أي خطأ (ErrorBoundary يشتغل).
- [ ] تبويب «الأخطاء» في لوحة الإدارة يعرض `platform` و`app_version`.
- [ ] وضع الطيران → بانر «لا يوجد اتصال» + إعادة محاولة.

## 7. الفحوص الآلية

```bash
bunx tsgo --noEmit -p tsconfig.app.json
bun run build
bunx vitest run
bun run scripts/check-android-release.ts
```
