=== Tryo Chat — Chatbot for WooCommerce ===
Contributors: tryosoft, erenataman
Tags: woocommerce, chatbot, live chat, customer support, chat widget
Requires at least: 5.8
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 2.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

A lightweight, fast, brand-customizable chat widget for your WooCommerce store: product search, FAQ, and support request collection.

== Description ==

Tryo Chat is a lightweight chat widget that adds to your WooCommerce store without any extra coding.

**Lite version features:**

* A chatbot window where visitors can search products by name/keyword
* Automatic email notification to the store owner when a product isn't found
* Frequently Asked Questions (FAQ) list, manageable from the admin panel
* Support request form (emails the admin with name, email, message, page, IP, and browser info)
* Appearance settings: position, primary color, light/dark theme, custom icon
* Option to fully hide the widget on mobile/desktop, smart visibility (URL-based show/hide)
* Responsive interface for desktop and mobile
* Showcase: list featured/on-sale products directly in the chat
* Add to cart directly from chat, plus a cart view
* Simple form builder: multiple custom forms, email delivery to multiple recipients
* Export/import settings and FAQs as JSON, white label (hide branding) option
* CSV export for support requests and form submissions

== Installation ==

1. Upload the plugin folder to `wp-content/plugins/`.
2. Activate the plugin from the WordPress admin panel.
3. Make sure WooCommerce is active.
4. Go to the "Tryo Chat" menu to configure your settings.

== Changelog ==

= 2.0.0 =
* Source language switched to English. All admin panel and widget strings are now written in
  English by default (this is a breaking change for any site relying on the previous Turkish
  default text with no translation configured). Turkish is now a bundled translation
  (languages/tryo-chat-tr_TR.mo) instead of the fallback language, so Turkish-locale sites see
  no visible change. Fixed: the Dashboard tab's three quick-action buttons ("Edit general
  settings" / "Customize appearance" / "Add FAQ") pointed at a non-existent admin page slug
  and never worked; they now link correctly. Renamed "Panel" tab label to "Dashboard".

= 1.5.0 =
* Added English translation. The plugin now bundles its own languages/tryo-chat-en_US.mo,
  so sites with Site Language set to English automatically show the English UI, no extra
  translation plugin needed. More languages can be added the same way.

= 1.4.3 =
* Updated "Tested up to" header to 7.1.

= 1.4.2 =
* Hardening: the anonymous file-attachment upload endpoint (composer paperclip button) had no
  rate limiting, unlike the plugin's other public-facing endpoints - an unlimited number of
  visitors could each upload up to 5MB repeatedly with no throttling. Added a dedicated
  per-IP limiter (10 uploads/hour).

= 1.4.1 =
* Security fix: the "Ayarlari Ice Aktar" (import settings) JSON upload accepted an
  unvalidated primary_color value that is later inserted into an inline CSS custom-property
  declaration (frontend widget + admin live preview), which could permit arbitrary CSS
  declarations. primary_color is now strictly validated as a hex color both at the import
  boundary and, defensively, on every read via TryoChat_Settings::get_all().

= 1.4.0 =
* Widget panelinin ust kismina kapatma ve secenekler (sohbeti sifirla) butonlari eklendi.
* Composer'a dosya ekleme (resim/PDF) butonu eklendi.
* Sepetim gorunumune adet artir/azalt kontrolu eklendi.

= 1.3.0 =
* Tasarim uyum turu: Genel sekmesine ust aksiyon cubugu (Iptal/Kaydet) eklendi, gorunurluk
  anahtarlari ayri bir karta tasindi.
* SSS'e kategori alani (rozet + secim) ve arama kutusu eklendi.
* Formlar listesine arama kutusu eklendi.
* Form Detay > Gonderimler tablosu artik alan bazli sutunlarla gosteriliyor (onceden tum
  alan:deger ciftleri tek hucreye dokuluyordu).
* Destek Talepleri'ne sayfalama ve satir basi "Goruntule" modali eklendi.

= 1.2.8 =
* Fix: category-exclusion checkboxes (and other multi-option pill groups) could overflow their
  card on screens with many options because the wrapping container had no `flex-wrap`. Checkbox
  groups now wrap cleanly onto multiple lines.
* Added a filterable edition label (`tryochat_edition_label`) so a companion add-on can change
  the sidebar's "Lite" text to reflect its own edition. No behavior change for sites running
  Lite on its own.

= 1.2.5 =
* Added two small, backward-compatible JS hooks in the widget's menu builder and quick-action
  dispatcher so companion add-ons can add extra menu options and handle their own actions
  without modifying this plugin. No behavior change for sites running Lite on its own.

