• Resolved craigmckee

    (@craigmckee)


    We don’t have cancel links in any emails to prevent auto clicking and Google calendar sync is set to 15 minutes. This is what Claude Code thinks is the issue with appointments being made then automatically cancelled:

    ● CRITICAL ISSUE IDENTIFIED

    I found the root cause of your automatic cancellation problem. Here’s what’s happening:

    The Problem

    The plugin’s Google sync has a dangerous logic flaw in google_cron.php (lines 179-227):

    1. Every 15-30 minutes (based on your cron schedule), the sync runs
    2. It fetches events from Google Calendar (810 events in recent syncs)
    3. It compares these events against your database
    4. Any appointment in your database that’s NOT in the Google Calendar response gets automatically cancelled
    5. This happens in the pull_deleted_events() method at line 179 Evidence from Logs Your logs show constant automatic cancellations:
    • November 11-25: 100+ appointments automatically cancelled
    • Today alone (Nov 25): 8 appointments cancelled so far (3 at 9:57 AM, 3 at 10:13 AM, 2 at 10:30 AM)
    • Pattern: The “Total sync events” fluctuates (810 → 808 → fewer), causing appointments to be cancelled Why This Happens The sync assumes if an event isn’t returned by Google Calendar API, it was deleted. But events can be “missing” from the API response due to:
    1. Google API pagination issues – Not all events returned
    2. Temporary API errors/timeouts – Incomplete data fetched
    3. Date range filtering – Events outside the 63-day window
    4. Calendar permission changes
    5. Race conditions during booking The Flawed Code (google_cron.php:207-226)
    6. // Finds appointments NOT in Google Calendar response
      $ids = array_filter($ids, function($value) use ($list_of_imported) {
      return !in_array($value->ext_id, $list_of_imported);
      }); // Then AUTOMATICALLY cancels them!
      if ($this->delete_strategy == '0') {
      $rows = $this->strategy_cancel_appointments($ids); // ← YOUR PROBLEM
      $logger->info('Canceled Appointments ' . $rows);
      }
    7. Immediate Solutions Option 1: Disable Auto-Cancellation (RECOMMENDED)
      Set the delete strategy to not cancel appointments. This requires accessing the plugin settings or database. Option 2: Disable Google Sync Temporarily
      Turn off the Google sync cron job until this is fixed. Option 3: Fix the Code
      The logic needs to be more conservative – perhaps requiring multiple sync failures before cancelling, or only cancelling when an explicit
      “deleted” event is received from Google.
Viewing 11 replies - 1 through 11 (of 11 total)
  • Plugin Support Akshay A

    (@akshaycode1)

    Hi,

    Thank you for reaching out to us. We have raised a GitHub ticket regarding this concern and it will be addressed in an upcoming update. We kindly request your patience in the meantime.

    Here is the Ticket.

    Thread Starter craigmckee

    (@craigmckee)

    Have you got a timeframe please – multiple appointments are being cancelled every day.

    What is the current version of the connect plugin?

    Plugin Support Akshay A

    (@akshaycode1)

    Hi, we are working on it and the upcoming update will be released next week.

    Thread Starter craigmckee

    (@craigmckee)

    OK, great. Can you tell me what the current version of the Connect plugin is so I can make sure that I am on the latest version

    Thread Starter craigmckee

    (@craigmckee)

    @akshaycode1 – any update for me please?

    Plugin Support Akshay A

    (@akshaycode1)

    Hi, We will be releasing a new update this week, which will address this concern. We will notify you here once it’s live. The current plugin version is 3.12.16, which you can check here.

    Thread Starter craigmckee

    (@craigmckee)

    Thank you – I thought the fix would be with the Easy Appointments Connect plugin rather than the core plugin though?

    Thread Starter craigmckee

    (@craigmckee)

    Any joy?

    Plugin Support Akshay A

    (@akshaycode1)

    Hi @craigmckee ,

    Thank you for your patience and we sincerely apologize for the delayed response.

    Our team has completed everything related to this issue and the improvement is ready. It will surely be released within this week. We truly appreciate your understanding and support.

    Plugin Support Akshay A

    (@akshaycode1)

    Hi @craigmckee ,

    Hope you are doing well. We have released an update version 3.12.17 in which we have addressed this issue. Kindly update the plugin to the latest version, clear the cache and give it a try.

    Thread Starter craigmckee

    (@craigmckee)

    thank you.

Viewing 11 replies - 1 through 11 (of 11 total)

You must be logged in to reply to this topic.