Repository navigation
1.2.0
Built and verified locally, since GitHub Actions is not running jobs for this account (billing); the package follows deploy.yml step for step.
Requires WordPress 6.8, up from 6.0. A site on an older WordPress keeps the version it has.
Sync
- A sync that meets an error no longer stays paused until somebody resumes it. Until that click no scheduled sync ran and no change made in the shop was sent, so a price or a stock level could be wrong in the search for days. A sync that cannot reach Search Cloud now stays running, says when it tries again, and sends the same batch after 1, 2, 5, 10, 15 and 30 minutes. If that fails too it ends as failed, which lets the changes through again.
- The daily scheduled sync continues a paused sync. A sync an earlier version left paused comes back within a day of updating, or at once with Resume. A pause made by hand now lasts until the next scheduled sync at the latest, and the Sync tab says so.
- A batch that is sent again is counted once in a sync's Processed and Failed numbers.
wp webhead-search-cloud sync runwaits and tries again as the background sync does, and exits with an error when the sync did not complete. It used to report a failed sync as completed.
Storefront
- Cards designed in Search Cloud are drawn again. A placement set to the Search Cloud card design has shown an empty modal since 1.0.2. The cards come out as the panel draws them: without the plugin's own card frame round them, and without the site's styles for headings, links and images reaching into them.
- The search looks the same on a site that styles every element. A customized Elementor kit, or a theme's rules for buttons, fields, links and headings, no longer changes the modal's chips, filters, fields and cards. The site's own font, text size and text colour are still followed. Theming through the
--whsc-*properties is unchanged; a rule of your own that restyles a.whsc-*element directly now needs!importantto win. - The arrow keys move through the search suggestions, and Enter searches for the one they are on.
- A link in an AI assistant reply is shown as a link instead of as brackets and an address. Only an
http(s)address or a path on the site becomes one. - The results carousel works in right-to-left languages: its arrows, its page dots and the arrow keys.
- Keyboard focus rings are drawn whole on filter chips, carousel cards, the Compare switch and the compare table, and at the same width on every screen.
- The message shown when a search or a photo search fails matches the rest of the modal, and the search box's placeholder follows the colour of the box's text.
- A page without a search trigger no longer costs a database query and the loading of translations.
Admin
- The settings screen is redrawn with WordPress's current components: one title, a tab strip that scrolls on a phone, and the same cards, fields and notices throughout.
- A screen that could not load says why and offers to try again, and a save that fails is reported beside its button with the reason.
- Clearing the sync history, deleting a run from it and disconnecting from Search Cloud ask for confirmation first.
- The Elementor widgets are listed under webhead Search Cloud in the editor panel instead of General. Widgets already on a page are unaffected.
Also
- webhead plugin framework 1.4.0. The package no longer carries the framework's updater or its command runner.
- REST routes describe their parameters, so a value of the wrong shape is refused with a 400.
The full list is in readme.txt and CHANGELOG.md. Merged in #18.
Package: webhead-search-cloud-1.2.0.zip - 1.01 MB zipped, 4.5 MB installed; its public/ is byte-identical to the build the end-to-end suite ran against. Installed from the zip on a clean WordPress 7.1 (PHP 8.3) with WP_DEBUG on: activates without a notice, 16 REST routes, both blocks, both Elementor widgets, the admin menu, 3 capabilities, both tables, the scheduled sync and 7 Site Health checks registered; the German translation loads with the new sync messages; the search block renders, and a page without it loads nothing of the plugin. With every outbound request answered locally: a sync whose batch fails stays running and waits 1, 2, 5, 10, 15 and 30 minutes, carries on when the index answers, is continued by the scheduled sync when it is paused, and is given up at the seventh failure; a WooCommerce product reaches the index with its price, stock status and parent category, and a change of price and stock is sent by the incremental sync. The uninstall routine runs clean. Plugin Check reports no errors in the plugin's own code, and nothing at all in it when run as wordpress.org runs it.
Tests: on the release commit 5f1935a (the merge e040232 holds the same tree): unit 96, integration 240 with 3 skipped on PHP 8.3, multisite 240, JS 276, and a browser pass of 27 over the search modal, the settings screen and the Sync tab. On fae3fcb, one commit earlier - the release commit changes version strings only and builds to the same public/: end-to-end 255 on desktop and mobile with Elementor active, 7 skipped by project. All passing.