=== EasyChat24 Live Chat ===
Contributors: murzein, varyagnord
Tags: live chat, chat widget, customer support, ai chatbot, easychat24
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 7.4
Stable tag: 1.14.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Self-hosted EasyChat24 live chat for WordPress with optional AI, Android push, and messenger integrations.

== Description ==

EasyChat24 Live Chat adds a self-hosted customer support chat to your WordPress site.
Messages, operators, settings, and uploaded chat files are stored on your own WordPress hosting.

The basic live chat works locally and does not require a paid account or an external service.
Optional integrations can be enabled later from the EasyChat24 settings.

= Features =

* Floating chat widget for site visitors.
* Operator inbox stored on your own WordPress database.
* Local message history and attachments.
* Optional AI assistant via EasyTokens, OpenAI-compatible providers, or Gemini.
* Optional Android operator app push notifications through the EasyChat24 FCM gateway.
* Optional messenger channels such as MAX and Telegram.

= Languages =

EasyChat24 Live Chat ships ready-to-use interface translations for English, Russian, Kazakh, Uzbek, Ukrainian, and Spanish.

= External services =

EasyChat24 Live Chat does not contact external services during activation.
External calls are made only after an administrator explicitly enables or configures the related feature.

Optional services:

* EasyTokens: used for AI answers and optional gift tokens. If the administrator chooses to receive gift tokens, EasyChat24 sends the administrator email, site domain, installation ID, plugin version, and a technical signature to EasyChat/EasyTokens servers. Chat messages and attachments are not sent for the gift request.
* OpenAI-compatible providers and Gemini: used only when the administrator enters an API key and enables the AI assistant. The API key is stored in the local WordPress database and is not printed into public JavaScript by this plugin. Visitor messages and the context required for the AI answer are sent to the selected AI provider. These direct provider integrations are optional and disabled by default.
* EasyChat24 central gateway: used only for Android push notifications. The gateway receives installation identity, device target, chat ID, event type, source label, and a safe preview without full message text or attachments.
* MAX and Telegram: used only when the administrator enters bot credentials and enables the corresponding messenger integration. Messages and supported attachments are sent to the configured messenger platform.
* Dadata: used only when the administrator enters a Dadata API token for visitor IP geolocation. The visitor IP address is sent to Dadata to show approximate location information in the operator inbox.

Service information:

* EasyChat24 website: https://easychat24.ru/
* EasyChat24 privacy policy: https://easychat24.ru/legal/privacy/
* EasyChat24 terms: https://easychat24.ru/legal/offer/
* EasyTokens API: https://api.easytokens.ru/
* EasyTokens privacy policy: https://easytokens.ru/legal/privacy/
* EasyTokens terms: https://easytokens.ru/legal/offer/
* OpenAI API: https://api.openai.com/
* OpenAI API data usage policies: https://openai.com/policies/
* Gemini API: https://generativelanguage.googleapis.com/
* Google Gemini API terms: https://ai.google.dev/gemini-api/terms
* MAX API: https://platform-api.max.ru/
* Telegram Bot API: https://api.telegram.com/
* Dadata Suggestions API: https://suggestions.dadata.ru/

== Installation ==

1. Upload the `easychat24-live-chat` folder to `/wp-content/plugins/`.
2. Activate EasyChat24 Live Chat through the Plugins screen.
3. Open the EasyChat24 menu in wp-admin.
4. Change the generated EasyChat24 operator password after first login.
5. Keep the widget enabled if you want the chat button to appear on the public site.

== Frequently Asked Questions ==

= Does EasyChat24 Live Chat require a cloud account? =

No. The basic live chat stores data on your WordPress hosting.
External AI, push, and messenger integrations are optional.

= Does EasyChat24 Live Chat send data to external servers automatically? =

No. Activation creates local tables and settings only.
External services are contacted only after explicit administrator action.

= Where are uploaded files stored? =

