Bug 5895

Summary: trash_folder is slow on imap
Product: Sisyphus Reporter: Igor Homyakov <homyakov>
Component: mutt1.5Assignee: Nobody's working on this, feel free to take it <nobody>
Status: CLOSED WONTFIX QA Contact: qa-sisyphus
Severity: normal    
Priority: P2    
Version: unstable   
Hardware: all   
OS: Linux   

Description Igor Homyakov 2005-01-18 18:21:51 MSK
Напоминаю: 
...
(14:31:08) homyakov: как говорил Матроскин "а я все чаще замечаю ..." что mutt
странно стал удалять сообщения из IMAP ящика 
(14:31:46) homyakov: mutt-1.5.6i-alt0.7
(14:31:49) raorn: trashcan используешь?
(14:32:02) homyakov: вот на него и грешу, такое впечатление что он сначало
закачивает удаленные сообщения
(14:33:45) raorn: ну, он может заголовки высасывать
(14:35:07) homyakov: а зачем это делать при удалении ? 
у меня раньше работал макрос который все переносил в Trash, работало быстро
а сейчас тормза сплошные, особенно если почистить сообщений так 200
(14:36:28) raorn: if ((ctx_trash = mx_open_mailbox (TrashPath, M_APPEND, NULL))
!= NULL) ...
(14:36:36) raorn: открывает он майлбокс...
(14:37:23) raorn: можешь folder-hook повесить, который будет отключать
trash_folder на imap'е
... 
(18:03:18) raorn: проблема в том, что trash_folder открывается на добавление...
(18:03:27) raorn: а как ты макросом это делал?
(18:05:14) homyakov: сошлюсь на оригинал 
http://marc.theaimsgroup.com/?l=mutt-users&m=103154898700915&w=2
(18:05:37) homyakov: ровно так у меня и сделано
...
(18:09:45) raorn: save-message вызывает mutt_save_message()
(18:10:45) homyakov: а это хорошо или плохо ? :)
(18:11:10) raorn: #ifdef USE_IMAP
  if (Context->magic == M_IMAP && 
      !(decode || decrypt) && mx_is_imap (buf))
  {
    switch (imap_copy_messages (Context, h, buf, delete))
    {
      /* success */
      case 0: mutt_clear_error (); return 0;
      /* non-fatal error: fall through to fetch/append */
      case 1: break;
      /* fatal error, abort */
      case -1: return -1;
    }
  }
#endif
(18:11:28) raorn: вот. save-message для imap делает немного другое
(18:11:43) raorn: повесь в багзиллу а то я забуду нафиг
(18:12:09) raorn: надо к trash_folder'у просто кусок дописать и будет у нас счастие
Comment 1 Sir Raorn 2005-01-20 14:03:14 MSK
На самом деле есть проблема...

imap_copy_messages() сильно интерактивная, спрашивает про создание ящика, пишет
прогресс сколько сообщений скопировано и т.д.  Плюс ко всему она оперирует
"tagged" сообщениями, а в trash_append() выбираются "deleted"...

Вставить этот код в trash_append() теоретически можно, но придётся перебирать
все удалённые сообщения по одному.  Не думаю что от этого будет какая-либо польза.

Курочить imap_copy_messages() тоже плохо - надо будет синхронизировать все
изменения...

Пока WONTFIX, а там посмотрим.