= 1.2.4 =
* Added small, backward-compatible extension points (`tryochat_admin_tabs`,
  `tryochat_admin_tab_icons`, `tryochat_render_tab_{tab}` action, and a
  `window.TryoChatWidget`/`window.TryoChatPro` JS hook) so companion add-ons can register
  extra admin tabs and widget behavior without modifying this plugin. No behavior change
  for sites running Lite on its own.

= 1.2.3 =
* Fix: Plugin Check flagged 259 TextDomainMismatch errors because the plugin folder/main
  file were still named `tryo-chat-for-woocommerce` while the Text Domain (and the
  directory-assigned slug) is `tryo-chat`. Renamed the plugin folder and main file to
  `tryo-chat` / `tryo-chat.php` so everything matches consistently.

= 1.2.2 =
* Fix: launcher/avatar/product-thumbnail `<img>` elements inside the widget had no
  `!important` protection, so the host theme's global responsive-image reset
  (`img { max-width:100%; height:auto; }`) could distort their size/shape. Hardened all
  widget `<img>` rules the same way the buttons were hardened in 1.2.1.

= 1.2.1 =
* Fix: on stores with an aggressively-styled theme (e.g. WoodMart), global button/link CSS
  could bleed into the chat widget's buttons and action links. Added a scoped, zero-specificity
  reset for elements inside the widget root plus targeted `!important` on the widget's own
  component styles, so the widget now renders consistently regardless of the active theme.

= 1.2.0 =
* WordPress.org review feedback: renamed the text domain (and internal admin page slug) from
  `tryo-chat-for-woocommerce` to `tryo-chat` to match the directory-assigned plugin slug.
* Removed the free-form "Custom CSS" field from the Appearance tab — arbitrary code insertion
  is no longer permitted for directory-hosted plugins.
* The "Powered by Tryo Chat" attribution is now off by default; site admins must explicitly
  opt in from the General tab to display it.

= 1.1.15 =
* Fix: "Tested up to" header must only contain a major.minor version (7.0), not a patch
  version (7.0.3) — Plugin Check rejected the patch-level value.

= 1.1.14 =
* Fix: plugin header used the non-standard `License: GPL2` value, which the WordPress.org
  Plugin Check tool doesn't recognize as a valid GPL-compatible license. Changed to the
  canonical `License: GPLv2 or later` plus a `License URI` line.

= 1.1.13 =
* Fix: admin CSS/JS were only being enqueued on the main "Panel" screen — the other six admin
  tabs (Genel, Görünüm, SSS, Formlar, Destek Talepleri, Araçlar) were rendering unstyled.
  `enqueue_assets()` now matches against the full list of registered submenu slugs instead of
  a `strpos()` prefix check that only matched the dashboard's own slug.

= 1.1.12 =
* Plugin Check: closed the last 6 InterpolatedNotPrepared warnings — a handful of ignore
  comments on `$wpdb->prepare()` calls in the Dashboard and Forms admin views were missing
  that specific code alongside the DirectQuery/NoCaching ones already listed.

= 1.1.11 =
* Plugin Check follow-up: strengthened the local-variable prefix in admin view files
  (`$tc_*` → `$tryochat_*`) so the naming-convention scanner recognizes it, added a few
  phpcs:ignore annotations the previous pass missed, and documented the nonce check that
  already covers a shared private helper method in the AJAX class.

= 1.1.10 =
* WordPress.org readiness: resolved all remaining Plugin Check WARNINGs — prefixed local view
  variables, added justified phpcs:ignore annotations on custom-table queries (no core API exists
  for arbitrary tables; names are hardcoded constants, not user input), and added real nonce
  verification (`check_ajax_referer`) to all frontend AJAX endpoints.

= 1.1.9 =
* WordPress.org readiness: removed the non-functional "Upgrade to Pro" button and locked Pro
  tab teasers from the admin panel since the Pro version isn't available for purchase yet — the
  panel now only shows fully working Lite features.
* Renamed the plugin text domain to match the plugin slug and added translator comments for
  translatable strings with placeholders.

= 1.1.7 =
* Visual refresh based on a Stitch design system: new color palette (#4648d4), 16-24px radius,
  indigo-tinted shadows, icon-based quick-reply chips, a unified composer, dashicon-based stat
  cards in the admin panel.

= 1.0.0 =
* Initial release: core widget (product search, FAQ, support form), deep WooCommerce integration
  (add to cart, cart view, showcase), smart visibility, settings import/export, white label, and
  a simple form builder — all included in the admin panel.
