diff --git a/Telegram/SourceFiles/data/data_session.cpp b/Telegram/SourceFiles/data/data_session.cpp index 22d16d5bf..2dfcc24a9 100644 --- a/Telegram/SourceFiles/data/data_session.cpp +++ b/Telegram/SourceFiles/data/data_session.cpp @@ -462,9 +462,6 @@ not_null Session::processUser(const MTPUser &data) { : QString()) : result->nameOrPhone; - if (!minimal && data.is_self() && uname != result->username) { - CrashReports::SetAnnotation("Username", uname); - } result->setName(fname, lname, pname, uname); if (const auto photo = data.vphoto()) { result->setPhoto(*photo); diff --git a/Telegram/SourceFiles/main/main_domain.cpp b/Telegram/SourceFiles/main/main_domain.cpp index 5f139504f..4badf2727 100644 --- a/Telegram/SourceFiles/main/main_domain.cpp +++ b/Telegram/SourceFiles/main/main_domain.cpp @@ -9,9 +9,12 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "core/application.h" #include "core/shortcuts.h" +#include "core/crash_reports.h" #include "main/main_account.h" #include "main/main_session.h" #include "data/data_session.h" +#include "data/data_changes.h" +#include "data/data_user.h" #include "mtproto/mtproto_config.h" #include "mtproto/mtproto_dc_options.h" #include "storage/storage_domain.h" @@ -31,6 +34,21 @@ Domain::Domain(const QString &dataName) Local::rewriteSettingsIfNeeded(); Core::App().notifications().createManager(); }, _lifetime); + + _active.changes( + ) | rpl::map([](Main::Account *account) { + return account ? account->sessionValue() : rpl::never(); + }) | rpl::flatten_latest( + ) | rpl::map([](Main::Session *session) { + return session + ? session->changes().peerFlagsValue( + session->user(), + Data::PeerUpdate::Flag::Username) + : rpl::never(); + }) | rpl::flatten_latest( + ) | rpl::start_with_next([](const Data::PeerUpdate &update) { + CrashReports::SetAnnotation("Username", update.peer->userName()); + }, _lifetime); } Domain::~Domain() = default;