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