better handle maildir cache

- get an updated maildir list after indexing
- add mu4e-added items to the list opportunistically

Remove mu4e-clear-caches / mu4e-cache-maildir-list to mu4e-obsolete.el

Fixes #2537.
This commit is contained in:
Dirk-Jan C. Binnema
2023-08-19 19:41:56 +03:00
parent 15f08488d3
commit f73aad2b41
6 changed files with 40 additions and 35 deletions

View File

@ -160,7 +160,12 @@ Otherwise, check requirements, then start mu4e. When successful, invoke
(when mu4e--update-timer
(cancel-timer mu4e--update-timer)
(setq mu4e--update-timer nil))
(mu4e-clear-caches)
(setq ;; clear some caches
mu4e-maildir-list nil
mu4e--contacts-set nil
mu4e--contacts-tstamp "0")
(remove-hook 'mu4e-query-items-updated-hook #'mu4e--main-redraw)
(remove-hook 'mu4e-query-items-updated-hook #'mu4e--modeline-update)
(remove-hook 'mu4e-query-items-updated-hook #'mu4e--notification)
@ -229,7 +234,8 @@ Otherwise, check requirements, then start mu4e. When successful, invoke
mu4e-message-changed-hook)
(unless (and (not (string= mu4e--contacts-tstamp "0"))
(zerop (plist-get info :updated)))
(mu4e--request-contacts-maybe))
(mu4e--request-contacts-maybe)
(mu4e--server-data 'maildirs)) ;; update maildir list
(mu4e--main-redraw))))
((plist-get info :message)
(mu4e-index-message "%s" (plist-get info :message))))))
@ -253,13 +259,6 @@ chance."
(mu4e-setq-if-nil mu4e-pong-func #'mu4e--default-handler)
(mu4e-setq-if-nil mu4e-queries-func #'mu4e--query-items-queries-handler))
(defun mu4e-clear-caches ()
"Clear any cached resources."
(setq
mu4e-maildir-list nil
mu4e--contacts-set nil
mu4e--contacts-tstamp "0"))
;;;
(provide 'mu4e)