Compare commits

...

6 Commits

Author SHA1 Message Date
Tomaz Canabrava
7cc68d2658 Adapt to newer API 2024-04-19 10:42:03 +02:00
Tomaz Canabrava
f4b87caefe Adapt to new AUP 2024-04-19 10:18:39 +02:00
Tomaz Canabrava
07a9497f4c Fix bad commit 2024-04-19 10:18:31 +02:00
Tomaz Canabrava
35f1ace458 Adapt to newer API
TODO: There are some missing methods and I do not know what to do there
2024-04-19 10:04:13 +02:00
Tomaz Canabrava
11dd0ee151 Adapt to new Avatar API 2024-04-19 10:03:49 +02:00
Tomaz Canabrava
07e200c74f Adapt to breaking changes in libQuotient
localUser() -> localMember()
2024-04-19 09:45:11 +02:00
9 changed files with 64 additions and 61 deletions

View File

@@ -105,7 +105,7 @@ void EventHandlerTest::author()
auto eventHandlerAuthor = eventHandler.getAuthor(); auto eventHandlerAuthor = eventHandler.getAuthor();
QCOMPARE(eventHandlerAuthor["isLocalUser"_ls], author->id() == room->localUser()->id()); QCOMPARE(eventHandlerAuthor["isLocalUser"_ls], author->id() == room->localMember().id());
QCOMPARE(eventHandlerAuthor["id"_ls], author->id()); QCOMPARE(eventHandlerAuthor["id"_ls], author->id());
QCOMPARE(eventHandlerAuthor["displayName"_ls], author->displayname(room)); QCOMPARE(eventHandlerAuthor["displayName"_ls], author->displayname(room));
QCOMPARE(eventHandlerAuthor["avatarSource"_ls], room->avatarForMember(author)); QCOMPARE(eventHandlerAuthor["avatarSource"_ls], room->avatarForMember(author));
@@ -390,7 +390,7 @@ void EventHandlerTest::replyAuthor()
auto eventHandlerReplyAuthor = eventHandler.getReplyAuthor(); auto eventHandlerReplyAuthor = eventHandler.getReplyAuthor();
QCOMPARE(eventHandlerReplyAuthor["isLocalUser"_ls], replyAuthor->id() == room->localUser()->id()); QCOMPARE(eventHandlerReplyAuthor["isLocalUser"_ls], replyAuthor->id() == room->localMember().id());
QCOMPARE(eventHandlerReplyAuthor["id"_ls], replyAuthor->id()); QCOMPARE(eventHandlerReplyAuthor["id"_ls], replyAuthor->id());
QCOMPARE(eventHandlerReplyAuthor["displayName"_ls], replyAuthor->displayname(room)); QCOMPARE(eventHandlerReplyAuthor["displayName"_ls], replyAuthor->displayname(room));
QCOMPARE(eventHandlerReplyAuthor["avatarSource"_ls], room->avatarForMember(replyAuthor)); QCOMPARE(eventHandlerReplyAuthor["avatarSource"_ls], room->avatarForMember(replyAuthor));

View File

