[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Conversation View



At Fri, 20 Aug 2010 10:20:48 -0800,
Dave Abrahams wrote:
> On Aug 20, 2010, at 10:01 AM, Erik Hetzner <ehetzner@gmail.com> wrote:

> > (Virtual folders also allow you to create virtual folders that
> > simulate gmail conversation view. See the above wiki.)
> 
> Yeah; tried it but it didn't work for me. In fact it was kind of
> awful. See this thread for the full report:
> http://www.mail-archive.com/dovecot@dovecot.org/msg24923.html
> 
> My guess is that this feature hasnt had much testing

I haven’t tested the conversation view much. But the all virtual
mailbox is working pretty well for me.
 
> I never tried switching the search backend, but with a large message
> history searching was anything but fast.

Solr is fast. WL spends more time building summaries than waiting for
an IMAP response. Unfortunately it requires setting up a search
server.

> I think I may be on the trail of developing that feature. Coul
> really use some help tho

Here is a start. It only works after you have displayed a message (I’m
sure there is a fix for this). The real trouble is that we need to
follow the trail of references up to the first message to really get
the full thread, which entails a back-and-forth with the IMAP server.

(defun egh:wl-all-folder ()
  "%xxx:xxx@xxx.com:993!")

(defun egh:wl-summary-visit-conversation ()
  (interactive)
  (let* ((f (lambda (str)
              (mapcar (lambda (msgid)
                        (substring msgid 1 -1))
                      (split-string str " "))))
         (msg (elmo-message-entity
               wl-summary-buffer-elmo-folder
               wl-summary-buffer-current-msg))
         (ids (append
               (funcall f (elmo-message-entity-field msg 'message-id))
               (funcall f (elmo-message-entity-field msg 'references)))))
    (wl-summary-goto-folder-subr
     (concat
      "/"
      (mapconcat
       (lambda (ref)
         (concat "message-id:" ref
                 "|references:" ref))
       ids "|")
      "/"
      (egh:wl-all-folder))
     'update nil nil t)))

best, Erik

Attachment: pgpSBtYf3XORN.pgp
Description: PGP signature