# Changelog

## 0.1.1 — 2026-05-26

QA polish pass after first visual review on wp-test.clients.help.

### Changed
- Inbox: realtime polling at 7 s (visibility-aware, pauses when tab is hidden); new conversations are highlighted; unread (`waiting_operator` / `needs_followup`) count appears as a red badge on the **Inbox** menu item across all Clients.Help admin screens; an optional "Sound on new" toggle (off by default, stored in localStorage) plays a short beep on new arrivals.
- Telegram: the wizard's "Send a test message" step now checks the bot status first. When the shared bot is not configured or the workspace is not connected to a chat, the Send Test button is replaced with a customer-friendly notice. The Telegram screen no longer surfaces raw backend codes (`bot_not_configured`, `not_connected`) — these are translated to friendly text. Diagnostics still shows the raw code for support.
- Services screen: renamed heading to "Business Services & Prices" with an explanatory note ("These are your business services shown to visitors and used by Clients.Help to handle booking and request flows. They are NOT your Clients.Help subscription plans …"). Delete now opens a confirmation modal explaining the scope. Imported services (`source != 'manual'`) cannot be deleted from this screen and show a "Locked" indicator with a tooltip about re-running the import.

### Fixed
- WordPress admin: the built-in **Plugins** menu link was sometimes resolving to `/plugins.php` instead of `/wp-admin/plugins.php`. Root cause: under the PHP built-in server used for the test WP, hitting `/wp-admin` without a trailing slash returns the directory listing/HTML at the no-slash URL, so the browser resolves the relative `<a href='plugins.php'>` against `/wp-admin` and drops the segment. Fix is in the test nginx vhost (`return 301 /wp-admin/`); plugin code is unchanged but the issue is documented in the readme.

### Verified
- WooCommerce: installed in test WP, created a demo product (id 12, SKU `WP-DEMO-001`, price 29.99 USD, category "Widgets", stock `instock`). Visitor message from product page carries the full product context end-to-end into the WP Admin Inbox detail view.

## 0.1.0 — 2026-05-26

Initial release.

### Added
- Plugin bootstrap, settings storage with encrypted plugin token.
- REST proxy (`/wp-json/clients-help/v1/*`) for browser ↔ WordPress ↔ Clients.Help.
- Setup wizard (11 steps).
- Widget injection via `wp_enqueue_scripts`, `[clients_help_widget]` shortcode, and Gutenberg block stub.
- Admin Inbox: list, detail, reply, close, mark as request, voice playback with retention badge.
- Telegram screen: shared-bot connect URL, status polling, test message, disconnect.
- Business Page, Services & Prices, Requests, Catalog, Free Setup, Ecommerce, Diagnostics screens.
- WooCommerce product context injection (product id, name, URL, SKU, price, currency, category, stock).
- RU / UK / EN translations.
- Backend additive endpoints under `/api/plugin/*` with scoped `pl_…` tokens.
