Summary
A test booking received a Calnode reminder after Google Calendar had sent a cancellation for the same booking. The booking ID in the cancellation exactly matches the booking reference in the later reminder. This records an observed October 7 incident; no new live reproduction has been run.
Observed timeline
All times are UTC+07:00.
- October 6, 2026, 11:26:37: confirmation sent for a 30-minute meeting on October 7, 09:30–10:00.
- October 6, 15:03:02: Google Calendar sent a cancellation notice for the booking.
- October 7, 07:30:04: Calnode sent the attendee an upcoming-booking reminder with the original meeting details and add-to-calendar links.
The reminder arrived about 16 hours 27 minutes after the cancellation. All three messages reference the same booking. Attendee identities, addresses, booking IDs, meeting URLs, and mailbox links are omitted.
Current technical evidence
Checked October 8, 2026:
The exact action used to cancel the original event and Calnode's stored status at reminder send time have not been inspected. Do not infer a specific root cause from the emails alone. A read-only check of four clean local worktrees found no follow-up reminder/cancellation fix. The reminder worker and reminder tests are unchanged across the inspected local branches, the production revision, and integration revision 6ff511b. The existing local-cancellation regression dates to June 14 (dfda3d3). Integration RSVP handling updates attendee RSVP state, not booking cancellation. Runtime/database access was unavailable; no new tests or live booking/email actions were run.
Reproduction to verify
- Create a test booking with Google Calendar connected and a reminder scheduled before its start.
- Cancel the associated event in Google Calendar before the reminder is due; verify the cancellation notification.
- Allow the original reminder time to pass.
- Check whether Calnode still sends the upcoming-booking reminder and inspect the local booking status.
These are proposed reproduction steps, not a newly executed end-to-end test.
Expected
The canceled meeting should not generate an upcoming-booking reminder. Reconcile external cancellation into the booking/reminder state, or explicitly define and surface the supported cancellation path if Google-origin cancellation is intentionally unsupported.
Actual
The October 7 reminder described the previously canceled meeting as upcoming.
Acceptance checks
Resolution — October 8, 2026
Shipped in PR #6, merged to main as c41e21c03062ff64c58be53ca1f177672ec8e983. Railway production deployment daf623aa-9885-4a8e-8b8d-80585c66408a completed successfully. The live /version and /readyz endpoints report that exact commit, the admin page and authenticated bookings API return HTTP 200, and startup logs confirm Google Calendar and CalDAV are configured. No schema migration was added.
The worker checks the primary host's recorded Google event before sending. Explicit external cancellation suppresses the reminder; lookup errors use the existing retry/failure policy. Local cancellation is checked again after the lookup. Google settings reloads preserve other calendar providers and their reminders.
Regression tests cover locally confirmed bookings whose Google event is cancelled, active events, lookup errors/recovery, local cancellation during lookup, and Microsoft/CalDAV reminders after Google credential save/clear. Full Go tests, vet and backend builds pass on both fork and upstream. The upstream counterpart remains PR Calnode#133.
Verification limit: no new live cancellation-to-reminder email experiment was performed. The exact historical cancellation action and booking state at the October 7 send time remain unverified; the first historical acceptance item is intentionally left unchecked. Closing the reminder-delivery defect based on the regression coverage and verified production release, not claiming historical reconstruction or full inbound calendar synchronization. External cancellation still does not change local booking status, release availability or trigger refunds.
Summary
A test booking received a Calnode reminder after Google Calendar had sent a cancellation for the same booking. The booking ID in the cancellation exactly matches the booking reference in the later reminder. This records an observed October 7 incident; no new live reproduction has been run.
Observed timeline
All times are UTC+07:00.
The reminder arrived about 16 hours 27 minutes after the cancellation. All three messages reference the same booking. Attendee identities, addresses, booking IDs, meeting URLs, and mailbox links are omitted.
Current technical evidence
Checked October 8, 2026:
The exact action used to cancel the original event and Calnode's stored status at reminder send time have not been inspected. Do not infer a specific root cause from the emails alone. A read-only check of four clean local worktrees found no follow-up reminder/cancellation fix. The reminder worker and reminder tests are unchanged across the inspected local branches, the production revision, and integration revision 6ff511b. The existing local-cancellation regression dates to June 14 (dfda3d3). Integration RSVP handling updates attendee RSVP state, not booking cancellation. Runtime/database access was unavailable; no new tests or live booking/email actions were run.
Reproduction to verify
These are proposed reproduction steps, not a newly executed end-to-end test.
Expected
The canceled meeting should not generate an upcoming-booking reminder. Reconcile external cancellation into the booking/reminder state, or explicitly define and surface the supported cancellation path if Google-origin cancellation is intentionally unsupported.
Actual
The October 7 reminder described the previously canceled meeting as upcoming.
Acceptance checks
Resolution — October 8, 2026
Shipped in PR #6, merged to
mainasc41e21c03062ff64c58be53ca1f177672ec8e983. Railway production deploymentdaf623aa-9885-4a8e-8b8d-80585c66408acompleted successfully. The live/versionand/readyzendpoints report that exact commit, the admin page and authenticated bookings API return HTTP 200, and startup logs confirm Google Calendar and CalDAV are configured. No schema migration was added.The worker checks the primary host's recorded Google event before sending. Explicit external cancellation suppresses the reminder; lookup errors use the existing retry/failure policy. Local cancellation is checked again after the lookup. Google settings reloads preserve other calendar providers and their reminders.
Regression tests cover locally confirmed bookings whose Google event is cancelled, active events, lookup errors/recovery, local cancellation during lookup, and Microsoft/CalDAV reminders after Google credential save/clear. Full Go tests, vet and backend builds pass on both fork and upstream. The upstream counterpart remains PR Calnode#133.
Verification limit: no new live cancellation-to-reminder email experiment was performed. The exact historical cancellation action and booking state at the October 7 send time remain unverified; the first historical acceptance item is intentionally left unchecked. Closing the reminder-delivery defect based on the regression coverage and verified production release, not claiming historical reconstruction or full inbound calendar synchronization. External cancellation still does not change local booking status, release availability or trigger refunds.