about summary refs log tree commit homepage
diff options
context:
space:
mode:
authorEric Wong <e@yhbt.net>2020-06-10 07:05:16 +0000
committerEric Wong <e@yhbt.net>2020-06-13 07:55:45 +0000
commitd33fae954f99c7241be5ef6d6447db9bdc6d648d (patch)
tree354068362146cfee1f3778373d3e7bb98087e3b9
parent2db19abcef202dceb316e57264d288d576b9a6e9 (diff)
downloadpublic-inbox-d33fae954f99c7241be5ef6d6447db9bdc6d648d.tar.gz
The sort was unstable on my test instance anyways, and
clients don't seem to mind.  So stop wasting CPU cycles.
-rw-r--r--lib/PublicInbox/IMAPD.pm5
-rw-r--r--t/imapd.t4
2 files changed, 3 insertions, 6 deletions
diff --git a/lib/PublicInbox/IMAPD.pm b/lib/PublicInbox/IMAPD.pm
index fe50de0f..09bedf5c 100644
--- a/lib/PublicInbox/IMAPD.pm
+++ b/lib/PublicInbox/IMAPD.pm
@@ -74,11 +74,6 @@ sub imapd_refresh_finalize {
                         my $u = $_; # capitalize "INBOX" for user-familiarity
                         $u =~ s/\Ainbox(\.|\z)/INBOX$1/i;
                         qq[* LIST (\\Has${no}Children) "." $u\r\n]
-                } sort {
-                        # shortest names first, alphabetically if lengths match
-                        length($a) == length($b) ?
-                                ($a cmp $b) :
-                                (length($a) <=> length($b))
                 } keys %$mailboxes
         ];
         $imapd->{pi_config} = $pi_config;
diff --git a/t/imapd.t b/t/imapd.t
index e3cce2d3..c7e0baaa 100644
--- a/t/imapd.t
+++ b/t/imapd.t
@@ -405,7 +405,9 @@ is($r2->{2}->{'BODY[HEADER.FIELDS (MESSAGE-ID)]'},
         pop @new_list;
         pop @orig_list;
         # TODO: not sure if sort order matters, imapd_refresh_finalize
-        # sorts, for now, but maybe clients don't care...
+        # doesn't sort, hopefully clients don't care...
+        @new_list = sort @new_list;
+        @orig_list = sort @orig_list;
         is_deeply(\@new_list, \@orig_list, 'LIST identical');
 }
 ok($mic->close, 'CLOSE works');