From af4959d5148b60b2549712b5955fd66d71e9a63a Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Wed, 6 Apr 2016 07:21:12 +0000 Subject: view: do not prune ghosts from threads Keeping readers informed of ghost messages is important, so do not ever prune them. Previously, ghosts could get pruned and sole children would get promoted as the new root. --- lib/PublicInbox/View.pm | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lib/PublicInbox/View.pm b/lib/PublicInbox/View.pm index 2cf7e4f0..5f9ecd10 100644 --- a/lib/PublicInbox/View.pm +++ b/lib/PublicInbox/View.pm @@ -729,8 +729,16 @@ sub thread_results { my ($msgs, $nosubject) = @_; require PublicInbox::Thread; my $th = PublicInbox::Thread->new(@$msgs); + + # WARNING! both these Mail::Thread knobs were found by inspecting + # the Mail::Thread 2.55 source code, and we have some monkey patches + # in PublicInbox::Thread to fix memory leaks. Since Mail::Thread + # appears unmaintained, I suppose it's safe to depend on these + # variables for now: no warnings 'once'; $Mail::Thread::nosubject = $nosubject; + # Keep ghosts with only a single direct child: + $Mail::Thread::noprune = 1; $th->thread; $th->order(*sort_ts); $th -- cgit v1.2.3-24-ge0c7