- Navios
- 14 de agosto de 2026 às 02:24 UTC
- Autor
- Kamo
- Enviar
- d70fbde
As linhas por trás de uma lista de mensagens já estão em Postgres — o índice de metadados contém remetente, assunto, data, tamanho, anexo e bandeiras para cada mensagem que tem Visto. Ler uma página a partir daí é uma consulta; lê-la do IMAP é um SELECT mais um FETCH de cinquenta envelopes e faz com que o servidor construa o índice de caixa de correio para Responde. O que impediu qualquer um de usá-lo não era velocidade, mas confiança. O índice é preenchido por um Empurre o indexador que só funciona enquanto alguém tem a caixa de correio aberta, por isso é permitido ser arbitrariamente estagnado, e nada distinguiu uma pasta atual de Um velho. Um STATUS os distingue. É a pergunta mais barata IMAP respostas — não SELECT, sem dados de mensagem — e retorna a contagem de mensagens da pasta e sua próxima UID. O índice é usado apenas quando ambos correspondem ao que detém: a contagem captura qualquer coisa adicionada ou removida, e maxUid + 1 == UIDNEXT captura o caso uma contagem não posso ver, onde tantos chegaram como foram excluídos. UIDNEXT apenas avança, então um anexo do índice perdido deixa-o encalhado acima do UID mais alto o índice Eu sei. Todos os outros resultados voltam ao IMAP: uma pasta em falta, um servidor que descodifica STATUS, um índice vazio, um erro de banco de dados. O pior resultado disponível é o comportamento que existia antes disso. Uma pasta que falha no teste se cura quando a próxima mensagem chega e é indexada. Off por padrão atrás ************* porque a resposta marker depende de search index.is responded, que não existe até O KamoInitializer correu. É então um ato deliberado em vez de um efeito colateral de uma implantação. O predicado do acordo é onde estar errado mostra a alguém o correio errado, então ele é puro, pacote-privado e testado a partir dessa direção — cada caso pergunta se pode utilizar o índice quando não deve.