Skip to content

Releases: iobsifox/DashWoo

DashWoo 1.2.0

Choose a tag to compare

@iobsifox iobsifox released this 19 Sep 06:53

DashWoo 1.2.0

این نسخه دو کار را تمام می‌کند: باگ هشدار «افزونه‌های ناسازگار» ووکامرس رفع شده، و قابلیت‌های هاست خودکار خاموش/روشن می‌شوند.

۱) رفع باگ هشدار ووکامرس (ناسازگاری افزونه‌ها)

ریشهٔ دقیق باگ: ووکامرس فقط افزونه‌هایی را بررسی می‌کند که در فایل اصلی‌شان هدر
WC tested up to دارند. برای هر ویژگی فعال، افزونه‌ای که هیچ اعلان سازگاری نداده باشد
در دستهٔ «اعلام‌نشده» می‌افتد؛ اگر مقدار پیش‌فرض آن ویژگی incompatible باشد (در
ووکامرس فعلی: custom_order_tables یعنی HPOS)، ووکامرس افزونه را ناسازگار می‌شمارد و
پیام «ووکامرس تشخیص داده که برخی افزونه‌های فعال شما با ویژگی‌های ووکامرس ناسازگار است»
را نشان می‌دهد. DashWoo تا ۱.۱.۰ هیچ‌گاه FeaturesUtil::declare_compatibility() را صدا
نمی‌زد؛ پس تنها افزونهٔ آن فهرست بود — باگی از خود DashWoo، نه از هاست.

اصلاح: کلاس Compatibility\WooCommerce_Features روی قلاب before_woocommerce_init
(تنها قلابی که ووکامرس می‌پذیرد) برای ۲۸ شناسهٔ ممیزی‌شده رأی سازگاری اعلام می‌کند و هر
ویژگی تازه‌ای که FeaturesController زندهٔ ووکامرس گزارش کند را هم پوشش می‌دهد.
صفحهٔ سیستم → سازگاری ردیف تازهٔ woocommerce.feature_declarations را نشان می‌دهد تا
از پیشخوان ببینید اعلان رسیده است یا نه.

۲) قابلیت‌های هاست: خاموش و روشن شدن خودکار

زیرسیستم جدید Capabilities هر شش ساعت (و با دکمهٔ «بررسی مجدد») هاست را می‌سنجد:

قابلیت هاست ویژگی وابسته روی هاست بدون GD/zip
gd · imagick بهینه‌سازی تصاویر (WebP/AVIF) خودکار خاموش
zip بستهٔ فشردهٔ پشتیبان خودکار خاموش
multisite پیش‌فرض‌های شبکه خاموش (تک‌سایتی)
dom بازرسی ساختاری SVG روشن
  • blocked (قابلیت هاست نیست → همیشه خاموش) · off (خودتان خاموش کرده‌اید) · on
  • به‌محض اضافه شدن قابلیت، ویژگی خودبه‌خود روشن می‌شود؛ هیچ تنظیمی دوباره لازم نیست.
  • هرگز نمی‌توان برخلاف هاست روشن کرد.
  • محل: گروه سیستم → قابلیت‌ها + GET /system/capabilities و POST /system/capabilities/recheck.

۳) آزمون‌ها و بسته

  • ۳۳۰ آزمون / ۳۶۲۲ assertion — همه سبز (unit ۱۵۷ · integration ۹۴ · functional ۵۹ · regression ۲۰)
  • گارد جدید: کدهای ارسالی DashWoo هیچ دسترسی مستقیمی به جدول‌های ووکامرس
    (wp_posts, wp_postmeta, shop_order, جدول‌های HPOS) ندارند؛ تنها دو خواندن مجاز
    wc_get_product() و wc_get_order() هستند — هر دو API کِراد و HPOS-safe.
  • سمت ووکامرس هم با دابلی که قانون واقعی ووکامرس را پیاده می‌کند آزمایش می‌شود: باگ
    بازتولید و سپس رفع آن اثبات می‌شود.
قلم مقدار
بسته dashwoo-1.2.0.zip (۱۳۵٬۱۱۶ بایت)
sha256 2cbdcb5ff2add3e58cda955a3143aba49996c70bd86c280df81c8b45f3072853
تأیید بسته ۲۳ بررسی، ۰ خطا

