- $err or eval {
- require PublicInbox::SearchIdx;
- PublicInbox::SearchIdx->new($git_dir, 2)->index_sync;
- };
+ # n.b. message may be cross-posted to multiple public-inboxes
+ my %seen;
+ while (my ($addr, $ibx) = each %dests) {
+ next unless ref($ibx); # $ibx may be 0
+ next if $seen{"$ibx"}++;
+ remove_or_add($ibx, $train, $mime, $addr);
+ }
+ my $dests = PublicInbox::MDA->inboxes_for_list_id($pi_config, $mime);
+ for my $ibx (@$dests) {
+ next if $seen{"$ibx"}++;
+ remove_or_add($ibx, $train, $mime, $ibx->{-primary_address});
+ }