Если я перейду к теме, в которую была слита другая, и нажму Reset Bump Date, она магическим образом появится на /latest с правильным временным штампом последнего сообщения, которое было слито в неё.
Эта проблема не возникает, если я сливаю темы и ставлю галочку для сохранения хронологического порядка.
Пользователь создаёт новую тему под названием «Тема XYZ»
Сотрудник объединяет эту новую тему с существующей темой «Тема ABC»
– Стандартная уборка для предотвращения дублирования тем
«Тема XYZ» теперь исчезла из публичного доступа, так как была скрыта и объединена
«Тема ABC» не видна в разделе /latest(или где-либо ещё недавно), потому что она не была обновлена
Ни один пользователь даже не знает, что когда-то была создана новая тема / пост (или что теперь это технически ответ на более старую тему, так как она была объединена), потому что она была перемещена в тему, которой может быть уже год, и которая не была обновлена
@christo, я считаю, что нам нужно рассмотреть несколько различных комбинаций:
Поскольку мы объединяем тему A (один пост) с темой B, следует рассмотреть следующие случаи:
Пост темы A новее последнего поста темы B
a. опция «Сохранять хронологию» выбрана
b. опция «Сохранять хронологию» не выбрана
Пост темы A старше последнего поста темы B
c. опция «Сохранять хронологию» выбрана
d. опция «Сохранять хронологию» не выбрана
По-моему, ожидаемое поведение заключается в том, что тема должна подниматься во всех случаях, кроме 2(c).
Во всех случаях, кроме 2(c), пост из темы A будет добавлен в конец темы B, поэтому, на мой взгляд, при слиянии дата поднятия должна устанавливаться на момент выполнения операции слияния.
Однако я не совсем уверен, что должно происходить в случае 2(d), если администратор позже выполнит «Сброс даты поднятия». Думаю, в таком случае дата поднятия должна обновляться до даты самого последнего созданного поста в теме (например, предпоследнего поста).
@martin, мы с тобой уже обсуждали логику дат поднятия в других сценариях — имеет ли вышеизложенный смысл для тебя?
Да, исходя исключительно из того, что так было всегда до обновлений, которые я установил на этой неделе.
Опять же, проблема, с которой мы столкнулись сейчас, заключается в том, что новые темы/сообщения просто исчезают в ниоткуда, поскольку они больше не поднимают тему, в которую они были объединены — как это всегда было в прошлом.
Да, похоже, это баг, который я допустил в коммите, на который есть ссылка выше. Я собирался исправить проблему, когда дата bumped_at иногда сдвигалась назад во времени, если первое сообщение, старее последнего сообщения в целевой теме, было объединено. Но, похоже, я также сломал случай, когда первое сообщение новее.
У меня уже есть исправление в работе, и я обновлю эту тему, когда проблема будет решена.