From a5e5db827b85f8cddad11dc7cf7dd10f3953d27a Mon Sep 17 00:00:00 2001 From: Dwindi Ramadhana Date: Tue, 30 Dec 2025 17:33:35 +0700 Subject: [PATCH] fix: Admin SPA loading and remove MailQueue debug logs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Problem 1: Admin SPA not loading in production Root Cause: Vite builds require type='module' attribute on script tags Solution: Added script_loader_tag filter to add type='module' to admin SPA script Problem 2: Annoying MailQueue debug logs in console Solution: Removed all error_log statements from MailQueue class - Removed init() debug log - Removed enqueue() debug log - Removed all sendNow() debug logs (was 10+ lines) - Kept only essential one-line log after successful send Changes: - includes/Admin/Assets.php: Add type='module' to wnw-admin script - includes/Core/Mail/MailQueue.php: Remove debug logging noise Result: ✅ Admin SPA now loads with proper ES module support ✅ MailQueue logs removed from console ✅ Email functionality still works (kept minimal logging) Note: Production zip is 21M (includes .vite manifests and dynamic imports) --- includes/Admin/Assets.php | 9 +++++++++ includes/Core/Mail/MailQueue.php | 34 -------------------------------- 2 files changed, 9 insertions(+), 34 deletions(-) diff --git a/includes/Admin/Assets.php b/includes/Admin/Assets.php index 5c9f16c..e74e264 100644 --- a/includes/Admin/Assets.php +++ b/includes/Admin/Assets.php @@ -176,6 +176,15 @@ class Assets { if (file_exists($dist_dir . $js)) { wp_enqueue_script('wnw-admin', $base_url . $js, ['wp-element'], $ver_js, true); + + // Add type="module" attribute for Vite build + add_filter('script_loader_tag', function($tag, $handle, $src) { + if ($handle === 'wnw-admin') { + $tag = str_replace('