{"id":291236,"date":"2026-04-12T00:33:29","date_gmt":"2026-04-12T00:33:29","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/braveschat\/"},"modified":"2026-04-23T09:40:23","modified_gmt":"2026-04-23T09:40:23","slug":"braveschat","status":"publish","type":"plugin","link":"https:\/\/kal.wordpress.org\/plugins\/braveschat\/","author":15652287,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"2.4.6","stable_tag":"2.4.6","tested":"6.9.4","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"BravesChat","header_author":"Carlos Vera","header_description":"Una herramienta profesional que conecta tu sitio con tu agente de N8N, permiti\u00e9ndote ofrecer atenci\u00f3n con iA directamente en tu web.","assets_banners_color":"585857","last_updated":"2026-04-23 09:40:23","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/github.com\/Carlos-Vera\/BravesChat","header_author_uri":"https:\/\/braveslab.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":159,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"2.4.3":{"tag":"2.4.3","author":"carlosvera","date":"2026-04-12 00:30:25"},"2.4.4":{"tag":"2.4.4","author":"carlosvera","date":"2026-04-12 11:02:30"},"2.4.6":{"tag":"2.4.6","author":"carlosvera","date":"2026-04-23 09:40:23"}},"upgrade_notice":{"2.4.6":"<p>Security fix: AI response links are now restricted to HTTP\/HTTPS. History modal fully translatable. English Bible verses. Recommended update.<\/p>","2.4.5":"<p>Bible API removed \u2014 verses now load locally. Full English UI with es_ES support. Security fixes for console.log token leak and HTTP validation. Recommended for all users.<\/p>","2.4.4":"<p>Full internationalization \u2014 all strings now translatable, including JavaScript labels. Required for non-English installs.<\/p>","2.4.3":"<p>New mixed display mode plus visual fixes for iOS Safari dark mode and GDPR banner. Recommended update for all users.<\/p>","2.4.2":"<p>Dark mode for the admin panel and UI polish across all admin pages. Recommended update for all users.<\/p>","2.4.0":"<p>Mobile fullscreen chat experience, WooCommerce z-index fix, and several Plugin Check compliance improvements. Recommended update for all users.<\/p>","2.3.8":"<p>Vers\u00edculo diario NVI en el header del panel. Se actualiza solo cada d\u00eda.<\/p>","2.3.7":"<p>Admin panel polish: notices moved to the header, cleaner navigation labels, and a new Agent Name field to organize your conversations.<\/p>","2.3.5":"<p>Bug fix: the image upload button in Appearance now works correctly.<\/p>","2.3.4":"<p>Mobile UX improvement: the chat bubble is now smaller and less intrusive on phones. No configuration needed.<\/p>","2.3.3":"<p>Resolves all Plugin Check text domain errors. Required before WordPress.org review.<\/p>","2.3.2":"<p>Fixes a text domain validation error on WordPress.org. Recommended update before submitting to the plugin directory.<\/p>","2.3.0":"<p>Security update: N8N token is now handled server-side only. Includes three authentication methods and a simplified frontend.<\/p>","2.2.3":"<p>Administration improvements: visual editor for GDPR and out-of-hours messages, and plugin details accessible from the plugins list.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3504223,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3504223,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3504223,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3504223,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":{"braves\/chat-widget":{"name":"braves\/chat-widget","title":"BravesChat \u2014 Full Screen"}},"tagged_versions":["2.4.3","2.4.4","2.4.6"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3504223,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3504223,"resolution":"2","location":"assets","locale":""},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3504223,"resolution":"3","location":"assets","locale":""},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3504223,"resolution":"4","location":"assets","locale":""},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3504223,"resolution":"5","location":"assets","locale":""}},"screenshots":{"1":"Admin panel dark mode \u2014 full dark theme with the new toggle.","2":"Floating widget on the frontend \u2014 Braves skin showing different display behaviors.","3":"Appearance \u2014 color, position, skin, bubble image, and display mode customization.","4":"Conversation history \u2014 per-session viewer with chat bubbles and CSV export.","5":"Settings \u2014 N8N webhook configuration, authentication method, and chat behavior."},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[2353,5707,2364,243637,15439],"plugin_category":[41],"plugin_contributors":[260000],"plugin_business_model":[],"class_list":["post-291236","plugin","type-plugin","status-publish","hentry","plugin_tags-ai","plugin_tags-chat","plugin_tags-chatbot","plugin_tags-n8n","plugin_tags-webhook","plugin_category-communication","plugin_contributors-carlosvera","plugin_committers-carlosvera"],"banners":{"banner":"https:\/\/ps.w.org\/braveschat\/assets\/banner-772x250.png?rev=3504223","banner_2x":"https:\/\/ps.w.org\/braveschat\/assets\/banner-1544x500.png?rev=3504223","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/braveschat\/assets\/icon-128x128.png?rev=3504223","icon_2x":"https:\/\/ps.w.org\/braveschat\/assets\/icon-256x256.png?rev=3504223","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/braveschat\/assets\/screenshot-1.png?rev=3504223","caption":"Admin panel dark mode \u2014 full dark theme with the new toggle."},{"src":"https:\/\/ps.w.org\/braveschat\/assets\/screenshot-2.png?rev=3504223","caption":"Floating widget on the frontend \u2014 Braves skin showing different display behaviors."},{"src":"https:\/\/ps.w.org\/braveschat\/assets\/screenshot-3.png?rev=3504223","caption":"Appearance \u2014 color, position, skin, bubble image, and display mode customization."},{"src":"https:\/\/ps.w.org\/braveschat\/assets\/screenshot-4.png?rev=3504223","caption":"Conversation history \u2014 per-session viewer with chat bubbles and CSV export."},{"src":"https:\/\/ps.w.org\/braveschat\/assets\/screenshot-5.png?rev=3504223","caption":"Settings \u2014 N8N webhook configuration, authentication method, and chat behavior."}],"raw_content":"<!--section=description-->\n<p><strong>BravesChat<\/strong> is the bridge between your WordPress site and your <strong>N8N<\/strong> workflows: connect any AI agent you have built with your visitors, without extra code and in minutes.<\/p>\n\n<h4>Designed for the N8N community<\/h4>\n\n<ul>\n<li><strong>N8N-ready webhook:<\/strong> Point BravesChat to your workflow URL and start receiving messages instantly. Supports an authentication token in the header (<code>X-N8N-Auth<\/code>) to protect your endpoints.<\/li>\n<li><strong>Complete payload on every message:<\/strong> Each request includes the current message and the user's unique <code>sessionId<\/code> \u2014 everything your N8N nodes need to maintain conversation context.<\/li>\n<li><strong>Markdown responses:<\/strong> Your agent's messages are rendered with rich formatting \u2014 bold, lists, links, and code \u2014 with no extra configuration.<\/li>\n<li><strong>Conversation history with CSV export:<\/strong> Browse all sessions from the WordPress dashboard and export them to your CRM, spreadsheet, or database with one click.<\/li>\n<\/ul>\n\n<h4>Production-ready<\/h4>\n\n<ul>\n<li><strong>Three display modes:<\/strong> Floating widget, full screen, or mixed \u2014 global bubble with full screen on specific pages via a Gutenberg block.<\/li>\n<li><strong>Dark mode admin panel:<\/strong> Toggle between light and dark theme. Preference is saved per user and restored without flash.<\/li>\n<li><strong>Configurable business hours:<\/strong> Define when the chat is active and show a custom message outside those hours \u2014 ideal if your agent depends on a human in the loop.<\/li>\n<li><strong>Built-in GDPR compliance:<\/strong> Consent banner that blocks the chat until the user accepts. Montserrat font loaded locally, no external requests.<\/li>\n<li><strong>Full brand customization:<\/strong> Colors, texts, position, skin, and display mode \u2014 all adjustable without touching code.<\/li>\n<li><strong>Reinforced security:<\/strong> The N8N authentication token travels only on the server \u2014 it is never exposed in the page HTML.<\/li>\n<li><strong>WooCommerce compatible:<\/strong> Works in WooCommerce stores without conflicts, enabling conversational assistance throughout the purchase process.<\/li>\n<\/ul>\n\n<h4>Session identification with Fingerprinting<\/h4>\n\n<p>BravesChat generates a unique <code>sessionId<\/code> per visitor based on browser characteristics (SHA-256 hash), without storing personal data. This allows N8N to maintain conversation context even if the user reloads the page.<\/p>\n\n<h3>External services<\/h3>\n\n<h4>N8N Webhook (user-configured)<\/h4>\n\n<p>This plugin sends chat messages to an N8N webhook URL configured by the site administrator.<\/p>\n\n<p><strong>What data is sent:<\/strong> The visitor's chat message, conversation history, an anonymous session identifier (fingerprint), and the current page URL.<\/p>\n\n<p><strong>When:<\/strong> On every message sent by a visitor through the chat widget, but only if the administrator has configured a webhook URL.<\/p>\n\n<p><strong>Why:<\/strong> To forward the conversation to the administrator's N8N workflow for AI processing.<\/p>\n\n<p>The webhook URL, destination server, and all data processing are fully controlled by the site administrator. No data is sent to any Braves-operated server.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>braveschat<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory.<\/li>\n<li>Activate the plugin from the <strong>Plugins<\/strong> menu in WordPress.<\/li>\n<li>Go to <strong>BravesChat \u2192 Settings<\/strong> and enter your N8N webhook URL.<\/li>\n<li>(Optional) Customize colors, texts, and position under <strong>Appearance<\/strong>.<\/li>\n<li>(Optional) Configure the consent banner under <strong>GDPR<\/strong>.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20an%20n8n%20account%20to%20use%20braveschat%3F\"><h3>Do I need an N8N account to use BravesChat?<\/h3><\/dt>\n<dd><p>Yes. BravesChat acts as the chat widget on your WordPress, but the intelligence and responses are managed by your own N8N workflow. You can use N8N Cloud or your self-hosted instance.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20any%20ai%20agent%20in%20n8n%3F\"><h3>Does it work with any AI agent in N8N?<\/h3><\/dt>\n<dd><p>Yes. BravesChat sends the message and the conversation <code>sessionId<\/code> to the webhook URL you configure. The agent can be connected to OpenAI, Claude, Gemini, Ollama, or any model your workflow supports \u2014 BravesChat imposes no restrictions.<\/p><\/dd>\n<dt id=\"what%20data%20is%20sent%20to%20the%20webhook%20on%20each%20message%3F\"><h3>What data is sent to the webhook on each message?<\/h3><\/dt>\n<dd><p>Each request includes: the user's message (<code>chatInput<\/code>) and the unique session identifier (<code>sessionId<\/code>). Conversation history is managed by N8N via the <code>sessionId<\/code>.<\/p><\/dd>\n<dt id=\"is%20the%20conversation%20history%20saved%20in%20the%20wordpress%20database%3F\"><h3>Is the conversation history saved in the WordPress database?<\/h3><\/dt>\n<dd><p>No. The history shown in the admin panel is fetched directly from your N8N data source (e.g., PostgreSQL) via a separate webhook that you configure.<\/p><\/dd>\n<dt id=\"can%20i%20hide%20the%20chat%20on%20certain%20pages%3F\"><h3>Can I hide the chat on certain pages?<\/h3><\/dt>\n<dd><p>Yes. In the Settings section you can specify pages where the widget should not appear.<\/p><\/dd>\n<dt id=\"is%20it%20compatible%20with%20woocommerce%3F\"><h3>Is it compatible with WooCommerce?<\/h3><\/dt>\n<dd><p>Yes, BravesChat is compatible with WooCommerce and does not generate conflicts with the checkout process or store styles.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20comply%20with%20gdpr%3F\"><h3>Does the plugin comply with GDPR?<\/h3><\/dt>\n<dd><p>Yes. You can enable a consent banner that blocks the chat until the user accepts. User fingerprinting does not collect personal data. The Montserrat font is loaded locally, with no requests to Google Fonts.<\/p><\/dd>\n<dt id=\"can%20i%20use%20braveschat%20without%20n8n%3F\"><h3>Can I use BravesChat without N8N?<\/h3><\/dt>\n<dd><p>Technically yes: the webhook can point to any HTTP endpoint that returns JSON with the <code>output<\/code> field. However, the plugin is optimized and documented for N8N workflows.<\/p><\/dd>\n<dt id=\"is%20the%20n8n%20authentication%20token%20secure%3F\"><h3>Is the N8N authentication token secure?<\/h3><\/dt>\n<dd><p>Yes. The token travels only on the server \u2014 it is never exposed in the page HTML or JavaScript. The frontend sends messages to the WordPress AJAX endpoint, which acts as a proxy and adds the token before contacting N8N.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.4.6<\/h4>\n\n<ul>\n<li>FIXED: Chat links from AI responses with non-HTTP protocols (e.g. javascript:) are no longer rendered \u2014 only https:\/\/ and http:\/\/ are accepted. Prevents potential XSS from malicious agent responses.<\/li>\n<li>FIXED: Auth header name sanitized before use to prevent header injection.<\/li>\n<li>FIXED: History modal no longer shows hardcoded Spanish labels (\"Conversaci\u00f3n An\u00f3nima\", \"Session:\", \"Usuario\") \u2014 all strings are now translatable.<\/li>\n<li>ADDED: Bible verses in the admin header now appear in English when WordPress is not set to Spanish.<\/li>\n<li>IMPROVED: Changelog timeline in the About page no longer requires manual spacing values \u2014 adding a new entry is as simple as setting braves-tl-right or braves-tl-left.<\/li>\n<\/ul>\n\n<h4>2.4.5<\/h4>\n\n<ul>\n<li>FIXED: Bible API dependency removed \u2014 verses now served from a local file with 365 NVI verses. No external requests.<\/li>\n<li>ADDED: Full English translation of the admin UI with i18n support for es_ES.<\/li>\n<li>ADDED: About page translated to English; Spanish translations preserved in the .po file.<\/li>\n<li>FIXED: N8N auth token no longer exposed via console.log in the browser.<\/li>\n<li>FIXED: HTTP\/HTTPS scheme validation added before wp_remote_get() calls.<\/li>\n<li>FIXED: $_GET['page'] sanitized and boolean values properly escaped in hidden inputs.<\/li>\n<li>FIXED: i18n pattern in admin.js updated to use const { __ } = wp.i18n \u2014 compatible with wp i18n make-json.<\/li>\n<\/ul>\n\n<h4>2.4.4<\/h4>\n\n<ul>\n<li>IMPROVED: All user-visible strings in the admin panel JavaScript are now fully translatable via WordPress i18n (wp.i18n.__).<\/li>\n<li>IMPROVED: Admin script registered with translation support \u2014 JSON language files loaded automatically for the active locale.<\/li>\n<li>FIXED: Hardcoded default text for bubble, screen footer, and settings fields is now translatable \u2014 no more untranslated strings in non-English installs.<\/li>\n<\/ul>\n\n<h4>2.4.3<\/h4>\n\n<ul>\n<li>ADDED: Mixed display mode \u2014 floating bubble on all pages, fullscreen chat on pages with the Gutenberg block.<\/li>\n<li>IMPROVED: Chat widget now forces light color scheme, preventing iOS Safari dark mode from inverting widget colors.<\/li>\n<li>IMPROVED: GDPR banner colors are now fully isolated from theme dark mode \u2014 text colors stay consistent on all themes.<\/li>\n<li>FIXED: Fullscreen block mode now renders a background overlay that hides the white page background while the chat loads.<\/li>\n<li>FIXED: Chat input placeholder color no longer inherits from the active theme.<\/li>\n<li>FIXED: Screen CSS is now always loaded on pages using the fullscreen Gutenberg block, regardless of global display mode setting.<\/li>\n<\/ul>\n\n<h4>2.4.2<\/h4>\n\n<ul>\n<li>ADDED: Dark mode for the admin panel \u2014 toggle between light and dark theme. Preference is saved per user and restored on every page load without flash.<\/li>\n<li>IMPROVED: Admin UI uses semantic CSS variables throughout \u2014 dark mode adapts automatically with no hardcoded colors.<\/li>\n<li>IMPROVED: Select\/deselect all pages buttons in Settings are now styled consistently with the rest of the admin panel.<\/li>\n<li>IMPROVED: Inline styles removed from field help text and range labels \u2014 styles now come from CSS classes for better dark mode support.<\/li>\n<li>IMPROVED: Message preview no longer injects hardcoded inline styles \u2014 uses CSS class instead.<\/li>\n<\/ul>\n\n<h4>2.4.0<\/h4>\n\n<ul>\n<li>ADDED: Mobile fullscreen mode \u2014 on devices up to 480px the chat opens as a full-screen overlay with its own header, back\/close buttons, and iOS safe-area support.<\/li>\n<li>IMPROVED: WooCommerce compatibility \u2014 z-index adjusted so WooCommerce cart and checkout elements always render on top of the chat widget.<\/li>\n<li>IMPROVED: Logo now rendered as a standard img tag instead of inline SVG \u2014 compatible with strict Content Security Policy configurations.<\/li>\n<li>IMPROVED: Admin scripts moved from PHP templates to wp_add_inline_script \u2014 resolves Plugin Check (PCP) warnings about inline scripts in templates.<\/li>\n<li>IMPROVED: Menu icon SVG sanitized before encoding as data URI to prevent rendering issues in some browsers.<\/li>\n<li>IMPROVED: Style version added to wp_register_style for reliable cache busting on plugin updates.<\/li>\n<li>FIXED: Daily verse selection now uses gmdate instead of date for correct UTC-based rotation.<\/li>\n<li>FIXED: External service disclosure added to API.Bible integration for WordPress.org compliance.<\/li>\n<\/ul>\n\n<h4>2.3.8<\/h4>\n\n<ul>\n<li>ADDED: A Bible verse (NIV) appears in the header of the panel every day. It updates automatically\u2014no setup required.<\/li>\n<\/ul>\n\n<h4>2.3.7<\/h4>\n\n<ul>\n<li>ADDED: Agent Name field in Appearance \u2014 label your agent to identify conversations in History.<\/li>\n<li>IMPROVED: Status notices (configuration warnings, save confirmations) moved to the header bar \u2014 cleaner page layout across all admin sections.<\/li>\n<li>IMPROVED: Sidebar navigation labels updated \u2014 \"Schedules\" \u2192 \"Availability\", \"GDPR\" \u2192 \"Privacy\", \"History\" \u2192 \"Conversations\".<\/li>\n<li>IMPROVED: Version badge in the header highlights when you are on the About page.<\/li>\n<li>IMPROVED: Display mode and skin option labels rewritten for clarity.<\/li>\n<li>IMPROVED: Changelog in the About page redesigned as a two-column timeline layout.<\/li>\n<\/ul>\n\n<h4>2.3.5<\/h4>\n\n<ul>\n<li>FIXED: Image upload button in Appearance now correctly opens the WordPress Media Library.<\/li>\n<\/ul>\n\n<h4>2.3.4<\/h4>\n\n<ul>\n<li>IMPROVED: Chat bubble is now smaller on mobile devices \u2014 default skin shrinks to 48\u00d748px, Braves skin switches to a compact avatar + button layout.<\/li>\n<\/ul>\n\n<h4>2.3.3<\/h4>\n\n<ul>\n<li>FIXED: Text domain updated to <code>braveschat<\/code> across all files to match the WordPress.org assigned slug. Resolves all Plugin Check (PCP) text domain errors.<\/li>\n<\/ul>\n\n<h4>2.3.2<\/h4>\n\n<ul>\n<li>FIXED: Plugin Check text domain mismatch \u2014 the distributed ZIP now uses the correct plugin slug (<code>braves-chat<\/code>) so the text domain validates correctly on WordPress.org.<\/li>\n<\/ul>\n\n<h4>2.3.1<\/h4>\n\n<ul>\n<li>IMPROVED: Input field stays active while the bot is responding \u2014 users can type and interrupt at any time.<\/li>\n<\/ul>\n\n<h4>2.3.0<\/h4>\n\n<ul>\n<li>ADDED: N8N authentication token now travels server-side only \u2014 never exposed in the browser.<\/li>\n<li>ADDED: Three authentication methods for N8N: custom header, Basic Auth, or none.<\/li>\n<li>IMPROVED: Simplified frontend JavaScript by removing streaming\/NDJSON logic \u2014 all N8N connection complexity is now handled server-side.<\/li>\n<li>IMPROVED: Plugin images converted to PNG for better browser and WordPress.org compatibility.<\/li>\n<li>IMPROVED: License updated to GPL-2.0-or-later, aligned with WordPress.org requirements.<\/li>\n<li>FIXED: Removed ZIP export detection class that caused false positives.<\/li>\n<\/ul>\n\n<h4>2.2.3<\/h4>\n\n<ul>\n<li>ADDED: \"View details\" link in the plugins list with full plugin information.<\/li>\n<li>IMPROVED: Rich text editor for GDPR messages and out-of-hours messages.<\/li>\n<\/ul>\n\n<h4>2.2.2<\/h4>\n\n<ul>\n<li>ADDED: Protection class detects ZIP export plugins installed on the site and shows a security notice in the admin panel.<\/li>\n<\/ul>\n\n<h4>2.2.1<\/h4>\n\n<ul>\n<li>FIXED: Notices from other plugins no longer appear inside the BravesChat panel.<\/li>\n<\/ul>\n\n<h4>2.2.0<\/h4>\n\n<ul>\n<li>ADDED: Full conversation history viewer with per-session modal.<\/li>\n<li>ADDED: History export to CSV with all relevant fields.<\/li>\n<li>IMPROVED: Conversations ordered from most recent to oldest.<\/li>\n<\/ul>\n\n<h4>2.1.5<\/h4>\n\n<ul>\n<li>ADDED: History page replaces Statistics \u2014 open any session and read the full conversation thread with chat bubbles, timestamps, and sender labels.<\/li>\n<li>ADDED: CSV export with all fields: session ID, client name, updated at, full chat history JSON.<\/li>\n<li>IMPROVED: Messages displayed in chronological order inside the session modal.<\/li>\n<li>FIXED: Internal N8N tool calls and JSON responses filtered from the conversation viewer.<\/li>\n<\/ul>\n\n<h4>2.1.4<\/h4>\n\n<ul>\n<li>ADDED: Statistics tab with live conversation history fetched from your N8N\/Postgres webhook.<\/li>\n<li>ADDED: CSV export with all fields: session_id, client_mail, last_message, updated_at, chat_history, metadata.<\/li>\n<\/ul>\n\n<h4>2.1.3<\/h4>\n\n<ul>\n<li>FIXED: GitHub Actions release workflow now correctly triggers on v* tags \u2014 automated ZIP generation working.<\/li>\n<\/ul>\n\n<h4>2.1.2<\/h4>\n\n<ul>\n<li>IMPROVED: CSS isolation system to prevent conflicts with themes.<\/li>\n<\/ul>\n\n<h4>2.1.1<\/h4>\n\n<ul>\n<li>IMPROVED: Incremental real-time Markdown rendering.<\/li>\n<\/ul>\n\n<h4>2.1.0<\/h4>\n\n<ul>\n<li>ADDED: Configurable typing speed slider.<\/li>\n<li>ADDED: HTML\/Markdown support in the GDPR banner message.<\/li>\n<li>ADDED: Montserrat loaded locally (GDPR compliance).<\/li>\n<\/ul>\n\n<h4>2.0.0<\/h4>\n\n<ul>\n<li>MAJOR: Complete system restructuring with new BravesChat namespace.<\/li>\n<li>ADDED: Maximize button, textarea auto-growth, minimized state.<\/li>\n<\/ul>\n\n<h4>1.2.4<\/h4>\n\n<ul>\n<li>ADDED: Bubble tooltip customizable from the Appearance panel.<\/li>\n<li>ADDED: Automatic detection and deactivation of older plugin versions on activation.<\/li>\n<li>IMPROVED: Default icon color updated to #f2f2f2.<\/li>\n<\/ul>\n\n<h4>1.2.3<\/h4>\n\n<ul>\n<li>ADDED: Full color customization \u2014 bubble, primary, background, and text colors with native color pickers.<\/li>\n<li>ADDED: SVG icon selector with four styles (original, circle, happy, bubble).<\/li>\n<li>FIXED: Removed Lottie Player CDN dependency \u2014 replaced with static SVG.<\/li>\n<\/ul>\n\n<h4>1.2.2<\/h4>\n\n<ul>\n<li>FIXED: Critical \u2014 form inputs not rendering on Settings, Appearance, Schedules, and GDPR pages.<\/li>\n<li>FIXED: Settings from other tabs were lost when saving a partial form.<\/li>\n<li>IMPROVED: Admin notifications auto-hide after 3 seconds with slide animation.<\/li>\n<\/ul>\n\n<h4>1.2.1<\/h4>\n\n<ul>\n<li>IMPROVED: Complete admin panel redesign with Bent\u014d card layout.<\/li>\n<li>ADDED: Shared sidebar navigation across all admin sections.<\/li>\n<li>ADDED: Reusable component architecture \u2014 Header, Sidebar, Content.<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>ADDED: New administration system with modern dashboard and Bent\u014d design.<\/li>\n<\/ul>\n\n<h4>1.1.2<\/h4>\n\n<ul>\n<li>CHANGED: Rebranding from Weblandia to BravesLab \u2014 updated URLs, author, and copyright.<\/li>\n<\/ul>\n\n<h4>1.1.1<\/h4>\n\n<ul>\n<li>ADDED: Cookie system with fingerprinting for session identification.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>ADDED: Availability schedules with timezone support and custom offline message.<\/li>\n<li>ADDED: Excluded pages \u2014 configure which pages should not show the chat widget.<\/li>\n<li>ADDED: N8N authentication token support via X-N8N-Auth header.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial plugin release.<\/li>\n<\/ul>","raw_excerpt":"Connect your WordPress site to your N8N AI agent. Professional chat widget with GDPR support, business hours, and full customization.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/kal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/291236","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/kal.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/kal.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=291236"}],"author":[{"embeddable":true,"href":"https:\/\/kal.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/carlosvera"}],"wp:attachment":[{"href":"https:\/\/kal.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=291236"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/kal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=291236"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/kal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=291236"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/kal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=291236"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/kal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=291236"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/kal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=291236"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}