Soltacia Live Chat

Description

A simple self-hosted live chat widget for WordPress.

How it works

  • Visitors click the floating chat button and send messages.
  • In wp-admin, go to “Soltacia Live Chat” to reply in the inbox.

Notes

This is a polling-based chat (AJAX/REST). If you need true real-time with many agents, add WebSockets (Phase 2).

1.7.33

  • Hotfix: remove early rewrite-rule registration that could fatal on some hosts.
  • Serve the service worker from the site root via a query param (no custom rewrite rules needed).
  • Fix PHP string concatenation in service worker output (prevents “critical error” when opening the SW URL).

1.7.32

  • Fix Web Push service worker delivery: use root endpoint /soltacia-chat-sw.js to avoid CDN/WAF blocking plugin asset JS.
  • On update, auto-flush rewrite rules once to ensure the SW endpoint works without manual permalinks save.

1.1.0

  • Added admin email notifications (throttled)
  • Added Close/Reopen conversation controls in admin inbox

1.2.0

  • Added near real-time admin updates via Server-Sent Events (push stream)
  • Added desktop notifications + sound for new visitor messages (opt-in)

1.7.21

1.7.22

  • Front-end: configurable floating chat button label (Settings)
  • Front-end: added theme palettes for the button + widget window (Settings)

1.7.25

  • Widget header layout option (logo left vs centered) and option to hide title when logo is present.
  • Operator inbox: search conversations by last message text or date.
  • Operator inbox: mark conversation unread/read toggle.
  • Alerts: optional “Only when tab not focused” behavior for sound + desktop notifications.

1.7.24

  • Widget branding: configurable header logo (media upload) and optional Support Hours line under the title
  • Settings screen: added Support Hours + Header Logo controls
  • Front-end widget header now renders logo + support hours when set

1.3.0

  • Added Web Push notifications (no-payload) using VAPID
  • Added device subscription management in Settings
  • Added root-served service worker via /soltacia-chat-sw.js

1.3.1

  • Notification click now opens the newest unread conversation (focus=unread)
  • Admin title ‘(New)’ badge clears when conversations are read

1.4.0

  • Added encrypted Web Push payloads (preview + cid deep-link)
  • Notification click opens the exact conversation

1.4.1

  • PHP 8 compatibility hardening: encrypted payload previews auto-fallback on PHP 8.0 (works without previews)
  • Added Settings status indicator for payload preview support

1.5.0

  • Added PHP 8.0 push payload preview support when GMP is available (no need for openssl_pkey_derive)
  • Auto-fallback remains for hosts without GMP or openssl_pkey_derive

1.6.0

  • Added Diagnostics screen (HTTPS, SW URL, VAPID, PHP/OpenSSL capability)
  • Added Test Push button (per-user subscriptions)
  • Fixed admin localization for push (sw_url, vapid_public)

1.6.1

  • Added Service Worker check (inline fetch + content-type/snippet)
  • Added Push subscription stats (total + per-user counts)

1.6.2

  • Added Push Log table + viewer (last 50 sends)
  • Added log clear button
  • Branded plugin metadata for Soltacia.com

1.6.3

  • Fixed PHP parse error in SSE stream output (escaped JSON quotes)

1.6.4

  • Fix fatal error: removed duplicate b64url_json() method in push class

1.6.5

  • Fix PHP parse error in GMP ECDH helper (removed malformed duplicate Z3 assignment)

1.6.6

  • Fix PHP parse error in GMP ECDH helper: rewrote Z3 computation into safe two-line form

1.6.7

  • Fix fatal: added missing Soltacia_Chat_Admin::render_diagnostics() method

1.6.8

  • UI fix: chat composer bar now uses proper flex layout (textarea + send button aligned)

1.7.20

  • Admin: Desktop alerts button now toggles label Enable/Disable based on state
  • Visitor: Closed chats can no longer receive new visitor messages (prevents closed threads resurfacing)
  • Visitor: Widget resumes the last conversation id on this device and prompts a new chat if closed

1.6.9

  • Fix messages not saving: corrected wpdb->insert() format arrays for message inserts (visitor/admin/system)
  • Fix widget bottom cut-off: convert panel layout to flex column (header/body/compose)

1.7.0

  • Front-end UX fix: Send now auto-starts a chat if user hasn’t clicked Start chat yet

1.7.12

  • Gold rebuild from v1.7.0 with audited JS/PHP (PHP 8 compatible)
  • Widget mount is rendered safely (no duplicates) and can be created by JS if missing
  • Front-end send UX improved (instant feedback, fewer silent failures)
  • CSS hardened so compose area never floats outside the widget

1.7.19

  • Admin inbox: improved alerts/status readability (wrap-safe chips; no overflow into the thread pane)
  • Admin inbox: added per-device mute/unmute button for notification sound
  • Admin inbox: removed Delete button (Close/Reopen is the workflow)

1.7.18

  • Admin inbox: fixed “Enable desktop alerts” button (now requests permission + enables alerts)
  • Admin inbox: added notification sound for new visitor messages
  • Admin inbox: restored SSE stream client (startStream) so new messages update live across all conversations
  • Admin inbox: notifications only auto-mark read when the tab is focused

1.7.28

  • Offline mode + lead capture: support schedule, offline message, optional require-email when offline
  • Operator presence + SLA: operator mode toggle, admin activity ping, auto-away, “Typically replies in X min”
  • Transcripts + exports: email transcript (admin + visitor), admin export CSV/JSON
  • Hardening + polish: honeypot, message clamps, safe-area + focus-visible styles, transcript button

Screenshots

Reviews

There are no reviews for this plugin.

Contributors & Developers

“Soltacia Live Chat” is open source software. The following people have contributed to this plugin.

Contributors

Translate “Soltacia Live Chat” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.