summary refs log tree commit diff
path: root/src/ChatPage.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ChatPage.cpp')
-rw-r--r--src/ChatPage.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/ChatPage.cpp b/src/ChatPage.cpp

index f2b8253b..673fc9a2 100644 --- a/src/ChatPage.cpp +++ b/src/ChatPage.cpp
@@ -986,6 +986,8 @@ ChatPage::startInitialSync() mtx::http::SyncOpts opts; opts.timeout = 0; + opts.set_presence = currentPresence(); + http::client()->sync( opts, std::bind( @@ -996,6 +998,7 @@ void ChatPage::trySync() { mtx::http::SyncOpts opts; + opts.set_presence = currentPresence(); if (!connectivityTimer_.isActive()) connectivityTimer_.start(); @@ -1241,6 +1244,21 @@ ChatPage::setStatus(const QString &status) }); } +mtx::presence::PresenceState +ChatPage::currentPresence() const +{ + switch (userSettings_->presence()) { + case UserSettings::Presence::Online: + return mtx::presence::online; + case UserSettings::Presence::Unavailable: + return mtx::presence::unavailable; + case UserSettings::Presence::Offline: + return mtx::presence::offline; + default: + return mtx::presence::online; + } +} + void ChatPage::initialSyncHandler(const mtx::responses::Sync &res, mtx::http::RequestErr err) {