Runtime files are stored outside the plugin code directory in the WordPress uploads area under `easychat-runtime`. If WordPress uploads are unavailable, the plugin shows an administrator error instead of writing runtime files to another content directory.

== Changelog ==

= 1.14.0 =

* Recognize signed-in store customers from their first widget message, keep one conversation after guest sign-in, and add verified email and phone details automatically.

* Match order history by the authenticated CMS account across OpenCart, WooCommerce, Shop-Script, and 1C-Bitrix without asking the customer to repeat contact details.

= 1.13.0 =

* Keep personal MAX conversations ready through brief hosting interruptions and guide the administrator when sign-in needs attention.

* Save every selected personal MAX source immediately, with a compact confirmation beside the controls.

= 1.12.3 =

* Preserve the widget state selected by the administrator when EasyChat is installed again.

* Keep CMS admin access protected with short-lived, one-time sign-in links.

= 1.12.2 =

* Find the right built-in help guide more accurately across admin sections.

* Read clean answers with verified links collected once in a numbered Sources list.

* Keep installation diagnostics hidden until clarification or support is needed.

= 1.12.1 =

* Recover interrupted updates by rebuilding missing temporary files from the verified official archive.

* Reconcile an unfinished operation with an already installed newer version instead of publishing older files.

* Keep update cleanup confined to the current operation and protected from symbolic-link traversal.

= 1.12.0 =

* Connect a personal WhatsApp account as a preliminary linked-device channel and handle its conversations alongside the website, marketplaces and other messengers.

* Follow a clear two-step setup with a dedicated once-per-minute cron check, protected QR pairing and quiet health warnings only when attention is needed.

* Reply to personal MAX groups manually or with an operator-requested AI suggestion, while automatic AI replies remain safely disabled in group conversations.

* Keep MAX public channels read-only and excluded when their source is disabled, with stricter conversation recognition that prevents accidental replies.

* Switch between long conversations with the correct draft, composer and AI actions restored for each channel, including stable message input on iPhone.

= 1.11.2 =

* Keep EasyChat release packages aligned across supported CMS editions with stronger archive validation.

* Preserve the complete personal MAX integration in every package while applying the protection rules required by each platform.

= 1.11.1 =

* Improve database migration compatibility for CMS sites that use historical table engines.

* Prepare the complete SMS schema before importing Android device identity data.

* Keep conversation assignments and operator service records consistent without relying on database cascades.

= 1.11.0 =

* Let every operator change their own password and profile photo in web and Android.

* Show trustworthy read receipts for website-widget and personal MAX direct conversations.

* Save a phone number supplied by a personal MAX profile as provider-confirmed without replacing an operator-confirmed primary number.

= 1.10.5 =

* Follow a clear four-step update with progress preserved between page visits.

* Keep personal MAX contact names and avatars aligned with the correct conversation profile.

* Focus the operator workspace by hiding unused details and disconnected filters while keeping SMS easy to reach.

= 1.10.4 =

* Let trusted operators assign and remove teammates with a separate permission.

* Notify the assigned teammate directly in the browser or Android app without exposing conversation text.

* Find the right operator quickly with a clear picker and name search for larger teams.

= 1.10.3 =

* Open personal MAX QR sign-in quickly on PHP 7.4 hosting with a bounded protected connection.

* Start another sign-in cleanly after a temporary network or proxy interruption.

= 1.10.2 =

* Keep personal MAX QR attempts within a safe background lifetime, so the next sign-in stays available.

* Switch to a clear phone sign-in alternative on hosting platforms without QR process supervision.

= 1.10.1 =

* Connect a personal MAX account through a QR flow that recovers cleanly after an interrupted attempt.

* Follow QR preparation automatically and retry temporary connection failures without manual server work.

* Scan active conversation queues and customer details faster with clearer counters and consistent cards.

* Show visitors a stable within 10 minutes reply-time promise when the measured average is higher.

= 1.10.0 =

