<!DOCTYPE html><html><head><title></title><style type="text/css">p.MsoNormal,p.MsoNoSpacing{margin:0}</style></head><body><div>Fun fact about working at Fastmail: so many meetings are held in the US evening / AU morning that most agendas get two dates on them.  The Cyrus call, though, is held in the US morning / AU night, so we only have one date to mention.<br></div><div><br></div><div>Anyway, the Cyrus development call happened this morning, and here are some notes from it:<br></div><div><br></div><div><h2><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z95bdutxz67zcz84zz90zz82zsz80zdz87zz80z10z73zz65zz80zz78zwxz71zz83zz69z5oz81z">2020-08-17</span><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z95lz89zyz71zb47t0z79zrz90zz75zdz84zvz67zz65zcpz84zz73zz79zvz84zz74zz82zz78z5">:</span><br></h2></div><ul class="listtype-bullet listindent1 list-bullet1"><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z">log format normalization</span><br></li><ul class="listtype-bullet listindent2 list-bullet2"><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z95bdutxz67zcz84zz90zz82zsz80zdz87zz80z10z73zz65zz80zz78zwxz71zz83zz69z5oz81z">figure out what we care about</span><br></li><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z95bdutxz67zcz84zz90zz82zsz80zdz87zz80z10z73zz65zz80zz78zwxz71zz83zz69z5oz81z">create a syslog wrapper which generates the format we want!</span><br></li><li><span class="inline-code author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z"><span style="background-color:rgb(247, 249, 250);color:rgb(27, 39, 51);border-top-width:1px;border-right-width:1px;border-bottom-width:1px;border-left-width:1px;border-top-style:solid;border-right-style:solid;border-bottom-style:solid;border-left-style:solid;border-top-color:rgba(208, 212, 217, 0.5);border-right-color:rgba(208, 212, 217, 0.5);border-bottom-color:rgba(208, 212, 217, 0.5);border-left-color:rgba(208, 212, 217, 0.5);border-image-source:initial;border-image-slice:initial;border-image-width:initial;border-image-outset:initial;border-image-repeat:initial;margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:-1px;"><span class="font" style="font-family:monospace;">logline(</span></span></span><span class="inline-code author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z95bdutxz67zcz84zz90zz82zsz80zdz87zz80z10z73zz65zz80zz78zwxz71zz83zz69z5oz81z"><span style="background-color:rgb(247, 249, 250);color:rgb(27, 39, 51);border-top-width:1px;border-top-style:solid;border-top-color:rgba(208, 212, 217, 0.5);border-right-width:1px;border-right-style:solid;border-right-color:rgba(208, 212, 217, 0.5);border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:rgba(208, 212, 217, 0.5);border-image-source:initial;border-image-slice:initial;border-image-width:initial;border-image-outset:initial;border-image-repeat:initial;margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:-1px;border-left-width:initial;border-left-style:none;border-left-color:initial;"><span class="font" style="font-family:monospace;">level, function_name, </span></span></span><span class="inline-code author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z"><span style="background-color:rgb(247, 249, 250);color:rgb(27, 39, 51);border-top-width:1px;border-top-style:solid;border-top-color:rgba(208, 212, 217, 0.5);border-right-width:1px;border-right-style:solid;border-right-color:rgba(208, 212, 217, 0.5);border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:rgba(208, 212, 217, 0.5);border-image-source:initial;border-image-slice:initial;border-image-width:initial;border-image-outset:initial;border-image-repeat:initial;margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:-1px;border-left-width:initial;border-left-style:none;border-left-color:initial;"><span class="font" style="font-family:monospace;">category, </span></span></span><span class="inline-code author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z95bdutxz67zcz84zz90zz82zsz80zdz87zz80z10z73zz65zz80zz78zwxz71zz83zz69z5oz81z"><span style="background-color:rgb(247, 249, 250);color:rgb(27, 39, 51);border-top-width:1px;border-top-style:solid;border-top-color:rgba(208, 212, 217, 0.5);border-right-width:1px;border-right-style:solid;border-right-color:rgba(208, 212, 217, 0.5);border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:rgba(208, 212, 217, 0.5);border-image-source:initial;border-image-slice:initial;border-image-width:initial;border-image-outset:initial;border-image-repeat:initial;margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:-1px;border-left-width:initial;border-left-style:none;border-left-color:initial;"><span class="font" style="font-family:monospace;">subcategory, </span></span></span><span class="inline-code author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z"><span style="background-color:rgb(247, 249, 250);color:rgb(27, 39, 51);border-top-width:1px;border-top-style:solid;border-top-color:rgba(208, 212, 217, 0.5);border-right-width:1px;border-right-style:solid;border-right-color:rgba(208, 212, 217, 0.5);border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:rgba(208, 212, 217, 0.5);border-image-source:initial;border-image-slice:initial;border-image-width:initial;border-image-outset:initial;border-image-repeat:initial;margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:-1px;border-left-width:initial;border-left-style:none;border-left-color:initial;"><span class="font" style="font-family:monospace;">message)</span></span></span><br></li><li><span class="inline-code author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z95bdutxz67zcz84zz90zz82zsz80zdz87zz80z10z73zz65zz80zz78zwxz71zz83zz69z5oz81z"><span style="background-color:rgb(247, 249, 250);color:rgb(27, 39, 51);border-top-width:1px;border-right-width:1px;border-bottom-width:1px;border-left-width:1px;border-top-style:solid;border-right-style:solid;border-bottom-style:solid;border-left-style:solid;border-top-color:rgba(208, 212, 217, 0.5);border-right-color:rgba(208, 212, 217, 0.5);border-bottom-color:rgba(208, 212, 217, 0.5);border-left-color:rgba(208, 212, 217, 0.5);border-image-source:initial;border-image-slice:initial;border-image-width:initial;border-image-outset:initial;border-image-repeat:initial;margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:-1px;"><span class="font" style="font-family:monospace;">auditlog: type foo=<var> bar=<var> …</span></span></span><br></li><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z">create a macro to get things au</span><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z95bdutxz67zcz84zz90zz82zsz80zdz87zz80z10z73zz65zz80zz78zwxz71zz83zz69z5oz81z">t</span><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z">o-added</span><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z s-lparen"> </span><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z h-lparen">(fn</span><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z"> name, line no)</span><br></li><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z95bdutxz67zcz84zz90zz82zsz80zdz87zz80z10z73zz65zz80zz78zwxz71zz83zz69z5oz81z">agree what we want to do for new code</span><br></li><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z95bdutxz67zcz84zz90zz82zsz80zdz87zz80z10z73zz65zz80zz78zwxz71zz83zz69z5oz81z">change it</span><br></li><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z95bdutxz67zcz84zz90zz82zsz80zdz87zz80z10z73zz65zz80zz78zwxz71zz83zz69z5oz81z">tell everyone</span><br></li><li>[rjbs: I already sent an email asking for more info!]</li></ul><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z">deleting ACL when we delete folder: should we?</span><br></li><ul class="listtype-bullet listindent2 list-bullet2"><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z">when user is recreated from pending delete in Fm, ACLs not recreated, including</span><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z s-lparen"> </span><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z h-lparen">(anyone</span><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z"> p) which allows plus addr delivery</span><br></li><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z95bdutxz67zcz84zz90zz82zsz80zdz87zz80z10z73zz65zz80zz78zwxz71zz83zz69z5oz81z">ACL should be copied to the </span><span class="inline-code author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z95bdutxz67zcz84zz90zz82zsz80zdz87zz80z10z73zz65zz80zz78zwxz71zz83zz69z5oz81z"><span style="background-color:rgb(247, 249, 250);color:rgb(27, 39, 51);border-top-width:1px;border-right-width:1px;border-bottom-width:1px;border-left-width:1px;border-top-style:solid;border-right-style:solid;border-bottom-style:solid;border-left-style:solid;border-top-color:rgba(208, 212, 217, 0.5);border-right-color:rgba(208, 212, 217, 0.5);border-bottom-color:rgba(208, 212, 217, 0.5);border-left-color:rgba(208, 212, 217, 0.5);border-image-source:initial;border-image-slice:initial;border-image-width:initial;border-image-outset:initial;border-image-repeat:initial;margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:-1px;"><span class="font" style="font-family:monospace;">DELETED.</span></span></span><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z95bdutxz67zcz84zz90zz82zsz80zdz87zz80z10z73zz65zz80zz78zwxz71zz83zz69z5oz81z"> folder</span><br></li><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z95bdutxz67zcz84zz90zz82zsz80zdz87zz80z10z73zz65zz80zz78zwxz71zz83zz69z5oz81z">Doesn’t matter if we leave it on the tombstone as well, but we should always be bringing it back from the folder we undelete, not using the copy on the tombstone, because that folder is GONE.</span><br></li></ul><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z95lz89zyz71zb47t0z79zrz90zz75zdz84zvz67zz65zcpz84zz73zz79zvz84zz74zz82zz78z5">lmtp fuzzy matching with plus addressing will cause delivery to parent</span><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z95lz89zyz71zb47t0z79zrz90zz75zdz84zvz67zz65zcpz84zz73zz79zvz84zz74zz82zz78z5 s-lparen"> </span><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z95lz89zyz71zb47t0z79zrz90zz75zdz84zvz67zz65zcpz84zz73zz79zvz84zz74zz82zz78z5 h-lparen">(if</span><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z95lz89zyz71zb47t0z79zrz90zz75zdz84zvz67zz65zcpz84zz73zz79zvz84zz74zz82zz78z5"> ACL allows) if child doesn’t exist</span><br></li><ul class="listtype-bullet listindent2 list-bullet2"><li>is this a recent change? to be investigated</li></ul><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z">discuss upgrading mailboxes.db for UUID mailboxes - specifically multiple mailboxes with same UID</span><br></li><ul class="listtype-bullet listindent2 list-bullet2"><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z">[discussion to be noted by Ken]</span><br></li></ul><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z">robert</span><br></li><ul class="listtype-bullet listindent2 list-bullet2"><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z">bunch of work on making sure Email/changes exists on destroy of containing mailbox</span><br></li><ul class="listtype-bullet listindent3 list-bullet3"><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z">involves change of semantics of deleted modseq counter</span><br></li><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z">we now bump the email deleted modseq when we soft delete a mailbox</span><br></li><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z">with this change: after doing Mailbox/set.delete, Email/changes will get cannotCalculateChanges</span><br></li></ul><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z">running AFL against MIME parser: so far, no results</span><br></li><ul class="listtype-bullet listindent3 list-bullet3"><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z">will be looking into using AFL dictionaries to refine attack</span><br></li><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z">DigitalOcean maybe not the best place to be running this; will look for other resource</span><br></li></ul><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z">looked into key-too-long errors that turned up recently; potential fix has been send upstream</span><br></li><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z">next up: JSCalendar object updates; then updating role on Mailbox/set</span><br></li><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z">rjbs to follow up internally about testing new JMAP Calendar branch on future</span><br></li></ul><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z">murch</span><br></li><ul class="listtype-bullet listindent2 list-bullet2"><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z">sieve has been updated to match mailbox and snooze drafts</span><br></li><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z">fixed weird bug in uppercasing in Sieve</span><br></li></ul><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z">bron</span><br></li><ul class="listtype-bullet listindent2 list-bullet2"><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z">“synchronous replication is awesome!”</span><br></li><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z">I’ve patched synclog; there was a thing called a synclog checklog, which picked up the log and ran it right there</span><br></li><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z">that’s sync replication… but kind of bogus</span><br></li><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z">now we create it in memory</span><br></li><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z">next step is to create a backend connection with a 30s timeout and change the synclog reader to read from a buffer; if our buffer is nonempty, we hand that to synclog</span><br></li><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z">when we get back an OK, we know it has been committed to the</span><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z s-ldquo"> </span><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z h-ldquo">“blessed”</span><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z"> replica</span><br></li><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z">would like to get this under some real testing to figure out impact on performance and resource consumption</span><br></li><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z">after that will be sync caching to improve performance of checking state of replica</span><br></li><ul class="listtype-bullet listindent3 list-bullet3"><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z">append is 4 round trips; this will bring down to 3</span><br></li><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z">drop another one by knowing about existing copies of msg</span><br></li><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z">drop another one by embedding file</span><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z s-lparen"> </span><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z h-lparen">(email)</span><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z"> as part of the apply if file small enough; otherwise separate reserve upload</span><br></li></ul><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z">“user has moved” bug: we tried to efficiently combine requests, but didn’t deduplicate mailbox names, which led to aborts — once for every mailbox in a rename</span><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z s-lbracket"> </span><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z h-lbracket">[rjbs:</span><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z"> surely I got this a little wrong]</span><br></li></ul><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z">rjbs</span><br></li><ul class="listtype-bullet listindent2 list-bullet2"><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z">we’ve changed how we aggregate errors</span><br></li><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z">a question about how we get</span><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z s-ldquo"> </span><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z h-ldquo">“deadlock</span><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z"> avoided” in delivery from Sieve: rjbs to research</span><br></li></ul><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z">rsto</span><br></li><ul class="listtype-bullet listindent2 list-bullet2"><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z">needs to update Cyrus docs for new query behavior</span><br></li></ul><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z">murch</span><br></li><ul class="listtype-bullet listindent2 list-bullet2"><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z">dealing with conflict between include-in-fm PRs and usermeta-bis work</span><br></li></ul></ul><div><br></div><div id="sig65535536"><div>-- <br></div><div>Ricardo Signes (rjbs)<br></div><div><br></div></div><div><br></div></body></html>