@alexsoin, сорри за долгий ответ, занят был новым функционалом (чуть позже опубликую и распишу его).
По вашим вопросам:
1. Авторизация не может не работать через логин, но работать через емейл, или наоборот. Авторизация проходит в два этапа: сначала поиск пользователя по логину или емейлу, затем уже непосредственно авторизация. При этом на втором этапе не передается ни логин, ни емейл, а только id найденного пользователя. То есть не важно как был найден пользователь, по емейлу или логину, далее процедура идет единая, главное - чтобы пользователь был найден в принципе. У меня есть более прокаченная форма авторизации, которая позволяет выбрать пользователя из нескольких найденных (например, по имени, если человек забыл и логин и емейл (давно не заходил)). Принцип тот же - в итоге отправляется только id выбранного пользователя.
Перепроверьте еще раз, и если не получается, дайте больше деталей с каким логином не получается авторизоваться.
2. Создание топиков поправлено.
3. Пароль можно поставить любой, но пустой пароль не сохраняется. То есть пользователь обновляется, но сохранение такого пароля не происходит. Вот код.
4. Про "топик не найден", я так понимаю, это в момент обновления данных страницы. Это очень тонкий момент, который еще предстоит поправить, так как он сразу от нескольких вещей зависит. Если коротко, то на сайте очень активно используется кеширование не уровне провайдера данных, который обеспечивает обмен данными между страницей и сервером (apollo-client). Когда сохраняется коммент (а с ним обновление еще нескольких сущностей), выполняется и подгрузка обновленных данных. Вот в этот момент, если на текущей странице топика, где вы комментарий писали, происходит разрыв между сбросом кеша и подгрузкой данных, получается, что данных топика нет, вот и выходит эта надпись. Момент неприятный, но для работы сайта некритичный. В любом случае, спасибо за фидбэк, я для себя пометил, что надо дополнительно над этим моментом поработать.