* Sort conversations into Unassigned, Mine, All, and Archive queues.

* Assign a conversation on the first operator reply and keep multiple assignees when teammates cover each other.

* Notify active assignees about their conversations while returning unassigned work to the shared team queue.

= 1.9.1 =

* Keep the available EasyChat version consistent between the sidebar and Update Center.

* Keep all foreground modes selectable with clear contrast feedback.

* Keep permanent dark save and add actions readable with white text.

= 1.9.0 =

* Keep buttons, counters, pagination, and conversation bubbles readable with one validated brand-color pair.

* Select imported conversations and mark them as read in one action.

* Load customer avatars by default and improve personal MAX name recovery.

= 1.8.5 =

* Keep catalog search off after refreshing the page or saving unrelated settings.

* Turn catalog search back on in the safe fast-search mode while enhanced search remains a separate choice.

* Keep AI and catalog controls consistent when Settings is open in multiple browser tabs.

= 1.8.4 =

* Receive a personal MAX scheduler command verified against the actual PHP CLI on your server.

* See the correct Beget task type before copying the command.

* Use the protected command only after the complete server check succeeds.

= 1.8.3 =

* Connect personal MAX through a quieter QR flow with automatic server checks.

* Use phone sign-in only when needed instead of keeping SMS fields open.

* Keep existing MAX sessions while removing the obsolete manual token field.

= 1.8.2 =

* Receive a cron command built for a PHP CLI with a verified database driver.

* See the web PHP and CLI PHP MySQL module compatibility directly in scheduler settings.

* Run background tasks on a compatible PHP CLI with clear scheduler diagnostics.

= 1.8.1 =

* Work in a focused conversation list and customer card without the experimental appointment scheduler.

* Keep reliable direct SMS sending, segment counts, phone diagnostics, and protected recovery after a connection interruption.

* Delete conversations with one clear confirmation while durable background cleanup finishes their attachments safely.

= 1.8.0 =

* Schedule one or two customer SMS reminders for an appointment and manage them consistently from the web admin or Android app.

* Follow each SMS from the waiting phone through carrier acceptance and an available delivery receipt, with privacy-safe diagnostics.

* Keep one message operation across connection retries and continue a saved SMS through the protected background queue.

* Review quiet hours, the exact customer text, and the SMS segment count before saving a reminder.

= 1.7.3 =

* Track outgoing SMS from the queued job through phone sending and the available carrier delivery receipt.

* Diagnose SMS phone readiness without exposing recipient numbers or message text.

* Start new installations with recommended EasyChat24 services selected while keeping every option under administrator control.

= 1.7.2 =

* Process a large personal MAX history in small background portions while prioritizing new customer requests.

* Keep the WordPress administration panel responsive and continue using the saved MAX sign-in.

= 1.7.1 =

* Keep receiving personal MAX messages after compatible service changes without signing in again.

* Continue using short background runs that leave the WordPress administration panel responsive.

= 1.7.0 =

* See the available author or source chat for forwarded messages and photos from MAX, Telegram and VK.

* Keep MAX group conversations clear with the correct group title and participant names.

* Choose a polished notification sound for each operator while keeping individual volume control.

* Update EasyChat more smoothly on regular shared hosting and continue working during preparation.

= 1.6.1 =

* Install EasyChat updates directly from the admin panel with automatic readiness checks and clear progress.

* Continue working while EasyChat prepares an update and easily resume installation after reopening the Update Center.

* Automatic checks confirm package authenticity, server compatibility, free space, and recovery readiness before installation.

* Use the polished Update Center comfortably on desktop, tablet, and mobile screens.

= 1.0.39 =

* Renamed the WordPress.org package to EasyChat24 Live Chat.
* Removed the public core REST proxy from the WordPress.org build.
* Updated bundled Bootstrap to 5.3.8.
* Expanded optional external service disclosures.

= 1.0.0 =

* Initial WordPress.org-compatible packaging profile.
