Skip to content

Releases: maitpatni/broodle-engage-connector

v3.2.3 - Constant Redefinition Fix

Choose a tag to compare

@maitpatni maitpatni released this 22 Mar 14:21

Fix: Constant Redefinition Error

Problem

When the plugin file was loaded multiple times (e.g., during updates or due to caching), PHP threw:

  • "Warning: Constant BROODLE_ENGAGE_VERSION already defined"
  • "Fatal error: Cannot declare class Broodle_Engage_Connector, because the name is already in use"

Solution

All plugin constants now use if (!defined()) guards before defining:

if ( ! defined( 'BROODLE_ENGAGE_VERSION' ) ) {
    define( 'BROODLE_ENGAGE_VERSION', '3.2.3' );
}

Also Fixed

  • Uninstall HPOS support: Now properly cleans up wc_orders_meta table for HPOS orders
  • Version bumped to 3.2.3

Files Changed

- broodle-engage-connector.php (constant guards)
- uninstall.php (HPOS cleanup)
- readme.txt (changelog)

v3.2.2 - Critical Hotfix

Choose a tag to compare

@maitpatni maitpatni released this 22 Mar 14:08

Critical Hotfix

Activation Fatal Error (FIXED)

  • Root cause found: check_db_version() was calling Broodle_Engage_Logger::create_tables() but that static method doesn't exist
  • The actual create_tables() method is on the main Broodle_Engage_Connector class as a private method
  • Fixed: Changed to $this->create_tables()
  • This caused the "Class not found" error on activation

Uninstall Fix

  • Wrong table name: Uninstall was trying to drop broodle_engage_notifications but actual table is broodle_engage_logs
  • Fixed uninstall to drop correct table name

Files Changed

- broodle-engage-connector.php (check_db_version fix)
- uninstall.php (table name fix)

v3.2.1 - Hotfix

Choose a tag to compare

@maitpatni maitpatni released this 22 Mar 14:02

Hotfix

Bug Fix

  • Activation Error: Fixed "Class Broodle_Engage_Logger not found" error on plugin activation

The logger class was being called before it was loaded. Added explicit require before use in check_db_version().

v3.2.0 - Production Fixes

Choose a tag to compare

@maitpatni maitpatni released this 22 Mar 13:54

Production Fixes

Bug Fixes

  • Rate limiting: Fixed fake hardcoded rate limit with real transient-based tracking
  • Template variables: Fixed gap bug in variable mapping that sent wrong data to customers
  • Retry notifications: Fixed template_vars being read from overwritten field
  • Processing delay: Fixed order_processing bypassing delay configuration

Security

  • Capability check: Removed overly permissive edit_others_posts (Editors no longer can access API key)

Database

  • Version tracking: Added BROODLE_ENGAGE_DB_VERSION for proper migration handling
  • Uninstall cleanup: Complete cleanup of options, transients, cron hooks, order meta, and tables

General

  • Default country code: Changed from +1 to +91 (India market)
  • Translation loading: Added load_plugin_textdomain() call
  • Error logging: Replaced silent exception swallowing with WP_DEBUG-gated logging
  • Dead code: Removed commented-out cleanup_duplicate_statuses hook

Files Changed

- broodle-engage-connector.php
- includes/class-broodle-engage-admin.php
- includes/class-broodle-engage-api.php
- includes/class-broodle-engage-logger.php
- includes/class-broodle-engage-notifications.php
- includes/class-broodle-engage-settings.php
- uninstall.php

V.3.1.1

Choose a tag to compare

@maitpatni maitpatni released this 06 Feb 12:41

Changelog v3.1.1

Bug Fixes

  • Log timezone fix — Logs page was showing times shifted by +5:30 hours due to double timezone offset. Now correctly displays times in the WordPress site timezone (IST).

UI

  • Plugin action links — Moved "Sign Up for Broodle Engage" and "Login to Dashboard" links after the Deactivate button.

V.3.1.0

Choose a tag to compare

@maitpatni maitpatni released this 06 Feb 12:24

Changelog: 3.0.1 → 3.1.0

New Features

  • GitHub Auto-Updater — Check for updates from GitHub releases; one-click update from WordPress admin
  • Conversation Reuse — Reuse existing Chatwoot conversation for the same contact instead of creating a new one each time
  • UTM Tracking — All URLs include ?utm_source=engage&utm_medium=whatsapp for analytics
  • Product Featured Image Checkbox — Option to use WooCommerce product featured image as template header
  • Product URL Variable — New product_url option in template variable mapping
  • Plugin Action Links — Added "Sign Up for Broodle Engage" and "Login to Dashboard" links on Plugins page

Improvements

  • Template Persistence — Fix template config not persisting after save
  • Template Messages — Show actual template message body in Chatwoot inbox instead of generic fallback
  • Image & Buttons — Include image headers and button params in Chatwoot message display
  • Button Params — Send button params via processed_params (fixes error #132012)
  • Image Persistence — Fix image_id not persisting across multiple templates on page reload
  • Dashboard Widget — Redesigned with translucent stat cards, blue gradient header, proper white text, vertical alignment
  • Help Tab — Comprehensive rewrite with feature docs, variable reference, troubleshooting
  • Settings Header — Blue gradient style matching templates page
  • URL Helpers — Use proper WooCommerce permalink helpers for all URLs

Bug Fixes (Critical)

  • get_phone_number() → get_customer_phone() — Fixed undefined method causing fatal error on delayed notifications
  • send_notification_safe() visibility — Changed from private to public (called cross-class via AJAX)

Cleanup

  • API URL — Changed from dev http://127.0.0.1:3001 to production https://engage.broodle.one
  • Deprecated PHP — date() → gmdate(), current_time('timestamp') → time()
  • Links — All wa.broodle.one references updated to engage.broodle.one
  • Plugin Rename — Folder/files renamed to broodle-engage-wp-connector to match GitHub repo