kewisch / gdata-provider

Provider for Google Calendar
https://addons.thunderbird.net/thunderbird/addon/provider-for-google-calendar/
Other
239 stars 31 forks source link

Cannot dismiss an event from another user's calendar whose invitation I have accepted #781

Open stevepiercy opened 1 month ago

stevepiercy commented 1 month ago

Describe the problem and steps to reproduce it:

  1. I accept an invitation from another Google user's calendar. It has a notification of 1 hour before the event start.
  2. One hour before the event starts, I get a notification in Thunderbird.
  3. I click Dismiss for just that event. Nothing happens. See log message below.
  4. I click Dismiss All. All events that I created are dismissed, but the one to which I was invited persists. See log message below.
  5. I close the notification window.
  6. Every hour thereafter, the notification window reopens with the event. Repeat Step 5.
  7. The only way to exit this loop is to go into Google Calendar and delete that elapsed instance of the event from my calendar, then resynch my calendar.

What happened?

See above.

What did you expect to happen?

When I click Dismiss or Dismiss All, the events get dismissed and do not notify me again.

Anything else we should know?

Calendar: [calGoogleCalendar] Sending request headers: ({}) gdataRequest.jsm:319
Calendar: [calGoogleCalendar] Request PUT https://www.googleapis.com/calendar/v3/calendars/steve.piercy.web%40gmail.com/events/p70ei3gbpjqmt9r11ifau65mhc_R20240307T150000?sendUpdates=none responded with HTTP 403 gdataRequest.jsm:402
Calendar: [calGoogleCalendar] Login failed for steve.piercy.web@gmail.com HTTP Status: 403 Reason: forbidden gdataRequest.jsm:435
Calendar: [calGoogleCalendar] Modifying item Plone Steering Circle failed:2147500037: {
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "forbidden",
    "message": "Forbidden"
   }
  ],
  "code": 403,
  "message": "Forbidden"
 }
}

I think this issue is different from https://github.com/kewisch/gdata-provider/issues/700.

It was also concluded that this issue was different from https://github.com/kewisch/gdata-provider/issues/498#issuecomment-2227273819 in https://github.com/kewisch/gdata-provider/issues/498#issuecomment-2227426137.

See discussion https://github.com/kewisch/gdata-provider/discussions/708.

kewisch commented 1 month ago

This could simply be #3. What you can do is disable the "show missed reminders" option in Thunderbird preferences, though I acknowledge that is more a workaround than a fix. Dismissing reminders on someone else's invitation is a bit tricky because it requires modifying your own copy, and that only works on PATCH requests. To implement those I need to fundamentally change how changes are identified and that isn't something I want to do in the current legacy version. I'm rewriting in 224 which has this fixed, but it isn't really usable yet.

stevepiercy commented 1 month ago

I unchecked Show missed reminders for writeable calendars. I have to wait for another unwriteable event to pass to verify if that workaround avoids the annoyance.

I don't blame you for avoiding legacy code. I often look back at my code, and exclaim, "What was I thinking?"

steve-perkins-verusen commented 1 month ago

@kewisch Pardon my ignorance, but what is "224" in reference to? The current version number for Thunderbird and the extension is "128" (more or less), so I doubt that it's a number in that version sequence. I'm curious if the rewritten logic is something that will show up in an update once ready, or if the extension that I have installed is truly legacy and there will be a completely different extension to install at some point? Thank you for all your work!

kewisch commented 1 month ago

Sorry, issue 224 on this bugtracker. I didn't want to link it to avoid this issue showing up as a reference. I will push the new code as an update, not a new extension. If you want to try it out you can build the extension from the main branch of this repository, it has come along pretty far :)