- my $mid = $ctx->{mid};
- my $ibx = $ctx->{-inbox};
- $ctx->{base_url} = $ibx->base_url($ctx->{env});
- my ($mref, $more, $id, $prev, $next);
- if (my $over = $ibx->over) {
- my $smsg = $over->next_by_mid($mid, \$id, \$prev) or return;
- $mref = $ibx->msg_by_smsg($smsg) or return;
- $next = $over->next_by_mid($mid, \$id, \$prev);
- } else {
- $mref = $ibx->msg_by_mid($mid) or return;
- }
- my $hdr = Email::Simple->new($mref)->header_obj;
- $more = [ $ctx, $id, $prev, $next, $mref, $hdr ]; # for ->getline
- my $fn = subject_fn($hdr);
+ my $eml = $ctx->{eml} //= $ctx->{ibx}->smsg_eml($ctx->{smsg});
+ my $fn = $eml->header_str('Subject') // '';
+ $fn =~ s/^re:\s+//i;
+ $fn = to_filename($fn) // 'no-subject';