Comment 36 for bug 633352

Revision history for this message
Mariano Wahlmann (dichoso) wrote : Re: Cannot dismiss reminders

It's happening to me as well...

When you click "dismiss" that calls

---- /usr/lib/xul-ext/lightning/calendar-js/calAlarmService.js ----

dismissAlarm: function cAS_dismissAlarm(aItem, aAlarm) {
  let now = nowUTC();
        let oldParent = aItem.parentItem;
        let newParent = oldParent.clone();
        newParent.alarmLastAck = now;
        if (aItem.recurrenceId) {
            newParent.deleteProperty("X-MOZ-SNOOZE-TIME-" + aItem.recurrenceId.nativeTime);
        } else {
            newParent.deleteProperty("X-MOZ-SNOOZE-TIME");
        }
        return newParent.calendar.modifyItem(newParent, oldParent, null);
    },

That deletes the property X-MOZ-SNOOZE-TIME and calls

---- calExchange.js ----
 modifyItem: function(aNewItem, aOldItem, aListener)
 {
  this.sdbg("modifyItem\n");

  /* just in case we need to modify it */
  aNewItem = aNewItem.clone();

  var data;
  var del = false;
  var flags = {};
         var invite = aNewItem.getProperty("X-SOR-INVITE") || this.isInvitation(aNewItem);

  if (invite === true) {
   /* XXX only come here if the participation status changed */

The problem seems to be that calExchange.js is not taking into account which type of modification it is, in this case X-MOZ-SNOOZE-TIME and goes to the path of invitation handling and never gets to delete that property hence happens over and over