Changeset 3402049
- Timestamp:
- 11/24/2025 06:36:43 PM (4 months ago)
- Location:
- easy-critical-css
- Files:
-
- 297 added
- 13 edited
-
tags/1.4.4 (added)
-
tags/1.4.4/LICENSE (added)
-
tags/1.4.4/assets (added)
-
tags/1.4.4/assets/admin.css (added)
-
tags/1.4.4/assets/admin.js (added)
-
tags/1.4.4/build (added)
-
tags/1.4.4/build/index.asset.php (added)
-
tags/1.4.4/build/index.js (added)
-
tags/1.4.4/composer.json (added)
-
tags/1.4.4/easy-critical-css.php (added)
-
tags/1.4.4/inc (added)
-
tags/1.4.4/inc/class-admin-settings.php (added)
-
tags/1.4.4/inc/class-api-request-handler.php (added)
-
tags/1.4.4/inc/class-api-service.php (added)
-
tags/1.4.4/inc/class-compatibility-cache.php (added)
-
tags/1.4.4/inc/class-compatibility-cloudflare.php (added)
-
tags/1.4.4/inc/class-compatibility-ewww.php (added)
-
tags/1.4.4/inc/class-compatibility-perfmatters.php (added)
-
tags/1.4.4/inc/class-compatibility-trellis.php (added)
-
tags/1.4.4/inc/class-compatibility-woocommerce.php (added)
-
tags/1.4.4/inc/class-compatibility-wp-rocket.php (added)
-
tags/1.4.4/inc/class-critical-css-injector.php (added)
-
tags/1.4.4/inc/class-critical-css-regenerate.php (added)
-
tags/1.4.4/inc/class-critical-css-server.php (added)
-
tags/1.4.4/inc/class-critical-css-status.php (added)
-
tags/1.4.4/inc/class-critical-css.php (added)
-
tags/1.4.4/inc/class-database.php (added)
-
tags/1.4.4/inc/class-debug.php (added)
-
tags/1.4.4/inc/class-delete-handler.php (added)
-
tags/1.4.4/inc/class-gutenberg.php (added)
-
tags/1.4.4/inc/class-helpers.php (added)
-
tags/1.4.4/inc/class-individual-settings.php (added)
-
tags/1.4.4/inc/class-plugin.php (added)
-
tags/1.4.4/inc/class-reset-handler.php (added)
-
tags/1.4.4/inc/class-rest-api.php (added)
-
tags/1.4.4/inc/class-settings.php (added)
-
tags/1.4.4/inc/class-timed_option.php (added)
-
tags/1.4.4/inc/class-uninstall-handler.php (added)
-
tags/1.4.4/inc/load-freemius.php (added)
-
tags/1.4.4/package.json (added)
-
tags/1.4.4/readme.txt (added)
-
tags/1.4.4/src (added)
-
tags/1.4.4/src/components (added)
-
tags/1.4.4/src/components/generateButton.tsx (added)
-
tags/1.4.4/src/components/settingsField.tsx (added)
-
tags/1.4.4/src/components/settingsPanel.tsx (added)
-
tags/1.4.4/src/components/statusIndicator.tsx (added)
-
tags/1.4.4/src/hooks (added)
-
tags/1.4.4/src/hooks/useEffectiveSettings.ts (added)
-
tags/1.4.4/src/hooks/usePostSaving.ts (added)
-
tags/1.4.4/src/hooks/useSettings.ts (added)
-
tags/1.4.4/src/hooks/useSettingsVisibility.ts (added)
-
tags/1.4.4/src/hooks/useStatus.ts (added)
-
tags/1.4.4/src/index.tsx (added)
-
tags/1.4.4/src/types (added)
-
tags/1.4.4/src/types/types.ts (added)
-
tags/1.4.4/src/types/wordpress.d.ts (added)
-
tags/1.4.4/vendor (added)
-
tags/1.4.4/vendor/autoload.php (added)
-
tags/1.4.4/vendor/composer (added)
-
tags/1.4.4/vendor/composer/ClassLoader.php (added)
-
tags/1.4.4/vendor/composer/InstalledVersions.php (added)
-
tags/1.4.4/vendor/composer/LICENSE (added)
-
tags/1.4.4/vendor/composer/autoload_classmap.php (added)
-
tags/1.4.4/vendor/composer/autoload_files.php (added)
-
tags/1.4.4/vendor/composer/autoload_namespaces.php (added)
-
tags/1.4.4/vendor/composer/autoload_psr4.php (added)
-
tags/1.4.4/vendor/composer/autoload_real.php (added)
-
tags/1.4.4/vendor/composer/autoload_static.php (added)
-
tags/1.4.4/vendor/composer/installed.json (added)
-
tags/1.4.4/vendor/composer/installed.php (added)
-
tags/1.4.4/vendor/composer/platform_check.php (added)
-
tags/1.4.4/vendor/freemius (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/LICENSE.txt (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/assets (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/assets/css (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/assets/css/admin (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/assets/css/admin/account.css (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/assets/css/admin/add-ons.css (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/assets/css/admin/affiliation.css (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/assets/css/admin/checkout.css (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/assets/css/admin/clone-resolution.css (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/assets/css/admin/common.css (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/assets/css/admin/connect.css (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/assets/css/admin/debug.css (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/assets/css/admin/dialog-boxes.css (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/assets/css/admin/gdpr-optin-notice.css (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/assets/css/admin/index.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/assets/css/admin/optout.css (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/assets/css/admin/plugins.css (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/assets/css/customizer.css (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/assets/css/index.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/assets/img (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/assets/img/index.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/assets/img/plugin-icon.png (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/assets/img/theme-icon.png (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/assets/index.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/assets/js (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/assets/js/index.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/assets/js/jquery.form.js (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/assets/js/nojquery.ba-postmessage.js (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/assets/js/postmessage.js (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/assets/js/pricing (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/assets/js/pricing/14fb1bd5b7c41648488b06147f50a0dc.svg (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/assets/js/pricing/178afa6030e76635dbe835e111d2c507.png (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/assets/js/pricing/27b5a722a5553d9de0170325267fccec.png (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/assets/js/pricing/4375c4a3ddc6f637c2ab9a2d7220f91e.png (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/assets/js/pricing/45da596e2b512ffc3bb638baaf0fdc4e.png (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/assets/js/pricing/a34e046aee1702a5690679750a7f4d0f.svg (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/assets/js/pricing/b09d0b38b627c2fa564d050f79f2f064.svg (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/assets/js/pricing/c03f665db27af43971565560adfba594.png (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/assets/js/pricing/cb5fc4f6ec7ada72e986f6e7dde365bf.png (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/assets/js/pricing/d65812c447b4523b42d59018e1c0bb53.png (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/assets/js/pricing/f3aac72a8e63997d6bb888f816457e9b.png (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/assets/js/pricing/fde48e4609a6ddc11d639fc2421f2afd.png (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/assets/js/pricing/freemius-pricing.js (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/assets/js/pricing/freemius-pricing.js.LICENSE.txt (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/composer.json (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/config.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/class-freemius-abstract.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/class-freemius.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/class-fs-admin-notices.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/class-fs-api.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/class-fs-garbage-collector.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/class-fs-hook-snapshot.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/class-fs-lock.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/class-fs-logger.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/class-fs-options.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/class-fs-plugin-updater.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/class-fs-security.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/class-fs-storage.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/class-fs-user-lock.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/customizer (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/customizer/class-fs-customizer-support-section.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/customizer/class-fs-customizer-upsell-control.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/customizer/index.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/debug (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/debug/class-fs-debug-bar-panel.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/debug/debug-bar-start.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/debug/index.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/entities (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/entities/class-fs-affiliate-terms.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/entities/class-fs-affiliate.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/entities/class-fs-billing.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/entities/class-fs-entity.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/entities/class-fs-payment.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/entities/class-fs-plugin-info.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/entities/class-fs-plugin-license.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/entities/class-fs-plugin-plan.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/entities/class-fs-plugin-tag.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/entities/class-fs-plugin.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/entities/class-fs-pricing.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/entities/class-fs-scope-entity.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/entities/class-fs-site.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/entities/class-fs-subscription.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/entities/class-fs-user.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/entities/index.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/fs-core-functions.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/fs-essential-functions.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/fs-html-escaping-functions.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/fs-plugin-info-dialog.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/index.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/l10n.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/managers (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/managers/class-fs-admin-menu-manager.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/managers/class-fs-admin-notice-manager.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/managers/class-fs-cache-manager.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/managers/class-fs-checkout-manager.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/managers/class-fs-clone-manager.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/managers/class-fs-contact-form-manager.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/managers/class-fs-debug-manager.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/managers/class-fs-gdpr-manager.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/managers/class-fs-key-value-storage.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/managers/class-fs-license-manager.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/managers/class-fs-option-manager.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/managers/class-fs-permission-manager.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/managers/class-fs-plan-manager.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/managers/class-fs-plugin-manager.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/managers/index.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/sdk (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/sdk/Exceptions (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/sdk/Exceptions/ArgumentNotExistException.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/sdk/Exceptions/EmptyArgumentException.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/sdk/Exceptions/Exception.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/sdk/Exceptions/InvalidArgumentException.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/sdk/Exceptions/OAuthException.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/sdk/Exceptions/index.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/sdk/FreemiusBase.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/sdk/FreemiusWordPress.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/sdk/LICENSE.txt (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/sdk/index.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/supplements (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/supplements/fs-essential-functions-1.1.7.1.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/supplements/fs-essential-functions-2.2.1.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/supplements/fs-migration-2.5.1.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/includes/supplements/index.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/index.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/languages (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/languages/freemius-cs_CZ.mo (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/languages/freemius-da_DK.mo (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/languages/freemius-de_DE.mo (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/languages/freemius-es_ES.mo (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/languages/freemius-fr_FR.mo (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/languages/freemius-he_IL.mo (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/languages/freemius-hu_HU.mo (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/languages/freemius-it_IT.mo (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/languages/freemius-ja.mo (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/languages/freemius-nl_NL.mo (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/languages/freemius-ru_RU.mo (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/languages/freemius-ta.mo (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/languages/freemius-zh_CN.mo (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/languages/freemius.pot (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/languages/index.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/require.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/start.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/account (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/account.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/account/billing.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/account/index.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/account/partials (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/account/partials/activate-license-button.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/account/partials/addon.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/account/partials/deactivate-license-button.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/account/partials/disconnect-button.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/account/partials/index.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/account/partials/site.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/account/payments.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/add-ons.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/add-trial-to-pricing.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/admin-notice.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/ajax-loader.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/api-connectivity-message-js.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/auto-installation.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/checkout (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/checkout.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/checkout/frame.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/checkout/process-redirect.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/checkout/redirect.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/clone-resolution-js.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/connect (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/connect.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/connect/index.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/connect/permission.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/connect/permissions-group.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/contact.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/debug (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/debug.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/debug/api-calls.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/debug/index.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/debug/logger.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/debug/plugins-themes-sync.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/debug/scheduled-crons.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/email.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/forms (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/forms/affiliation.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/forms/data-debug-mode.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/forms/deactivation (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/forms/deactivation/contact.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/forms/deactivation/form.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/forms/deactivation/index.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/forms/deactivation/retry-skip.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/forms/email-address-update.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/forms/index.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/forms/license-activation.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/forms/optout.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/forms/premium-versions-upgrade-handler.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/forms/premium-versions-upgrade-metadata.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/forms/resend-key.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/forms/subscription-cancellation.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/forms/trial-start.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/forms/user-change.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/gdpr-optin-js.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/index.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/js (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/js/index.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/js/jquery.content-change.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/js/open-license-activation.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/js/permissions.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/js/style-premium-theme.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/partials (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/partials/index.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/partials/network-activation.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/plugin-icon.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/plugin-info (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/plugin-info/description.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/plugin-info/features.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/plugin-info/index.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/plugin-info/screenshots.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/pricing.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/secure-https-header.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/sticky-admin-notice-js.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/tabs-capture-js.php (added)
-
tags/1.4.4/vendor/freemius/wordpress-sdk/templates/tabs.php (added)
-
trunk/assets/admin.js (modified) (4 diffs)
-
trunk/easy-critical-css.php (modified) (1 diff)
-
trunk/inc/class-admin-settings.php (modified) (2 diffs)
-
trunk/inc/class-api-service.php (modified) (4 diffs)
-
trunk/inc/class-helpers.php (modified) (4 diffs)
-
trunk/inc/class-plugin.php (modified) (1 diff)
-
trunk/inc/class-reset-handler.php (modified) (1 diff)
-
trunk/inc/class-rest-api.php (modified) (5 diffs)
-
trunk/inc/class-timed_option.php (added)
-
trunk/inc/load-freemius.php (modified) (1 diff)
-
trunk/readme.txt (modified) (3 diffs)
-
trunk/vendor/composer/autoload_classmap.php (modified) (1 diff)
-
trunk/vendor/composer/autoload_static.php (modified) (1 diff)
-
trunk/vendor/composer/installed.php (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
easy-critical-css/trunk/assets/admin.js
r3401089 r3402049 155 155 const toggleButton = document.getElementById('ecc-toggle-advanced') 156 156 const advancedSettings = document.getElementById('ecc-advanced-settings') 157 157 158 158 if (toggleButton && advancedSettings) { 159 159 toggleButton.addEventListener('click', function(e) { 160 160 e.preventDefault() 161 161 162 162 const isVisible = advancedSettings.style.display !== 'none' 163 163 164 164 if (isVisible) { 165 165 advancedSettings.style.display = 'none' … … 180 180 const statusContainer = this.closest('.ecc-auto-mode-status') 181 181 if (!statusContainer) return 182 182 183 183 const details = statusContainer.querySelector('.ecc-status-details') 184 184 if (!details) return 185 185 186 186 const isVisible = details.style.display !== 'none' 187 187 details.style.display = isVisible ? 'none' : 'block' … … 194 194 btn.addEventListener('click', function(e) { 195 195 e.preventDefault() 196 196 197 197 btn.disabled = true 198 198 btn.textContent = 'Refreshing...' 199 199 200 200 fetch(`${easyCriticalCss.restUrl}refresh-auto-mode-status`, { 201 201 method: 'POST', … … 215 215 const statusContainer = btn.closest('.ecc-auto-mode-status') 216 216 if (!statusContainer) return 217 217 218 218 const allOk = data.all_ok 219 const activeKeyOk = data.active_key 219 220 const localOk = data.local_ok 220 221 const restApiOk = data.rest_api_ok 221 222 222 223 // Update main status 223 224 const icon = statusContainer.querySelector('.ecc-status-icon') 224 225 const text = statusContainer.querySelector('.ecc-status-text') 225 226 const statusClass = allOk ? 'ecc-status-ready' : 'ecc-status-blocked' 226 227 227 228 icon.style.color = allOk ? '#1e7e34' : '#b12331' 228 229 icon.textContent = allOk ? '✓' : '✕' 229 230 text.textContent = allOk ? 'Auto mode ready' : 'Auto mode cannot run' 230 231 231 232 statusContainer.className = 'ecc-auto-mode-status ' + statusClass 232 233 233 234 // Update details 234 235 const checks = statusContainer.querySelectorAll('.ecc-check') 235 236 const detailItems = statusContainer.querySelectorAll('.ecc-status-details li') 236 237 238 // Map checks/detailItems to the correct data: 0=Active API Key, 1=Local Install, 2=REST API Reachable 237 239 if (checks[0]) { 238 checks[0].className = 'ecc-check ' + ( localOk ? 'ecc-check-ok' : 'ecc-check-fail')239 checks[0].textContent = localOk ? '✓' : '✕'240 } 241 240 checks[0].className = 'ecc-check ' + (activeKeyOk ? 'ecc-check-ok' : 'ecc-check-fail') 241 checks[0].textContent = activeKeyOk ? '✓' : '✕' 242 } 243 242 244 if (checks[1]) { 243 checks[1].className = 'ecc-check ' + (restApiOk ? 'ecc-check-ok' : 'ecc-check-fail') 244 checks[1].textContent = restApiOk ? '✓' : '✕' 245 } 246 247 // Update error messages in detail items 248 if (detailItems[0]) { 249 const localErrorEl = detailItems[0].querySelector('em') || detailItems[0].lastChild 250 if (localErrorEl && !localOk) { 251 if (!detailItems[0].querySelector('em')) { 252 const em = document.createElement('em') 253 em.textContent = 'Site is local' 254 detailItems[0].appendChild(em) 255 } 256 } else if (localErrorEl && localOk && localErrorEl.tagName === 'EM') { 257 localErrorEl.remove() 245 checks[1].className = 'ecc-check ' + (localOk ? 'ecc-check-ok' : 'ecc-check-fail') 246 checks[1].textContent = localOk ? '✓' : '✕' 247 } 248 249 if (checks[2]) { 250 checks[2].className = 'ecc-check ' + (restApiOk ? 'ecc-check-ok' : 'ecc-check-fail') 251 checks[2].textContent = restApiOk ? '✓' : '✕' 252 } 253 254 // Helper: replace any plain text error nodes with an <em>, or remove them when OK 255 function setDetailMessage(li, ok, message) { 256 if (!li) return 257 const em = li.querySelector('em') 258 // Remove any plain text nodes (text nodes that are not the <strong> or <span>) 259 const textNodes = Array.from(li.childNodes).filter(function(n) { 260 return n.nodeType === Node.TEXT_NODE && n.textContent.trim().length > 0 261 }) 262 263 if (!ok) { 264 if (em) return // already present 265 // remove existing plain text nodes so we don't duplicate messages 266 textNodes.forEach(function(n) { n.remove() }) 267 const newEm = document.createElement('em') 268 newEm.textContent = message 269 li.appendChild(newEm) 270 } else { 271 if (em) em.remove() 272 // also remove any lingering plain text error nodes 273 textNodes.forEach(function(n) { n.remove() }) 258 274 } 259 275 } 260 261 if (detailItems[1]) { 262 const apiErrorEl = detailItems[1].querySelector('em') || detailItems[1].lastChild 263 if (apiErrorEl && !restApiOk) { 264 if (!detailItems[1].querySelector('em')) { 265 const em = document.createElement('em') 266 em.textContent = 'Generator cannot reach the site' 267 detailItems[1].appendChild(em) 268 } 269 } else if (apiErrorEl && restApiOk && apiErrorEl.tagName === 'EM') { 270 apiErrorEl.remove() 271 } 272 } 276 277 // Active API Key (detailItems[0]) 278 setDetailMessage(detailItems[0], activeKeyOk, 'No active API key') 279 // Local Install (detailItems[1]) 280 setDetailMessage(detailItems[1], localOk, 'Site is local') 281 // REST API Reachable (detailItems[2]) 282 setDetailMessage(detailItems[2], restApiOk, 'Generator cannot reach the site') 273 283 274 284 btn.disabled = false -
easy-critical-css/trunk/easy-critical-css.php
r3401089 r3402049 3 3 * Plugin Name: Easy Critical CSS 4 4 * Description: Easily inject Critical CSS and Secondary CSS (with unused styles removed) to improve site speed and performance. 5 * Version: 1.4. 35 * Version: 1.4.4 6 6 * Requires at least: 6.2 7 * Tested up to: 6.8 .37 * Tested up to: 6.8 8 8 * Requires PHP: 7.4 9 9 * Author: CriticalCSS.net -
easy-critical-css/trunk/inc/class-admin-settings.php
r3401089 r3402049 252 252 253 253 <li> 254 <strong><?php esc_html_e( ' Local Install:', 'easy-critical-css' ); ?></strong>254 <strong><?php esc_html_e( 'Site is Public:', 'easy-critical-css' ); ?></strong> 255 255 <span class="ecc-check <?php echo $status['local_ok'] ? 'ecc-check-ok' : 'ecc-check-fail'; ?>"> 256 256 <?php echo $status['local_ok'] ? '✓' : '✕'; ?> … … 805 805 806 806 // Clear cached transients related to site environment checks. 807 delete_transient( 'easy_cc_is_local_site' ); 808 delete_transient( 'easy_cc_is_rest_api_reachable' ); 807 TimedOption::delete_all(); 809 808 } 810 809 } -
easy-critical-css/trunk/inc/class-api-service.php
r3401089 r3402049 17 17 public static function test_receive_endpoint() { 18 18 // Check transient for cached result. 19 $cached = get_transient( 'easy_cc_is_rest_api_reachable' );19 $cached = TimedOption::get( 'is_rest_api_reachable' ); 20 20 if ( $cached !== false ) { 21 21 return (bool) $cached; … … 26 26 27 27 // Store the nonce in a transient for verification (5 minute expiry for the test). 28 set_transient( 'easy_cc_test_nonce_' . substr( $nonce, 0, 8 ), $nonce, 5 * MINUTE_IN_SECONDS );28 TimedOption::set( 'receive_test_nonce', $nonce, 5 * MINUTE_IN_SECONDS ); 29 29 30 30 $api_url = self::get_api_url(); … … 44 44 45 45 if ( is_wp_error( $response ) ) { 46 set_transient( 'easy_cc_is_rest_api_reachable', '0', 6 * HOUR_IN_SECONDS ); 46 TimedOption::set( 'is_rest_api_reachable', '0', 6 * HOUR_IN_SECONDS ); 47 47 48 return false; 48 49 } … … 54 55 55 56 // Cache the result for 6 hours. 56 set_transient( 'easy_cc_is_rest_api_reachable', $success ? '1' : '0', 6 * HOUR_IN_SECONDS );57 TimedOption::set( 'is_rest_api_reachable', $success ? '1' : '0', 6 * HOUR_IN_SECONDS ); 57 58 58 59 return $success; -
easy-critical-css/trunk/inc/class-helpers.php
r3401089 r3402049 186 186 public static function is_local_site( $host, $debug = false ) { 187 187 // Check transient. 188 $cached = get_transient( 'easy_cc_is_local_site' );188 $cached = TimedOption::get( 'is_local_site' ); 189 189 if ( ! $debug && $cached !== false ) { 190 190 return (bool) $cached; … … 237 237 // We need to store both true and false values as a transient, but only if no debug. 238 238 if ( ! $debug ) { 239 set_transient( 'easy_cc_is_local_site', $is_local ? '1' : '0', 6 * HOUR_IN_SECONDS );239 TimedOption::set( 'is_local_site', $is_local ? '1' : '0', 6 * HOUR_IN_SECONDS ); 240 240 } else { 241 241 // Give more info if debug. … … 248 248 } 249 249 250 public static function get_auto_mode_status( $force_refresh = false ) { 251 // Check transient. 252 $cached = TimedOption::get( 'auto_mode_status' ); 253 if ( ! $force_refresh && $cached !== false ) { 254 return $cached; 255 } 256 257 $status = [ 258 'active_key' => false, 259 'local_ok' => ! self::is_local_site( wp_parse_url( site_url(), PHP_URL_HOST ) ), 260 'rest_api_ok' => false, 261 'all_ok' => false, 262 ]; 263 264 // Only run full status check if there's an active API key. 265 if ( empty( easy_cc_fs()->has_active_valid_license() ) ) { 266 TimedOption::set( 'auto_mode_status', $status, 6 * HOUR_IN_SECONDS ); 267 268 return $status; 269 } 270 271 $status['active_key'] = true; 272 $status['rest_api_ok'] = API_Service::test_receive_endpoint(); 273 274 // Overall ready state requires an active key, non-local install, and REST API reachability. 275 $status['all_ok'] = $status['active_key'] && $status['local_ok'] && $status['rest_api_ok']; 276 277 TimedOption::set( 'auto_mode_status', $status, 6 * HOUR_IN_SECONDS ); 278 279 return $status; 280 } 281 250 282 public static function is_rest_api_reachable( $debug = false ) { 251 283 // Check transient. 252 $cached = get_transient( 'easy_cc_is_rest_api_reachable' );284 $cached = TimedOption::get( 'is_rest_api_reachable' ); 253 285 if ( ! $debug && $cached !== false ) { 254 286 return (bool) $cached; 255 287 } 256 288 257 $is_reachable = API_Service::test_receive_endpoint(); 289 $auto_mode_status = self::get_auto_mode_status(); 290 $is_reachable = $auto_mode_status['rest_api_ok']; 258 291 259 292 // We need to store both true and false values as a transient, but only if no debug. 260 293 if ( ! $debug ) { 261 set_transient( 'easy_cc_is_rest_api_reachable', $is_reachable ? '1' : '0', 6 * HOUR_IN_SECONDS );294 TimedOption::set( 'is_rest_api_reachable', $is_reachable ? '1' : '0', 6 * HOUR_IN_SECONDS ); 262 295 } else { 263 296 // Give more info if debug. … … 329 362 return apply_filters( 'easy_cc_excluded_url_params', $excluded_url_params ); 330 363 } 331 332 public static function get_auto_mode_status() {333 // Only show status if there's an active API key.334 if ( empty( easy_cc_fs()->has_active_valid_license() ) ) {335 return [336 'active_key' => false,337 'local_ok' => false,338 'rest_api_ok' => false,339 'all_ok' => false,340 ];341 }342 343 $status = [344 'active_key' => true,345 'local_ok' => ! self::is_local_site( wp_parse_url( site_url(), PHP_URL_HOST ) ),346 'rest_api_ok' => API_Service::test_receive_endpoint(),347 ];348 349 // Overall ready state requires an active key, non-local install, and REST API reachability.350 $status['all_ok'] = $status['active_key'] && $status['local_ok'] && $status['rest_api_ok'];351 352 return $status;353 }354 364 } -
easy-critical-css/trunk/inc/class-plugin.php
r3401089 r3402049 10 10 private static $instance = null; 11 11 12 private static $plugin_version = '1.4. 3';12 private static $plugin_version = '1.4.4'; 13 13 14 14 private static $db_version = '2'; -
easy-critical-css/trunk/inc/class-reset-handler.php
r3395875 r3402049 55 55 56 56 // Remove transients. 57 TimedOption::delete_all(); 58 59 // Remove old transients. 57 60 delete_transient( 'easy_cc_is_local_site' ); 58 61 delete_transient( 'easy_cc_is_rest_api_reachable' ); -
easy-critical-css/trunk/inc/class-rest-api.php
r3401089 r3402049 562 562 // Mark REST API reachability as successful so we don't trigger repeated 563 563 // remote tests immediately after receiving CSS. Cache for 6 hours. 564 set_transient( 'easy_cc_is_rest_api_reachable', '1', 6 * HOUR_IN_SECONDS );564 TimedOption::set( 'is_rest_api_reachable', '1', 6 * HOUR_IN_SECONDS ); 565 565 566 566 /** … … 801 801 802 802 public static function handle_receive_test( WP_REST_Request $request ) { 803 global $wpdb;804 805 803 $nonce = sanitize_text_field( $request->get_param( 'nonce' ) ); 806 804 … … 813 811 } 814 812 815 $ test_nonce = get_transient( 'easy_cc_test_nonce_' . substr( $nonce, 0, 8 ));816 if ( ! $ test_nonce || $test_nonce !== $nonce ) {813 $stored_nonce = TimedOption::get( 'receive_test_nonce' ); 814 if ( ! $stored_nonce || $stored_nonce !== $nonce ) { 817 815 return new WP_Error( 818 816 'invalid_nonce', … … 822 820 } 823 821 822 // Success, clean it up. 823 TimedOption::delete( 'receive_test_nonce' ); 824 824 825 return rest_ensure_response( [ 'success' => true ] ); 825 826 } … … 845 846 // Clear the REST API reachability cache and get fresh status. 846 847 delete_transient( 'easy_cc_is_rest_api_reachable' ); 847 $status = Helpers::get_auto_mode_status( );848 $status = Helpers::get_auto_mode_status( true ); 848 849 849 850 return rest_ensure_response( $status ); -
easy-critical-css/trunk/inc/load-freemius.php
r3307644 r3402049 57 57 easy_cc_fs()->add_filter( 'show_deactivation_feedback_form', '__return_false' ); 58 58 59 // Clear auto_mode_status cache when license changes. 60 easy_cc_fs()->add_action( 'after_license_change', [ __NAMESPACE__ . '\TimedOption', 'delete_all' ] ); 61 easy_cc_fs()->add_action( 'after_license_activation', [ __NAMESPACE__ . '\TimedOption', 'delete_all' ] ); 62 easy_cc_fs()->add_action( 'after_license_deactivation', [ __NAMESPACE__ . '\TimedOption', 'delete_all' ] ); 63 59 64 // Signal that SDK was initiated. 60 65 do_action( 'easy_cc_fs_loaded' ); -
easy-critical-css/trunk/readme.txt
r3401089 r3402049 4 4 Tags: critical css, unused css, performance, optimization, lighthouse 5 5 Requires at least: 6.2 6 Tested up to: 6.8 .36 Tested up to: 6.8 7 7 Requires PHP: 7.4 8 Stable tag: trunk8 Stable tag: 1.4.4 9 9 License: GPLv2 or later 10 10 License URI: https://www.gnu.org/licenses/gpl-2.0.html … … 102 102 == Changelog == 103 103 104 = 1.4.4 = 105 - FIX: Addresses an issue where transients clear too quickly on some server configurations. 106 - FIX: Prevents status checks from sending when no API key is present. 107 104 108 = 1.4.3 = 105 109 - OPTIMIZATION: Adds better REST API check with more details on Settings page … … 182 186 == Upgrade Notice == 183 187 188 = 1.4.4 = 189 * This update provides bug fixes. 190 191 = 1.4.3 = 192 * This update provides compatibility improvements and bug fixes. 193 184 194 = 1.4.2 = 185 195 * This update provides compatibility improvements and bug fixes. -
easy-critical-css/trunk/vendor/composer/autoload_classmap.php
r3395875 r3402049 33 33 'EasyCriticalCSS\\Reset_Handler' => $baseDir . '/inc/class-reset-handler.php', 34 34 'EasyCriticalCSS\\Settings' => $baseDir . '/inc/class-settings.php', 35 'EasyCriticalCSS\\TimedOption' => $baseDir . '/inc/class-timed_option.php', 35 36 'EasyCriticalCSS\\Uninstall_Handler' => $baseDir . '/inc/class-uninstall-handler.php', 36 37 ); -
easy-critical-css/trunk/vendor/composer/autoload_static.php
r3395875 r3402049 38 38 'EasyCriticalCSS\\Reset_Handler' => __DIR__ . '/../..' . '/inc/class-reset-handler.php', 39 39 'EasyCriticalCSS\\Settings' => __DIR__ . '/../..' . '/inc/class-settings.php', 40 'EasyCriticalCSS\\TimedOption' => __DIR__ . '/../..' . '/inc/class-timed_option.php', 40 41 'EasyCriticalCSS\\Uninstall_Handler' => __DIR__ . '/../..' . '/inc/class-uninstall-handler.php', 41 42 ); -
easy-critical-css/trunk/vendor/composer/installed.php
r3401089 r3402049 4 4 'pretty_version' => 'dev-main', 5 5 'version' => 'dev-main', 6 'reference' => ' 7cba3efe0d456a72032002b0be1b75841af0dbdc',6 'reference' => 'ea2ebe9b5d6c7882882c5dcd835bd2d76e8d97c2', 7 7 'type' => 'wordpress-plugin', 8 8 'install_path' => __DIR__ . '/../../', … … 23 23 'pretty_version' => 'dev-main', 24 24 'version' => 'dev-main', 25 'reference' => ' 7cba3efe0d456a72032002b0be1b75841af0dbdc',25 'reference' => 'ea2ebe9b5d6c7882882c5dcd835bd2d76e8d97c2', 26 26 'type' => 'wordpress-plugin', 27 27 'install_path' => __DIR__ . '/../../',
Note: See TracChangeset
for help on using the changeset viewer.