راهنمای نسخه اصلاح‌شده nini_nina (بدون دیتابیس)
=================================================

تغییرات این نسخه:
- انتخاب عکس/ویدیو/صوت، آپلود و ارسال پیام در یک مرحله انجام می‌شود؛ لازم نیست بعد از آپلود دوباره دکمه ارسال را بزنید.
- خطاهای رایج آپلود (حجم بیشتر از محدودیت PHP، مجوز پوشه، فایل ناقص و نوع فایل) با پیام واضح نمایش داده می‌شوند.
- همگام‌سازی سیگنال تماس از درخواست‌های هم‌زمان محافظت می‌شود و وضعیت اتصال جزئی‌تر نمایش داده می‌شود.
- در تماس تصویری، مسیر صوتی طرف مقابل هم متصل می‌شود.
- بررسی نحوی همه فایل‌های PHP و JavaScript انجام شده است؛ این بررسی جایگزین آزمایش روی هاست واقعی نیست.

نصب/به‌روزرسانی:
1) قبل از هر کاری از پوشه پروژه پشتیبان بگیرید.
2) ZIP را در پوشه پروژه فعلی استخراج و فایل‌های برنامه را جایگزین کنید.
3) پوشه‌های data و uploads باید برای PHP قابل نوشتن باشند. اگر پیام خطای مجوز گرفتید، مجوز پوشه‌ها را از File Manager/پشتیبانی هاست بررسی کنید.
4) سایت باید با HTTPS باز شود تا دوربین و میکروفون در مرورگر قابل استفاده باشند.
5) در cPanel > MultiPHP INI Editor (اگر در دسترس است) مقادیر را متناسب با نیاز تنظیم کنید: upload_max_filesize=100M، post_max_size=110M، memory_limit=256M. شرکت هاستینگ ممکن است سقف کمتری اعمال کند.

ارسال رسانه:
- فرمت‌های رایج JPG/PNG/GIF/WEBP، MP4/WEBM/MOV و MP3/M4A/OGG/WAV پشتیبانی می‌شوند.
- سقف داخل برنامه 100MB است؛ سقف واقعی را محدودیت‌های PHP و هاست تعیین می‌کنند.
- بعد از انتخاب فایل، برنامه به صورت خودکار آپلود و ارسال را انجام می‌دهد.

تماس صوتی/تصویری:
- هر دو نفر باید هم‌زمان صفحه چت را باز نگه دارند، نام‌های متفاوت داشته باشند و به میکروفون/دوربین اجازه بدهند.
- در این نسخه سرور STUN عمومی استفاده می‌شود. STUN به تنهایی در همه شبکه‌ها جواب نمی‌دهد. برای تماس پایدار بین اینترنت‌های مختلف معمولاً باید سرور TURN معتبر تنظیم شود.
- برای تنظیم TURN، در config.php مقدارهای TURN_SERVER_URL، TURN_SERVER_USERNAME و TURN_SERVER_CREDENTIAL را از سرویس TURN خودتان وارد کنید. اطلاعات نمونه یا ساختگی کار نمی‌کند و نباید این اطلاعات را عمومی منتشر کنید.
- تماس هنوز روی هاست و شبکه واقعی شما آزمایش نشده و نمی‌توان اتصال همه شبکه‌ها را تضمین کرد؛ اگر مشکل باقی ماند، خطای نمایش‌داده‌شده و Console مرورگر برای تشخیص لازم است.

بدون دیتابیس:
- پیام‌ها در data/messages.json و سیگنال‌ها/وضعیت آنلاین در فایل‌های JSON نگهداری می‌شوند.
- پوشه data نباید از طریق وب قابل دانلود باشد؛ .htaccess فعلی برای Apache/LiteSpeed این دسترسی را می‌بندد.
