rem: self.ack = message[message.length - 1][0]; 
add: self.ack = Divmod.max(self.ack, message[message.length - 1][0]); 
context:     function messageReceived(self, message) {        self.pause();        if (message.length) {           if (self.ack + 1 >= message[0][0]) {               var ack = self.ack;               self.ack = message[message.length - 1][0];               for (var i = 0; i < message.length; ++i) {                   var msg = message[i];                   var seq = msg[0];                   var payload = msg[1];                   if (seq > ack) {                       try {                           Nevow.Athena._actionHandlers[payload[0]].apply(null, payload[1]);                       } catch (e) {                           Divmod.err(e, 'Action handler ' + payload[0] + ' for ' + seq + ' failed.');                       }                   }               }           } else {               Divmod.debug("transport", "Sequence gap!  " + Nevow.Athena.livepageId + " went from " + self.ack + " to " + message[0][0]);           }        }        self.unpause();    },
meta: 1565	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/1565/3a83effe83dd15845a6729e3aa0c053ac3b1fdd4/athena.js/clean/nevow/athena.js