aboutsummaryrefslogtreecommitdiff
path: root/src/Channel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Channel.cpp')
-rw-r--r--src/Channel.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/Channel.cpp b/src/Channel.cpp
index 4fa99a0..748be49 100644
--- a/src/Channel.cpp
+++ b/src/Channel.cpp
@@ -95,22 +95,24 @@ namespace dchat
return nullptr;
}
- void Channel::addLocalMessage(const std::string &msg, User *owner)
+ void Channel::addLocalMessage(const std::string &msg, User *owner, u64 timestampSeconds)
{
assert(owner);
- messageBoard.addMessage(new Message(owner, msg));
+ messageBoard.addMessage(new Message(owner, msg, timestampSeconds));
}
void Channel::addMessage(const std::string &msg)
{
- messageBoard.addMessage(new Message(localUser, msg));
if(database && localUser->type == User::Type::ONLINE)
{
+ addLocalMessage(msg, localUser, database->getSyncedTimestampUtc().seconds);
auto onlineUser = static_cast<OnlineUser*>(localUser);
assert(onlineUser->databaseUser->getType() == odhtdb::User::Type::LOCAL);
database->addData(databaseNodeInfo, static_cast<const odhtdb::LocalUser*>(onlineUser->databaseUser), odhtdb::DataView((void*)msg.data(), msg.size()));
database->commit();
}
+ else
+ addLocalMessage(msg, localUser, 0);
}
void Channel::addUser(User *user)