Gravar os tamanhos das mensagens em vez de escrever zero

FixEmailService
Navios
9 de agosto de 2026 às 04:41 UTC
Autor
Kamo
Enviar
8fa2944

SearchIndexService writed sizeBytes = 0 para cada mensagem indexada, sob o comentário "Não disponível no envelope". Ela estava disponível — a busca O perfil simplesmente nunca o pediu. Cada linha em email metadata.search index é 0 bytes na produção, assim que o armazenamento da caixa de correio lê como zero para cada organização, e qualquer contabilidade de armazenamento construída no índice teria herdado isso. - EmailImapService adiciona FetchProfile.Item.SIZE, então RFC822.SIZE é prefected com o envelope em vez de custar uma viagem de ida e volta por mensagem, e paraEnvelope o carrega. - GraphMailProvider seleciona "tamanho", a mesma quantidade, assim que os totais da caixa de correio significam a mesma coisa que provedor uma organização está em. - EmailSizeBackfillService repara as linhas já escritas, em lotes limitados agrupado por (membro, pasta) para que cada grupo é uma viagem de ida e volta IMAP. Uma UID o pasta já não detém é deixada sem tamanho em vez de gravada como zero - zero e desconhecidos não são os mesmos, e confê-los seria permanentemente menosprezar a caixa de correio. Também adiciona EmailImapService.messageSizes, que lê tamanhos para um UID definido em um viagem de ida e volta; re-derivando-os via getMessage iria buscar corpos inteiros da mensagem para ler um número que o servidor publica no envelope. 6 novos testes, 146 no total, todos a passar.

Todas as alterações

Como o que vês no transporte?

Cada uma dessas atualizações pousa automaticamente em seu espaço de trabalho. Comece grátis e veja crescer semana após semana.

Começar Livre Para SempreVer Preços