From dc41a284113a129cdd3c012bd323a804a231bb8a Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 23 Apr 2026 06:38:47 +0000 Subject: [PATCH 1/6] Initial plan From c5b852ef80397de8241c72b24e861012a96da73b Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 23 Apr 2026 06:50:47 +0000 Subject: [PATCH 2/6] Fix TypeError in localize_dashboard_app when service_data is not an array (PHP 8+) Add is_array() guard after retrieving service_data to normalize non-array values to empty string, preventing fatal "Cannot access offset of type string on string" error on PHP 8+. Agent-Logs-Url: https://github.com/Codeinwp/optimole-wp/sessions/787a8a46-2d70-41ae-9538-6ab319b47136 Co-authored-by: kushh23 <110405452+kushh23@users.noreply.github.com> --- inc/admin.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/inc/admin.php b/inc/admin.php index b413faae..a1599b4d 100755 --- a/inc/admin.php +++ b/inc/admin.php @@ -1415,6 +1415,9 @@ private function localize_dashboard_app() { } $api_key = $this->settings->get( 'api_key' ); $service_data = $this->settings->get( 'service_data' ); + if ( ! is_array( $service_data ) ) { + $service_data = ''; + } $user = get_userdata( get_current_user_id() ); $user_status = 'inactive'; $auto_connect = get_option( Optml_Settings::OPTML_USER_EMAIL, 'no' ); From b18eff598e127c06e02ab42b4fe2a23e5993c322 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 24 Apr 2026 06:36:49 +0000 Subject: [PATCH 3/6] Fix E2E test timeouts: increase Playwright timeout to 60s and add 45s navigation timeout All E2E failures were Firefox page-load timeouts against the external test server with the previous 30s limit. Also improve service_data fallback to use empty array instead of empty string for type consistency. Agent-Logs-Url: https://github.com/Codeinwp/optimole-wp/sessions/1ae8a7b0-0ced-417f-91c5-681d77eb0704 Co-authored-by: kushh23 <110405452+kushh23@users.noreply.github.com> --- inc/admin.php | 2 +- playwright.config.ts | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/inc/admin.php b/inc/admin.php index a1599b4d..d1b37e76 100755 --- a/inc/admin.php +++ b/inc/admin.php @@ -1416,7 +1416,7 @@ private function localize_dashboard_app() { $api_key = $this->settings->get( 'api_key' ); $service_data = $this->settings->get( 'service_data' ); if ( ! is_array( $service_data ) ) { - $service_data = ''; + $service_data = []; } $user = get_userdata( get_current_user_id() ); $user_status = 'inactive'; diff --git a/playwright.config.ts b/playwright.config.ts index c559c076..f82cb686 100644 --- a/playwright.config.ts +++ b/playwright.config.ts @@ -2,12 +2,13 @@ import { defineConfig } from '@playwright/test'; export default defineConfig({ testDir: './tests/e2e', - timeout: 30000, + timeout: 60000, workers: process.env.CI ? 2 : 5, retries: process.env.CI ? 2 : 0, use: { baseURL: 'http://testing.optimole.com', // Replace with your local WordPress URL trace: 'on-first-retry', + navigationTimeout: 45000, }, projects: [ { From 287dbdfd0403531c8be01ac784871e2f06c3287e Mon Sep 17 00:00:00 2001 From: girishpanchal30 Date: Fri, 8 May 2026 15:55:29 +0530 Subject: [PATCH 4/6] fix: broken preview for last optimized image --- inc/rest.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inc/rest.php b/inc/rest.php index fd5363d6..38cbaf4e 100644 --- a/inc/rest.php +++ b/inc/rest.php @@ -718,7 +718,7 @@ public function poll_optimized_images( WP_REST_Request $request ) { foreach ( $final_images as $index => $value ) { $final_images[ $index ]['url'] = Optml_Media_Offload::instance()->get_media_optimized_url( $value['url'], - $value['key'], + strtolower( $value['key'] ), 140, 140, [ From 01f2cd9278e45796bf4a5c7ed3f3dfc7911884ab Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 18 May 2026 17:27:37 +0000 Subject: [PATCH 5/6] chore(deps): bump codeinwp/themeisle-sdk from 3.3.51 to 3.3.52 Bumps [codeinwp/themeisle-sdk](https://github.com/Codeinwp/themeisle-sdk) from 3.3.51 to 3.3.52. - [Release notes](https://github.com/Codeinwp/themeisle-sdk/releases) - [Changelog](https://github.com/Codeinwp/themeisle-sdk/blob/v3.3.52/CHANGELOG.md) - [Commits](https://github.com/Codeinwp/themeisle-sdk/compare/v3.3.51...v3.3.52) --- updated-dependencies: - dependency-name: codeinwp/themeisle-sdk dependency-version: 3.3.52 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- composer.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/composer.lock b/composer.lock index 31e8ab65..70a45f65 100644 --- a/composer.lock +++ b/composer.lock @@ -64,16 +64,16 @@ }, { "name": "codeinwp/themeisle-sdk", - "version": "3.3.51", + "version": "3.3.52", "source": { "type": "git", "url": "https://github.com/Codeinwp/themeisle-sdk.git", - "reference": "bb2a8414b0418b18c68c9ff1df3d7fb10467928d" + "reference": "d1ae68cbd4f84934b4d982e9eeff317b9f4c814a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Codeinwp/themeisle-sdk/zipball/bb2a8414b0418b18c68c9ff1df3d7fb10467928d", - "reference": "bb2a8414b0418b18c68c9ff1df3d7fb10467928d", + "url": "https://api.github.com/repos/Codeinwp/themeisle-sdk/zipball/d1ae68cbd4f84934b4d982e9eeff317b9f4c814a", + "reference": "d1ae68cbd4f84934b4d982e9eeff317b9f4c814a", "shasum": "" }, "require-dev": { @@ -99,9 +99,9 @@ ], "support": { "issues": "https://github.com/Codeinwp/themeisle-sdk/issues", - "source": "https://github.com/Codeinwp/themeisle-sdk/tree/v3.3.51" + "source": "https://github.com/Codeinwp/themeisle-sdk/tree/v3.3.52" }, - "time": "2026-03-30T07:58:49+00:00" + "time": "2026-05-14T19:43:56+00:00" }, { "name": "enshrined/svg-sanitize", From 1593e247d6f4e5f9884ef73a701a90c2dbe87a32 Mon Sep 17 00:00:00 2001 From: vytisbulkevicius <36594177+vytisbulkevicius@users.noreply.github.com> Date: Tue, 19 May 2026 12:07:48 +0300 Subject: [PATCH 6/6] Update tested version to WordPress 7.0 --- readme.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.txt b/readme.txt index a07b0407..e8d88405 100755 --- a/readme.txt +++ b/readme.txt @@ -2,7 +2,7 @@ Contributors: optimole Tags: image optimization, optimize images, compress images, webp, avif Requires at least: 5.5 -Tested up to: 6.9 +Tested up to: 7.0 Requires PHP: 7.4 Stable tag: 4.2.5 License: GPLv3