Я не знаю о недавних изменениях, которые могли бы повлиять на это поведение. Мне казалось, что так работало всегда (выводилось сообщение об ошибке, если пользователь не найден). Вот код, который проверяет возможность чтения имени пользователя из учётных данных API.
А переменная user ниже будет равна nil, поскольку пользователь не существует, что приведёт к появлению сообщения об ошибке выше на строке 131.
23 дня назад было внесено недавнее изменение, но оно не относится к вашей ситуации и в любом случае возвращает другое сообщение об ошибке.
Для перепроверки я настроил локальную версию Discourse на использование этого коммита более годичной давности, и при использовании несуществующего пользователя получаю ту же ошибку.
Один положительный момент: теперь у нас есть области действия API, поэтому, если пользователям нужен только доступ с правами read, вы можете обновить этот ключ API так, чтобы он больше не был ключом с полным доступом.