نصب: وردپرس → افزونه‌ها → افزودن → بارگذاری افزونه → انتخاب فایل زیپ → نصب و فعال‌سازی.


تغییرات جزئی‌تر

  • فیلتر dashwoo_wc_feature_compatibility برای بازنویسی رأی هر ویژگی ووکامرس.
  • فیلتر dashwoo_capability_probe برای هاست‌های غیرمعمول + اکشن dashwoo_capabilities_changed.
  • تب «قابلیت‌ها» دو بخش دارد: جدول تشخیص خودکار و کلیدهای هر ویژگی.
  • سکشن تنظیمات features با توضیح فارسی هر ویژگی و غیرفعال شدن فیلدهای وابسته.
  • اصلاح: فراخوانی داینامیک استاتیک در PHP 8، شناسهٔ تکراری product_block_editor،
    بارِ extra تودرتو در ردیف آداپتر ووکامرس، و مسیر زیپِ سخت‌کدشده در اسکریپت انتشار.

DashWoo 1.1.0 — منوی سه‌سطحی و سازمان‌یافته

Choose a tag to compare

@iobsifox iobsifox released this 18 Sep 11:07

DashWoo 1.1.0 — منوی مرتب، سه‌سطحی و بدون لیست تخت

نصب/به‌روزرسانی: پیشخوان → افزونه‌ها → افزودن → بارگذاری افزونه → dashwoo-1.1.0.zip
(به‌روزرسانی درجا از ۱.۰.x؛ تنظیمات، فونت‌ها، آیکون‌ها و تصاویر دست‌نخورده می‌مانند.)

ساختار جدید پیشخوان

شش زیرمنو، هر کدام با تب‌های داخلی — دیگر همه‌چیز در یک لیست تخت دیده نمی‌شود:

گروه (زیرمنو) زیرگروه‌ها (تب) بخش‌ها
داشبورد نمای کلی، وضعیت، دسترسی سریع
طراحی پایهٔ طراحی | کامپوننت‌ها رنگ‌ها، تایپوگرافی، فاصله‌ها، گردی، سایه، حاشیه | دکمه‌ها، فرم‌ها، کارت‌ها، جدول‌ها، نشان‌ها، هشدارها، Modal/Drawer، صفحه‌بندی
فونت و آیکون خانواده‌های فونت | آیکون‌ها گوگل فونت، فونت سفارشی، مدیریت فونت‌ها | آیکون‌ها، ابزارک آیکون
دارایی‌ها کتابخانه کتابخانهٔ رسانه + تنظیمات تصاویر، SVG و CSS/JS
المنتور یکپارچه‌سازی سطح یکپارچگی، Token Picker، همگام‌سازی Kit
سیستم عمومی | کارایی و تحویل | API و گزارش عمومی، سازگاری نسخه‌ها، به‌روزرسانی‌ها | عملکرد | REST API، گزارش‌ها، وضعیت سیستم

هر صفحه یک breadcrumb و یک ستون کناری «در این گروه» دارد و ترتیب بخش‌ها
تعیین‌شده و یکسان است.

همچنین در این نسخه

  • assets.zip و assets.gd اطلاعاتی (ℹ) هستند، نه هشدار — گزارش به‌خاطر آن‌ها زرد نمی‌شود.
  • GET /wp-json/dashwoo/v1/system/diagnostics + کارت «تشخیص محیط» برای تیکت هاست.
  • ۲۹۰ آزمون / ۲۹۵۴ assertion (۱۲ آزمون تازه برای ساختار منو).
Artifact sha256
dashwoo-1.1.0.zip d674fa6e6a16795c9522b57a485b928448d04a7820bdebb8aad0e0893b0cfcbc

License: GPL-2.0-or-later.

DashWoo 1.0.1 — informational notices for optional host capabilities

Choose a tag to compare

@iobsifox iobsifox released this 18 Sep 10:52

DashWoo 1.0.1 — fix: the environment report no longer goes yellow

نصب/به‌روزرسانی: پیشخوان وردپرس → افزونه‌ها → افزودن → بارگذاری افزونه → dashwoo-1.0.1.zip
(روی نسخهٔ ۱.۰.۰ به‌روزرسانی درجا انجام می‌شود؛ تنظیمات، فونت‌ها، آیکون‌ها و تصاویر دست‌نخورده می‌مانند.)

Fixed — assets.zip و assets.gd دیگر زرد نمی‌شوند

