- Порезанный
- 14 августа 2026 г. в 02:57 UTC
- Автор
- Kamo
- Обещать
- 5c839bc
Миграция запущена, так что есть ответ существует и SearchIndexService теперь пишет: Находится рядом с is read и is starred. Индекс зафиксировал две из трех Флаги для всего его существования; отсюда он записывает все три. Список, поддерживаемый индексом, остается в стороне, и причина этого еще не «не развернута». Его проверка определяет, содержит ли индекс те же сообщения, что и сервер. Это Он не может решить, имеет ли он те же флаги, и никогда не будет, потому что флаги перемещаться без изменения количества сообщений или UIDNEXT. Это было бы жизнеспособно, если бы что-то сохраняло индексированные флаги свежими. Ничего не делает. MessageIndexer реагирует на одну вещь — приходящее сообщение — и записывает Один раз, из сообщения, как это было в тот момент. Читайте по телефону час Позже и индекс все еще говорит непрочитанный, навсегда. Папка, проходящая каждую проверку Поэтому здесь будет подаваться с прочитанным, звездным и ответным состоянием каждый Сообщение было в день его прибытия: почтовый ящик, показывающий прочитанную почту как непрочитанную. Это хуже, чем почтовый ящик, для загрузки которого требуется еще один момент. Честное решение состоит в том, чтобы взять флаги из IMAP и только конверты из индекса. Это работает и стоит меньше, чем звучит: чтение флагов означает открытие папки; И как только он открыт, конверты ездят в одном и том же пакетированном FETCH. Что такое слева - конструкция конверта сервера, взвешенная против второго источника Истина для списка сообщений — и против пути IMAP, который больше не выпускает per-message round trip для типа контента и идентификатора сообщения. Сдержали, а не удалили, потому что дорогостоящая часть изучала это. проверка несвежести и ее тесты являются правильными и многоразовыми для любой версии; Оказывается, стоит иметь.