Это результат изменения заголовка темы, когда блок события отсутствовал в первом сообщении — посты были объединены с сохранением хронологии.
История изменений отображалась в уведомлении об редактировании не для первого сообщения темы, ни для исторически первого сообщения. Пользователь, получивший уведомление об редактировании, не следит за темой.
Итак, код устанавливает лимит: максимальное количество сравнений, которое он может выполнить, прежде чем должен остановиться и сказать «это слишком сложно».
Как рассчитывается лимит?
Он берёт суммарный размер двух текстов и умножает на 200. Для больших текстов лимит больше.
Но есть жёсткий предел в 2 миллиона сравнений — независимо от размера текстов, он никогда не попытается выполнить больше этого числа.
Что происходит, когда лимит исчерпан?
Код поднимает руку и говорит «я сдаюсь» — он выбрасывает ошибку (DiffLimitExceeded), вместо того чтобы заставлять сервер работать несколько секунд или минут