Wael Nasreddine, 2010-12-23 14:04: > I added this method to my before-add-message hook and I call it at the > very end of the before-add-hook (so it's executed at the end) > > ------- CUT > def show_if_participated(message) > return if message.has_label? :inbox > > my_emails = ['wael.nasredd...@gmail.com', 'anotherem...@example.com'] > ts = ThreadSet.new Index.instance, $config[:thread_by_subject] > ts.load_thread_for_message message > message_thread = ts.thread_for message > return unless message_thread > message.add_label :inbox if my_emails.any? { |email| > message_thread.authors.include? email } > end > ------- CUT > > However it's not working, I remove ~/.sup/xapian and ran sup-sync, > this email does not have the inbox label however it's one of the > thread that I replied to in a mailing list, what's wrong with my > function?
On the surface it looks like it should work. Couple of questions raise when I look at the code. Does the thread loading actually work like that? I might have been awfully wrong. Does #authors return email addresses or Person instances? Did your reply come from one of the addresses listed in my_emails? Did you reply only once and was that message the last one of it's thread to be indexed? Your first mail to particular thread obviously won't trigger show_if_participated(), but subsequent mails will. Does your hook look like this? (Judging by your explanation, it most probably does) ... def show_if_participated(message) end ... show_if_participated(message) ... -- Tero Tilus ## 050 3635 235 ## http://tero.tilus.net/ _______________________________________________ sup-talk mailing list sup-talk@rubyforge.org http://rubyforge.org/mailman/listinfo/sup-talk