This should be less error-prone in case somebody tries to screw with
us and our thread_id mechanism or somehow waste our resources.
Unfortunately Mail::Thread isn't smart enough for this, yet, so we
may need to downgrade to Email::Simple objects as a workaround.
Or simply not worry about the display so much if somebody is
intentionally trying to make it thread badly/incorrectly.
my $db = $self->{xdb};
my $doc_id;
my $db = $self->{xdb};
my $doc_id;
- my $mid = mid_clean($mime->header('Message-ID'));
+ my $mid = mid_clean($mime->header_obj->header_raw('Message-ID'));
$mid = mid_compressed($mid);
my $was_ghost = 0;
my $ct_msg = $mime->header('Content-Type') || 'text/plain';
$mid = mid_compressed($mid);
my $was_ghost = 0;
my $ct_msg = $mime->header('Content-Type') || 'text/plain';
my $doc = $smsg->{doc};
my $mid = mid_compressed($smsg->mid);
my $mime = $smsg->mime;
my $doc = $smsg->{doc};
my $mid = mid_compressed($smsg->mid);
my $mime = $smsg->mime;
- my $refs = $mime->header('References');
+ my $refs = $mime->header_obj->header_raw('References');
my @refs = $refs ? ($refs =~ /<([^>]+)>/g) : ();
my @refs = $refs ? ($refs =~ /<([^>]+)>/g) : ();
- my $irt = $mime->header('In-Reply-To');
+ my $irt = $mime->header_obj->header_raw('In-Reply-To');
if ($irt) {
if ($irt =~ /<([^>]+)>/) {
$irt = $1;
if ($irt) {
if ($irt =~ /<([^>]+)>/) {
$irt = $1;
sub unindex_blob {
my ($self, $git, $blob) = @_;
my $mime = do_cat_mail($git, $blob) or return;
sub unindex_blob {
my ($self, $git, $blob) = @_;
my $mime = do_cat_mail($git, $blob) or return;
- my $mid = $mime->header('Message-ID');
+ my $mid = $mime->header_obj->header_raw('Message-ID');
eval { $self->remove_message($mid) } if defined $mid;
warn "W: unindex_blob $blob: $@\n" if $@;
}
eval { $self->remove_message($mid) } if defined $mid;
warn "W: unindex_blob $blob: $@\n" if $@;
}