Discourse не удаляет вложения через указанное количество часов

Версия: 3.2.0.beta3-dev в самохостинге через Docker.
Настройки: Параметр «clean orphan uploads grace period hours» установлен на 1 час.

Чего я хочу

Переименовать вложение после его загрузки.

В описании ниже 1.txt и 2.txt — это один и тот же файл, но с разными именами.

Шаги

  1. Я загружаю файл 1.txt в пост и сохраняю его.
  2. Через 5 минут я редактирую пост, удаляю ссылку на 1.txt и сохраняю изменения.
  3. Я переименовываю 1.txt в 2.txt.
  4. Спустя 1 час я повторно загружаю 2.txt в тот же пост.
  5. Вложение всё ещё называется 1.txt. НЕ 2.txt.

Однако в этой ситуации настройка «clean orphan» работает корректно:

  1. Загрузить 1.txt.
  2. Не сохранять пост.
  3. Через 1 час повторно загрузить файл 2.txt.
  4. При скачивании новая ссылка на вложение будет вести на 2.txt.

Это не то же самое, что делает clean orphan uploads.., верно?

Возможно, я что-то неправильно понял.

Насколько я знаю, единственный способ переименовать файл после загрузки — это удалить его, подождать, пока Discourse удалит его, а затем загрузить снова.

Я следовал этой инструкции (отредактируйте сообщения, чтобы удалить ссылки на вложения), чтобы удалить файл.

Удаление, насколько мне известно, означает удаление с жесткого диска.

Но я могу подтвердить это поведение. Discourse отдает старый файл, если он был просто переименован (я не стал проверять, действительно ли это тот самый старый файл или просто используется старое имя файла с ссылкой).

Я ничего не знаю о коде или программировании, но, насколько я понимаю, Discourse использует某种 хеширование. И пока содержимое не меняет имя, оно берется из какого-то кэша. Если вы действительно измените это вложение, Discourse изменит и ссылку.

4 лайка