=== Ruby Relay === Contributors: rubyrelay Tags: live chat, chat, customer support, woocommerce, chat widget Requires at least: 5.8 Tested up to: 6.9 Requires PHP: 7.4 Stable tag: 1.2.0 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html Embed the Ruby Relay live chat widget on your WordPress or WooCommerce site. Full admin setup, zero code, async-loaded so it never blocks page render. == Description == Ruby Relay is a hosted live chat service. This plugin loads the Ruby Relay chat widget on every public page of your site, including WooCommerce shop, cart, checkout, and product pages. Configure everything from a standard WordPress settings page and the widget appears immediately. **Features** * Zero-code install, configure everything from Settings > Ruby Relay * WooCommerce compatible with no extra setup * Async widget load so page render is never blocked * Nine built-in theme presets, plus per-color overrides for user messages, chat background, text, and header * Four corner positions * Optional custom link inside the chat window * Show or hide sender names, open the chat automatically on page load * No tracking scripts or analytics beyond the Ruby Relay session needed to deliver chat **How the widget works** The plugin loads `https://cdn.rubyrelay.com/chat-widget/ruby-relay-widget.min.js` from Ruby Relay's CDN and calls `RubyRelayWidget.init()` with the values you save in Settings > Ruby Relay. No data is sent to Ruby Relay until a site visitor opens the chat bubble and sends a message. == External services == This plugin loads a JavaScript bundle from Ruby Relay's CDN and opens a WebSocket connection to Ruby Relay's chat infrastructure when a visitor interacts with the chat widget. * Widget bundle: * Chat API: * Chat WebSocket: `wss://msg.rubyrelay.com` **Personal data sent to Ruby Relay** * Chat messages that site visitors send through the widget, and the page URL where the conversation started. * When the "Share logged-in user info" setting is enabled (off by default; admins must opt in from Settings > Ruby Relay) and a WordPress user is logged in, the plugin also sends the visitor's WordPress user ID and email address to Ruby Relay so your support team has context on who is chatting. Nothing is sent for guest visitors, and nothing is sent at all until an admin enables the setting. Ruby Relay's terms of service: Ruby Relay's privacy policy: == Installation == 1. Upload the `ruby-relay` folder to the `/wp-content/plugins/` directory, or install via the Plugins screen in WordPress. 2. Activate the plugin through the Plugins screen. 3. Go to Settings > Ruby Relay and paste your API key. 4. (Optional) Customize position, theme, header title, and welcome message. 5. Visit your site to confirm the chat bubble appears. == Frequently Asked Questions == = Do I need a Ruby Relay account? = Yes. Sign up at and copy your API key from the dashboard. = Does this work with WooCommerce? = Yes. The widget loads on every public page including WooCommerce shop, cart, checkout, and product pages with no additional configuration. = Does it slow down my site? = The widget script is loaded asynchronously and weighs about 500 KB. It does not block page render or first paint. = Can I hide the widget on specific pages? = Not through this plugin's settings yet. If you need conditional loading, use the `wp_enqueue_scripts` filter to dequeue `ruby-relay-widget` on specific templates. == Screenshots == 1. The Ruby Relay chat widget rendered on the front-end of a site, with the chat panel open and ready for a visitor to start a conversation. == Changelog == = 1.2.0 = * Added "Share logged-in user info" setting. Off by default; when an admin opts in from Settings > Ruby Relay, the plugin passes the current WordPress user's ID and email address to Ruby Relay so support agents know who is chatting. Nothing is sent for guest visitors. = 1.1.0 = * Added eight new settings: show sender names, open on page load, custom link text, custom link URL, user message color, chat background color, text color, header color. = 1.0.0 = * Initial release.