- کپشن: قاعدهٔ وسطچینِ .article-body figcaption با قاعدههای [data-dir=...] برای
راست/چپچین بازنویسی میشد و عملاً وسطچین نمیشد؛ figcaption از آن فهرستها
برداشته شد. متن کپشن در ویرایشگر هم وسطچین شد تا با خروجی سایت یکی باشد.
- نام تصویر: نامی که پیش از بارگذاری نوشته میشود، حالا همان Alt تصویر میشود
(پیشتر نام فایل مبنا بود و باید دستی در جعبهٔ زیر تصویر اصلاح میشد).
- فهرست مطالب: H3 با ps-4 فقط ۴ پیکسل بیشتر از H2 تورفتگی داشت (عملاً نامرئی)؛
حالا ps-6 با فونت یک پله کوچکتر.
پیشنمایش خصوصی دو بار احراز هویت میخواست (Basic Auth لبه + ورود خود پنل) و
هر origin (www/apex/.ir) هم پرسش جداگانهای داشت؛ نتیجه سردرگمی تیم.
حالا روترهای /admin و /api میدلور preview-auth ندارند (noindex میماند) و
پنل با همان ورود خودش کار میکند؛ صفحات عمومی همچنان خصوصیاند.
docker compose مقادیر .env را خودش تفسیر میکند؛ هش htpasswd شامل $apr1$...
است و بدون کوتیشن، $apr1 و بخشهای بعدی بهعنوان متغیر خالی جایگزین میشدند
(برچسب تبدیل به preview:/OBoRS/... میشد) و پیشنمایش خصوصی هرگز رمز را
نمیپذیرفت. حالا env_set مقدارهای دارای $ را تککوتیشن میگذارد و env_get
کوتیشن را برمیدارد.
بدون آن، psycopg3 تاپل برمیگرداند و row["model"] خطای
«tuple indices must be integers or slices, not str» میداد؛ نتیجه:
«Initial index sync failed» و unavailable ماندن چت با وجود امبد موفق.
- content.py: ستون desc در SQL بدون کوتیشن بود و PostgreSQL آن را کلمهٔ کلیدی
میگیرد؛ نتیجه: «Initial index sync failed: syntax error at or near "desc"»
در استارت و غیرقابل استفاده ماندن چت تا reindex. حالا "desc" کوتیشن شده.
- Dockerfile: با اینکه سرور GPU ندارد، pip نسخهٔ CUDA تورچ را از PyPI میگرفت
(ایمیج ۹.۷GB با کتابخانههای nvidia). اول torch از ایندکس CPU نصب میشود.
نمونهٔ OpenPanel موجود (stats.*) با یک پروژهٔ دوم برای این سایت استفاده میشود؛
VITE_OPENPANEL_URL/VITE_OPENPANEL_CLIENT_ID در زمان بیلد تزریق میشوند و در
نبودشان همهچیز بیاثر است. API عمومی track() تغییر نکرده و مسیر Umami هم
برای عقبنشینی دستنخورده مانده.
- gen-env.sh: rand با دو آرگومان صدا زده میشد ولی فقط $1 را میخواند؛
openssl rand -hex بدون تعداد بایت خروجی خالی و کد ۰ میدهد، پس fallback
هرگز اجرا نمیشد و .env با رازهای خالی ساخته میشد. حالا تعداد بایت
رعایت میشود و اگر مقداری خالی بماند، اسکریپت با خطا متوقف میشود.
- preview-mode.sh: python روی اوبونتو ۲۴.۰۴ وجود ندارد (فقط python3).