about summary refs log tree commit homepage
path: root/lib/PublicInbox/Msgmap.pm
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2021-10-12 11:47:05 +0000
committerEric Wong <e@80x24.org>2021-10-12 21:46:38 +0000
commit97510d7a92b4e44318d1917a54c70d536bbf46f2 (patch)
tree5e04f732927b920221822a9afca55c3e99a090d7 /lib/PublicInbox/Msgmap.pm
parent9f02576da775abf208f5a03c03b6f7abd72596d0 (diff)
downloadpublic-inbox-97510d7a92b4e44318d1917a54c70d536bbf46f2.tar.gz
www: _/text/config/raw Last-Modified: is mm->created_at
This allows IMAP mirrors to keep UIDVALIDITY synchronized (and
"LIST ACTIVE.TIMES" in NNTP).  "lei add-external --mirror" will
automatically set it, as will the combination of
public-inbox-clone + public-inbox-index.

This avoids the need for extra endpoints or config entries,
at least...
Diffstat (limited to 'lib/PublicInbox/Msgmap.pm')
-rw-r--r--lib/PublicInbox/Msgmap.pm9
1 files changed, 8 insertions, 1 deletions
diff --git a/lib/PublicInbox/Msgmap.pm b/lib/PublicInbox/Msgmap.pm
index 94a0cbeb..e71f16f8 100644
--- a/lib/PublicInbox/Msgmap.pm
+++ b/lib/PublicInbox/Msgmap.pm
@@ -32,8 +32,15 @@ sub new_file {
         if ($rw) {
                 $dbh->begin_work;
                 create_tables($dbh);
-                $self->created_at(time) unless $self->created_at;
+                unless ($self->created_at) {
+                        my $t;
 
+                        if (blessed($ibx) &&
+                                -f "$ibx->{inboxdir}/inbox.config.example") {
+                                $t = (stat(_))[9]; # mtime set by "curl -R"
+                        }
+                        $self->created_at($t // time);
+                }
                 $self->num_highwater(max($self));
                 $dbh->commit;
         }