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.

Anyway, the Cyrus development call happened this morning, and here are some 
notes from it:

2020-08-17:

 * log format normalization
   * figure out what we care about
   * create a syslog wrapper which generates the format we want!
   * logline(level, function_name, category, subcategory, message)
   * auditlog: type foo=<var> bar=<var> …
   * create a macro to get things auto-added (fn name, line no)
   * agree what we want to do for new code
   * change it
   * tell everyone
   * [rjbs: I already sent an email asking for more info!]
 * deleting ACL when we delete folder: should we?
   * when user is recreated from pending delete in Fm, ACLs not recreated, 
including (anyone p) which allows plus addr delivery
   * ACL should be copied to the DELETED. folder
   * 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.
 * lmtp fuzzy matching with plus addressing will cause delivery to parent (if 
ACL allows) if child doesn’t exist
   * is this a recent change? to be investigated
 * discuss upgrading mailboxes.db for UUID mailboxes - specifically multiple 
mailboxes with same UID
   * [discussion to be noted by Ken]
 * robert
   * bunch of work on making sure Email/changes exists on destroy of containing 
mailbox
     * involves change of semantics of deleted modseq counter
     * we now bump the email deleted modseq when we soft delete a mailbox
     * with this change: after doing Mailbox/set.delete, Email/changes will get 
cannotCalculateChanges
   * running AFL against MIME parser: so far, no results
     * will be looking into using AFL dictionaries to refine attack
     * DigitalOcean maybe not the best place to be running this; will look for 
other resource
   * looked into key-too-long errors that turned up recently; potential fix has 
been send upstream
   * next up: JSCalendar object updates; then updating role on Mailbox/set
   * rjbs to follow up internally about testing new JMAP Calendar branch on 
future
 * murch
   * sieve has been updated to match mailbox and snooze drafts
   * fixed weird bug in uppercasing in Sieve
 * bron
   * “synchronous replication is awesome!”
   * I’ve patched synclog; there was a thing called a synclog checklog, which 
picked up the log and ran it right there
   * that’s sync replication… but kind of bogus
   * now we create it in memory
   * 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
   * when we get back an OK, we know it has been committed to the “blessed” 
replica
   * would like to get this under some real testing to figure out impact on 
performance and resource consumption
   * after that will be sync caching to improve performance of checking state 
of replica
     * append is 4 round trips; this will bring down to 3
     * drop another one by knowing about existing copies of msg
     * drop another one by embedding file (email) as part of the apply if file 
small enough; otherwise separate reserve upload
   * “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 [rjbs: surely I got this a little wrong]
 * rjbs
   * we’ve changed how we aggregate errors
   * a question about how we get “deadlock avoided” in delivery from Sieve: 
rjbs to research
 * rsto
   * needs to update Cyrus docs for new query behavior
 * murch
   * dealing with conflict between include-in-fm PRs and usermeta-bis work

-- 
Ricardo Signes (rjbs)

Reply via email to