]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/Thread.pm
Merge branch 'thread-view-skel'
[public-inbox.git] / lib / PublicInbox / Thread.pm
index 92404faa258c593d82720f0904db8d32e1a047cb..44a565ad3c7e267196e086ceeb3e00be174a3197 100644 (file)
@@ -12,25 +12,25 @@ package PublicInbox::Thread;
 use strict;
 use warnings;
 use base qw(Mail::Thread);
+# 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';
+       # we want strict threads to expose (and hopefully discourage)
+       # use of broken email clients
+       $Mail::Thread::nosubject = 1;
+       # Keep ghosts with only a single direct child,
+       # don't hide that there may be missing messages.
+       $Mail::Thread::noprune = 1;
+}
 
 if ($Mail::Thread::VERSION <= 2.55) {
        eval q(sub _container_class { 'PublicInbox::Thread::Container' });
 }
 
-sub sort_ts {
-       sort {
-               (eval { $a->topmost->message->header('X-PI-TS') } || 0) <=>
-               (eval { $b->topmost->message->header('X-PI-TS') } || 0)
-       } @_;
-}
-
-sub rsort_ts {
-       sort {
-               (eval { $b->topmost->message->header('X-PI-TS') } || 0) <=>
-               (eval { $a->topmost->message->header('X-PI-TS') } || 0)
-       } @_;
-}
-
 package PublicInbox::Thread::Container;
 use strict;
 use warnings;