@@ -91,7 +91,7 @@ void ActionsHandler::handleMessage(const QString &text, QString handledText, Cha
for (auto it = m_room->messageEvents().crbegin(); it != m_room->messageEvents().crend(); it++) { for (auto it = m_room->messageEvents().crbegin(); it != m_room->messageEvents().crend(); it++) {
if (const auto event = eventCast<const RoomMessageEvent>(&**it)) { if (const auto event = eventCast<const RoomMessageEvent>(&**it)) {
if (event->senderId() == m_room->localUser()->id() && event->hasTextContent()) { if (event->senderId() == m_room->localMember().id() && event->hasTextContent()) {
QString originalString; QString originalString;
if (event->content()) { if (event->content()) {
originalString = static_cast<const Quotient::EventContent::TextContent *>(event->content())->body; originalString = static_cast<const Quotient::EventContent::TextContent *>(event->content())->body;

View File

@@ -73,7 +73,7 @@ QVariantMap EventHandler::getAuthor(bool isPending) const
return m_room->getUser(nullptr); return m_room->getUser(nullptr);
} }
const auto author = isPending ? m_room->localUser() : m_room->user(m_event->senderId()); const auto author = isPending ? m_room->localMember() : m_room->user(m_event->senderId());
return m_room->getUser(author); return m_room->getUser(author);
} }
@@ -96,7 +96,7 @@ QString EventHandler::getAuthorDisplayName(bool isPending) const
} }
return previousDisplayName; return previousDisplayName;
} else { } else {
const auto author = isPending ? m_room->localUser() : m_room->user(m_event->senderId()); const auto author = isPending ? m_room->localMember() : m_room->user(m_event->senderId());
return m_room->htmlSafeMemberName(author->id()); return m_room->htmlSafeMemberName(author->id());
} }
} }
@@ -112,7 +112,7 @@ QString EventHandler::singleLineAuthorDisplayname(bool isPending) const
return {}; return {};
} }
const auto author = isPending ? m_room->localUser() : m_room->user(m_event->senderId()); const auto author = isPending ? m_room->localMember() : m_room->user(m_event->senderId());
auto displayName = m_room->safeMemberName(author->id()); auto displayName = m_room->safeMemberName(author->id());
displayName.replace(QStringLiteral("<br>\n"), QStringLiteral(" ")); displayName.replace(QStringLiteral("<br>\n"), QStringLiteral(" "));
displayName.replace(QStringLiteral("<br>"), QStringLiteral(" ")); displayName.replace(QStringLiteral("<br>"), QStringLiteral(" "));
@@ -963,7 +963,7 @@ bool EventHandler::hasReadMarkers() const
} }
auto userIds = m_room->userIdsAtEvent(m_event->id()); auto userIds = m_room->userIdsAtEvent(m_event->id());
userIds.remove(m_room->localUser()->id()); userIds.remove(m_room->localMember().id());
return userIds.size() > 0; return userIds.size() > 0;
} }
@@ -979,7 +979,7 @@ QVariantList EventHandler::getReadMarkers(int maxMarkers) const
} }
auto userIds_temp = m_room->userIdsAtEvent(m_event->id()); auto userIds_temp = m_room->userIdsAtEvent(m_event->id());
userIds_temp.remove(m_room->localUser()->id()); userIds_temp.remove(m_room->localMember().id());
auto userIds = userIds_temp.values(); auto userIds = userIds_temp.values();
if (userIds.count() > maxMarkers) { if (userIds.count() > maxMarkers) {
@@ -1008,7 +1008,7 @@ QString EventHandler::getNumberExcessReadMarkers(int maxMarkers) const
} }
auto userIds = m_room->userIdsAtEvent(m_event->id()); auto userIds = m_room->userIdsAtEvent(m_event->id());
userIds.remove(m_room->localUser()->id()); userIds.remove(m_room->localMember().id());
if (userIds.count() > maxMarkers) { if (userIds.count() > maxMarkers) {
return QStringLiteral("+ ") + QString::number(userIds.count() - maxMarkers); return QStringLiteral("+ ") + QString::number(userIds.count() - maxMarkers);
@@ -1029,7 +1029,7 @@ QString EventHandler::getReadMarkersString() const
} }
auto userIds = m_room->userIdsAtEvent(m_event->id()); auto userIds = m_room->userIdsAtEvent(m_event->id());
userIds.remove(m_room->localUser()->id()); userIds.remove(m_room->localMember().id());
/** /**
* The string ends up in the form * The string ends up in the form

View File

@@ -201,7 +201,7 @@ QList<ActionsModel::Action> actions{
Q_EMIT room->showMessage(NeoChatRoom::Info, i18nc("<user> is banned from this room.", "%1 is banned from this room.", text)); Q_EMIT room->showMessage(NeoChatRoom::Info, i18nc("<user> is banned from this room.", "%1 is banned from this room.", text));
return QString(); return QString();
} }
if (room->localUser()->id() == text) { if (room->localMember().id() == text) {
Q_EMIT room->showMessage(NeoChatRoom::Positive, i18n("You are already in this room.")); Q_EMIT room->showMessage(NeoChatRoom::Positive, i18n("You are already in this room."));
return QString(); return QString();
} }
@@ -430,11 +430,11 @@ QList<ActionsModel::Action> actions{
if (!plEvent) { if (!plEvent) {
return QString(); return QString();
} }
if (plEvent->ban() > plEvent->powerLevelForUser(room->localUser()->id())) { if (plEvent->ban() > plEvent->powerLevelForUser(room->localMember().id())) {
Q_EMIT room->showMessage(NeoChatRoom::Error, i18n("You are not allowed to ban users from this room.")); Q_EMIT room->showMessage(NeoChatRoom::Error, i18n("You are not allowed to ban users from this room."));
return QString(); return QString();
} }
if (plEvent->powerLevelForUser(room->localUser()->id()) <= plEvent->powerLevelForUser(parts[0])) { if (plEvent->powerLevelForUser(room->localMember().id()) <= plEvent->powerLevelForUser(parts[0])) {
Q_EMIT room->showMessage( Q_EMIT room->showMessage(
NeoChatRoom::Error, NeoChatRoom::Error,
i18nc("You are not allowed to ban <username> from this room.", "You are not allowed to ban %1 from this room.", parts[0])); i18nc("You are not allowed to ban <username> from this room.", "You are not allowed to ban %1 from this room.", parts[0]));
@@ -463,7 +463,7 @@ QList<ActionsModel::Action> actions{
if (!plEvent) { if (!plEvent) {
return QString(); return QString();
} }
if (plEvent->ban() > plEvent->powerLevelForUser(room->localUser()->id())) { if (plEvent->ban() > plEvent->powerLevelForUser(room->localMember().id())) {
Q_EMIT room->showMessage(NeoChatRoom::Error, i18n("You are not allowed to unban users from this room.")); Q_EMIT room->showMessage(NeoChatRoom::Error, i18n("You are not allowed to unban users from this room."));
return QString(); return QString();
} }
@@ -494,7 +494,7 @@ QList<ActionsModel::Action> actions{
i18nc("'<text>' does not look like a matrix id.", "'%1' does not look like a matrix id.", parts[0])); i18nc("'<text>' does not look like a matrix id.", "'%1' does not look like a matrix id.", parts[0]));
return QString(); return QString();
} }
if (parts[0] == room->localUser()->id()) { if (parts[0] == room->localMember().id()) {
Q_EMIT room->showMessage(NeoChatRoom::Error, i18n("You cannot kick yourself from the room.")); Q_EMIT room->showMessage(NeoChatRoom::Error, i18n("You cannot kick yourself from the room."));
return QString(); return QString();
} }
@@ -507,11 +507,11 @@ QList<ActionsModel::Action> actions{
return QString(); return QString();
} }
auto kick = plEvent->kick(); auto kick = plEvent->kick();
if (plEvent->powerLevelForUser(room->localUser()->id()) < kick) { if (plEvent->powerLevelForUser(room->localMember().id()) < kick) {
Q_EMIT room->showMessage(NeoChatRoom::Error, i18n("You are not allowed to kick users from this room.")); Q_EMIT room->showMessage(NeoChatRoom::Error, i18n("You are not allowed to kick users from this room."));
return QString(); return QString();
} }
if (plEvent->powerLevelForUser(room->localUser()->id()) <= plEvent->powerLevelForUser(parts[0])) { if (plEvent->powerLevelForUser(room->localMember().id()) <= plEvent->powerLevelForUser(parts[0])) {
Q_EMIT room->showMessage( Q_EMIT room->showMessage(
NeoChatRoom::Error, NeoChatRoom::Error,
i18nc("You are not allowed to kick <username> from this room", "You are not allowed to kick %1 from this room.", parts[0])); i18nc("You are not allowed to kick <username> from this room", "You are not allowed to kick %1 from this room.", parts[0]));

View File

@@ -251,7 +251,7 @@ void MessageEventModel::setRoom(NeoChatRoom *room)
beginResetModel(); beginResetModel();
endResetModel(); endResetModel();
}); });
qCDebug(MessageEvent) << "Connected to room" << room->id() << "as" << room->localUser()->id(); qCDebug(MessageEvent) << "Connected to room" << room->id() << "as" << room->localMember().id();
} else { } else {
lastReadEventId.clear(); lastReadEventId.clear();
} }
@@ -621,7 +621,7 @@ QVariant MessageEventModel::data(const QModelIndex &idx, int role) const
} }
if (role == IsEditableRole) { if (role == IsEditableRole) {
return eventHandler.messageComponentType() == MessageComponentType::Text && evt.senderId() == m_currentRoom->localUser()->id(); return eventHandler.messageComponentType() == MessageComponentType::Text && evt.senderId() == m_currentRoom->localMember().id();
} }
return {}; return {};

View File

@@ -90,7 +90,7 @@ QVariant ReactionModel::data(const QModelIndex &index, int role) const
if (role == HasLocalUser) { if (role == HasLocalUser) {
for (auto author : reaction.authors) { for (auto author : reaction.authors) {
if (author.toMap()[QStringLiteral("id")] == m_room->localUser()->id()) { if (author.toMap()[QStringLiteral("id")] == m_room->localMember().id()) {
return true; return true;
} }
} }

View File

@@ -101,15 +101,17 @@ NeoChatRoom::NeoChatRoom(Connection *connection, QString roomId, JoinState joinS
if (this->joinState() != JoinState::Invite) { if (this->joinState() != JoinState::Invite) {
return; return;
} }
auto roomMemberEvent = currentState().get<RoomMemberEvent>(localUser()->id()); auto roomMemberEvent = currentState().get<RoomMemberEvent>(localMember().id());
QImage avatar_image; QImage avatar_image;
if (roomMemberEvent && !user(roomMemberEvent->senderId())->avatarUrl(this).isEmpty()) { if (roomMemberEvent && !member(roomMemberEvent->senderId()).avatarUrl().isEmpty()) {
avatar_image = user(roomMemberEvent->senderId())->avatar(128, this); // TODO: Fix acessing Avatar Image.
// avatar_image = member(roomMemberEvent->senderId()).avatarMediaId();
avatar_image = avatar(128);
} else { } else {
qWarning() << "using this room's avatar"; qWarning() << "using this room's avatar";
avatar_image = avatar(128); avatar_image = avatar(128);
} }
NotificationsManager::instance().postInviteNotification(this, displayName(), htmlSafeMemberName(roomMemberEvent->senderId()), avatar_image); NotificationsManager::instance().postInviteNotification(this, displayName(), member(roomMemberEvent->senderId()).htmlSafeDisplayName(), avatar_image);
}); });
connect(this, &Room::changed, this, [this] { connect(this, &Room::changed, this, [this] {
Q_EMIT canEncryptRoomChanged(); Q_EMIT canEncryptRoomChanged();
@@ -257,18 +259,18 @@ void NeoChatRoom::forget()
QVariantList NeoChatRoom::getUsersTyping() const QVariantList NeoChatRoom::getUsersTyping() const
{ {
auto users = usersTyping(); auto users = membersTyping();
users.removeAll(localUser()); users.removeAll(localMember());
QVariantList userVariants; QVariantList userVariants;
for (const auto &user : users) { for (const auto &user : users) {
if (connection()->isIgnored(user->id())) { if (connection()->isIgnored(user.id())) {
continue; continue;
} }
userVariants.append(QVariantMap{ userVariants.append(QVariantMap{
{"id"_ls, user->id()}, {"id"_ls, user.id()},
{"avatarMediaId"_ls, user->avatarMediaId(this)}, {"avatarMediaId"_ls, user.avatarMediaId()},
{"displayName"_ls, user->displayname(this)}, {"displayName"_ls, user.displayName()},
{"display"_ls, user->name()}, {"display"_ls, user.name()},
}); });
} }
return userVariants; return userVariants;
@@ -276,7 +278,7 @@ QVariantList NeoChatRoom::getUsersTyping() const
void NeoChatRoom::sendTypingNotification(bool isTyping) void NeoChatRoom::sendTypingNotification(bool isTyping)
{ {
connection()->callApi<SetTypingJob>(BackgroundRequest, localUser()->id(), id(), isTyping, 10000); connection()->callApi<SetTypingJob>(BackgroundRequest, localMember().id(), id(), isTyping, 10000);
} }
const RoomEvent *NeoChatRoom::lastEvent() const const RoomEvent *NeoChatRoom::lastEvent() const
@@ -314,7 +316,7 @@ const RoomEvent *NeoChatRoom::lastEvent() const
} }
} }
if (connection()->isIgnored(user(event->senderId()))) { if (connection()->isIgnored(event->senderId())) {
continue; continue;
} }
@@ -374,13 +376,13 @@ bool NeoChatRoom::isEventHighlighted(const RoomEvent *e) const
void NeoChatRoom::checkForHighlights(const Quotient::TimelineItem &ti) void NeoChatRoom::checkForHighlights(const Quotient::TimelineItem &ti)
{ {
auto localUserId = localUser()->id(); auto localMemberId = localMember().id();
if (ti->senderId() == localUserId) { if (ti->senderId() == localMemberId) {
return; return;
} }
if (auto *e = ti.viewAs<RoomMessageEvent>()) { if (auto *e = ti.viewAs<RoomMessageEvent>()) {
const auto &text = e->plainBody(); const auto &text = e->plainBody();
if (text.contains(localUserId) || text.contains(safeMemberName(localUserId))) { if (text.contains(localMemberId) || text.contains(member(localMemberId).htmlSafeDisplayName())) {
highlights.insert(e); highlights.insert(e);
} }
} }
@@ -439,7 +441,8 @@ static const QVariantMap emptyUser = {
QVariantMap NeoChatRoom::getUser(const QString &userID) const QVariantMap NeoChatRoom::getUser(const QString &userID) const
{ {
return getUser(user(userID)); auto u = User(userID, connection());
return getUser(&u);
} }
QVariantMap NeoChatRoom::getUser(User *user) const QVariantMap NeoChatRoom::getUser(User *user) const
@@ -449,13 +452,13 @@ QVariantMap NeoChatRoom::getUser(User *user) const
} }
return QVariantMap{ return QVariantMap{
{QStringLiteral("isLocalUser"), user->id() == localUser()->id()}, {QStringLiteral("isLocalUser"), user->id() == localMember().id()},
{QStringLiteral("id"), user->id()}, {QStringLiteral("id"), user->id()},
{QStringLiteral("displayName"), user->displayname(this)}, {QStringLiteral("displayName"), user->displayname()},
{QStringLiteral("escapedDisplayName"), htmlSafeMemberName(user->id())}, {QStringLiteral("escapedDisplayName"), member(user->id()).htmlSafeDisplayName()},
{QStringLiteral("avatarSource"), avatarForMember(user)}, {QStringLiteral("avatarSource"), avatarForMember(user)},
{QStringLiteral("avatarMediaId"), user->avatarMediaId(this)}, {QStringLiteral("avatarMediaId"), user->avatarMediaId()},
{QStringLiteral("color"), Utils::getUserColor(user->hueF())}, {QStringLiteral("color"), member(user->id()).hueF()},
{QStringLiteral("object"), QVariant::fromValue(user)}, {QStringLiteral("object"), QVariant::fromValue(user)},
}; };
} }
@@ -467,10 +470,10 @@ QString NeoChatRoom::avatarMediaId() const
} }
// Use the first (excluding self) user's avatar for direct chats // Use the first (excluding self) user's avatar for direct chats
const auto dcUsers = directChatUsers(); const auto dcUsers = directChatMembers();
for (const auto u : dcUsers) { for (const auto u : dcUsers) {
if (u != localUser()) { if (u != localMember()) {
return u->avatarMediaId(this); return u.avatarMediaId();
} }
} }
@@ -637,7 +640,7 @@ void NeoChatRoom::toggleReaction(const QString &eventId, const QString &reaction
continue; continue;
} }
if (e->senderId() == localUser()->id()) { if (e->senderId() == localMember().id()) {
redactEventIds.push_back(e->id()); redactEventIds.push_back(e->id());
break; break;
} }
@@ -666,7 +669,7 @@ bool NeoChatRoom::canSendEvent(const QString &eventType) const
return false; return false;
} }
auto pl = plEvent->powerLevelForEvent(eventType); auto pl = plEvent->powerLevelForEvent(eventType);
auto currentPl = plEvent->powerLevelForUser(localUser()->id()); auto currentPl = plEvent->powerLevelForUser(localMember().id());
return currentPl >= pl; return currentPl >= pl;
} }
@@ -678,7 +681,7 @@ bool NeoChatRoom::canSendState(const QString &eventType) const
return false; return false;
} }
auto pl = plEvent->powerLevelForState(eventType); auto pl = plEvent->powerLevelForState(eventType);
auto currentPl = plEvent->powerLevelForUser(localUser()->id()); auto currentPl = plEvent->powerLevelForUser(localMember().id());
return currentPl >= pl; return currentPl >= pl;
} }
@@ -856,7 +859,7 @@ void NeoChatRoom::setUrlPreviewEnabled(const bool &urlPreviewEnabled)
* "type": "org.matrix.room.preview_urls", * "type": "org.matrix.room.preview_urls",
* } * }
*/ */
connection()->callApi<SetAccountDataPerRoomJob>(localUser()->id(), connection()->callApi<SetAccountDataPerRoomJob>(localMember().id(),
id(), id(),
"org.matrix.room.preview_urls"_ls, "org.matrix.room.preview_urls"_ls,
QJsonObject{{"disable"_ls, !urlPreviewEnabled}}); QJsonObject{{"disable"_ls, !urlPreviewEnabled}});
@@ -1768,7 +1771,7 @@ void NeoChatRoom::editLastMessage()
} }
// check if the current message's sender's id is same as the user's id // check if the current message's sender's id is same as the user's id
if ((*it)->senderId() == localUser()->id()) { if ((*it)->senderId() == localMember().id()) {
auto content = (*it)->contentJson(); auto content = (*it)->contentJson();
if (e->msgtype() != MessageEventType::Unknown) { if (e->msgtype() != MessageEventType::Unknown) {
@@ -1933,16 +1936,16 @@ QByteArray NeoChatRoom::roomAcountDataJson(const QString &eventType)
QUrl NeoChatRoom::avatarForMember(Quotient::User *user) const QUrl NeoChatRoom::avatarForMember(Quotient::User *user) const
{ {
const auto &url = memberAvatarUrl(user->id()); const auto &avatar = memberAvatar(user->id());
if (url.isEmpty() || url.scheme() != "mxc"_ls) { if (avatar.url().isEmpty() || avatar.url().scheme() != "mxc"_ls) {
return {}; return {};
} }
auto avatar = connection()->makeMediaUrl(url);
if (avatar.isValid() && avatar.scheme() == QStringLiteral("mxc")) { auto localFile = connection()->makeMediaUrl(avatar.url());
return avatar; if (!localFile.isValid() || localFile.scheme() != QStringLiteral("mxc")) {
} else {
return QUrl(); return QUrl();
} }
return localFile;
} }
const RoomEvent *NeoChatRoom::getReplyForEvent(const RoomEvent &event) const const RoomEvent *NeoChatRoom::getReplyForEvent(const RoomEvent &event) const

View File

@@ -213,7 +213,7 @@ void NotificationsManager::postNotification(NeoChatRoom *room,
if (!room) { if (!room) {
return; return;
} }
auto connection = dynamic_cast<NeoChatConnection *>(Controller::instance().accounts().get(room->localUser()->id())); auto connection = dynamic_cast<NeoChatConnection *>(Controller::instance().accounts().get(room->localMember().id()));
Controller::instance().setActiveConnection(connection); Controller::instance().setActiveConnection(connection);
RoomManager::instance().setConnection(connection); RoomManager::instance().setConnection(connection);
RoomManager::instance().resolveResource(room->id()); RoomManager::instance().resolveResource(room->id());
@@ -230,7 +230,7 @@ void NotificationsManager::postNotification(NeoChatRoom *room,
notification->setReplyAction(std::move(replyAction)); notification->setReplyAction(std::move(replyAction));
} }
notification->setHint(QStringLiteral("x-kde-origin-name"), room->localUser()->id()); notification->setHint(QStringLiteral("x-kde-origin-name"), room->localMember().id());
notification->sendEvent(); notification->sendEvent();
} }
@@ -286,7 +286,7 @@ void NotificationsManager::postInviteNotification(NeoChatRoom *rawRoom, const QS
m_invitations.remove(room->id()); m_invitations.remove(room->id());
}); });
notification->setHint(QStringLiteral("x-kde-origin-name"), room->localUser()->id()); notification->setHint(QStringLiteral("x-kde-origin-name"), room->localMember().id());
notification->sendEvent(); notification->sendEvent();
m_invitations.insert(room->id(), notification); m_invitations.insert(room->id(), notification);

View File

@@ -154,7 +154,7 @@ void PollHandler::sendPollAnswer(const QString &eventId, const QString &answerId
return; return;
} }
QStringList ownAnswers; QStringList ownAnswers;
for (const auto &answer : m_answers[room->localUser()->id()].toArray()) { for (const auto &answer : m_answers[room->localMember().id()].toArray()) {
ownAnswers += answer.toString(); ownAnswers += answer.toString();
} }
if (ownAnswers.contains(answerId)) { if (ownAnswers.contains(answerId)) {
@@ -169,7 +169,7 @@ void PollHandler::sendPollAnswer(const QString &eventId, const QString &answerId
} }
auto response = new PollResponseEvent(eventId, ownAnswers); auto response = new PollResponseEvent(eventId, ownAnswers);
handleAnswer(response->contentJson(), room->localUser()->id(), QDateTime::currentDateTime()); handleAnswer(response->contentJson(), room->localMember().id(), QDateTime::currentDateTime());
room->postEvent(response); room->postEvent(response);
} }