این دو مورد واقعاً «فقط اطلاع‌رسانی» هستند: DashWoo فونت‌ها و آیکون‌ها را با خواندن/نوشتن
سادهٔ فایل ذخیره و سرو می‌کند و هیچ‌گاه به ZipArchive یا GD نیاز نداشته است. از این نسخه
این دو ردیف با علامت ℹ (اطلاعاتی) نمایش داده می‌شوند، وضعیت آداپتر را زرد نمی‌کنند و هیچ
جزئی از گزارش (از جمله بخش ووکامرس) را با خودشان پایین نمی‌کشند. زیر هر مورد غیرسبز، یک
توضیح فارسی نوشته می‌شود که می‌گوید هاست چه چیزی را باید فعال کند (و اینکه اختیاری است).

Added

  • GET /wp-json/dashwoo/v1/system/diagnostics و کارت «تشخیص محیط» در صفحهٔ وضعیت سیستم:
    واقعیت‌های خام سرور (افزونه‌های PHP، disable_functions، محدودیت‌های ini، قابل‌نوشتن بودن
    پوشهٔ دارایی‌ها، نسخهٔ ووکامرس و المنتور) به‌صورت متن قابل‌کپی برای تیکت پشتیبانی هاست.
  • تشخیص دقیق GD: extension_loaded() در برابر function_exists() — اگر GD نصب است ولی
    توابعش در disable_functions بسته شده، دقیقاً همان گزارش می‌شود.
  • واژگان پنج‌حالتهٔ گزارش: ok / notice / warning / error / na که در آن notice خنثی است.

Verification

  • ۲۷۸ آزمون / ۲۸۱۱ assertion سبز (۷ آزمون تازه: خنثی بودن notice، هرگز-هشدار-نشدن
    قابلیت‌های اختیاری، سناریوی دقیق «ووکامرس فعال + نبود gd/zip»، وجود توضیح فارسی،
    رندر صفحهٔ وضعیت و مسیر diagnostics).
  • ۲۳ بررسی ساخت (بستهٔ سالم، هش همهٔ فایل‌ها، بارگذاری خودکار تمام کلاس‌ها، بدون CDN).
Artifact sha256
dashwoo-1.0.1.zip 38a4d13fee113b88f87f64b4a7e07be36e16d5cd2be75be6c289141709ad6cd3

License: GPL-2.0-or-later. Full Persian changelog in the repository README.

DashWoo 1.0.0

Choose a tag to compare

@iobsifox iobsifox released this 18 Sep 10:41

DashWoo 1.0.0 — public release

نصب: پیشخوان وردپرس → افزونه‌ها → افزودن → بارگذاری افزونه → انتخاب dashwoo-1.0.0.zip → نصب → فعال‌سازی.
پس از فعال‌سازی، منوی DashWoo و DashWoo → دارایی‌ها در دسترس است.

Highlights

  • Local Google Fonts pipeline (31 families, per-subset files, updates only changed weights)
  • Material Symbols / Material Icons variable fonts + Elementor icon widget (weight, FILL, GRAD, opsz)
  • Asset library in wp-content/uploads/dashwoo/ — your files survive plugin updates
  • Design tokens → CSS variables, 30-section Settings Center (129 fields), JSON import/export
  • Elementor integration on 3 levels: CSS variables → token picker control → optional Global Kit sync (with backup/restore)
  • Version compatibility layer with adapters and automatic Compatibility Mode
  • REST API dashwoo/v1 (29 routes) + extension API
  • Full Persian / RTL admin, zero CDN requests after install

Requirements

PHP 8.0+ · WordPress 6.4+ · WooCommerce 8.5+ and Elementor 3.24+ (optional)

Verification

  • 271 tests / 2764 assertions across unit, integration, functional and regression layers — all green
  • 7 verification layers total (adds WordPress/PHPUnit, Playwright E2E and build verification)
  • BUILD-MANIFEST.txt inside the package lists the sha256 of every shipped file
  • 23 automated build checks: archive layout, hashes, plugin header, PHP syntax of every file, full autoloader class-map resolution, no hard-linked CDN
Artifact sha256
dashwoo-1.0.0.zip 1da49db9bcd1a3fed3b5375d9cede0b70a1b8ecdc3e1b1daee164d9caf07a05f

License: GPL-2.0-or-later.