Skip to content

v1.2.3

Choose a tag to compare

@idea89hq idea89hq released this 20 Sep 23:54
· 5 commits to master since this release

Hardening release from the wordpress.org plugin review, on top of the 1.2.1 and 1.2.2 changes that had not yet been published here. No settings or behaviour change on upgrade.

1.2.3

  • Storefront globals are JSON-encoded. The __IDEA89_WC block (Store API URL, nonce, basket URL) that the assistant reads on boot is now written with wp_json_encode() and the same hex-escaping as every other inline value, in place of esc_js(). Same keys, same values.
  • In-chat checkout page is printed, not buffered. The stripped checkout page is written the way a page template is: wp_head() and wp_footer() print themselves and every script element is printed by WordPress's own inline-script function, instead of the whole page being assembled into one string and echoed. Same page, same headers, same bridge messages.

1.2.2

  • Widget loader is enqueued. The storefront loader goes through wp_register_script / wp_enqueue_script with its configuration attached via wp_add_inline_script, instead of a script tag printed in the footer. Other plugins and themes can now see and filter it like any other enqueued script.
  • Hardened inline JSON. Every value written into an inline script (checkout configuration, store finder analytics settings, store JSON-LD, checkout bridge messages) is JSON-encoded with <, >, &, ' and " hex-escaped, so no configured or merchant-entered value can close the script element early.

1.2.1

  • Assistant name now sets the name shoppers see. The field under Appearance used to save a value nothing read. It is now the same name your IDEA89 account shows above the conversation, stored there so it is the same in both places.
  • Checkout display, shared with your IDEA89 dashboard. New field under IDEA89 > Checkout experience: Full window (the default, unchanged behaviour) or In the chat. Changing it in WordPress or in the dashboard changes it in both.
  • Personalization status is spelled out. The settings screen now says which of the two switches (WordPress and the IDEA89 dashboard) is on.

Requires WordPress 6.4+, WooCommerce, PHP 7.4+. Tested up to WordPress 7.1.