enabled support for KUnifiedPush
OBS-URL: https://build.opensuse.org/package/show/KDE:Applications/neochat?expand=0&rev=51
This commit is contained in:
commit
01e9a813d7
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
## Default LFS
|
||||
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||
*.png filter=lfs diff=lfs merge=lfs -text
|
||||
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||
*.zst filter=lfs diff=lfs merge=lfs -text
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
.osc
|
532
0001-Cherry-pick-compatability-changes-for-libquotient-0.patch
Normal file
532
0001-Cherry-pick-compatability-changes-for-libquotient-0.patch
Normal file
@ -0,0 +1,532 @@
|
||||
From eb802ff91f98204784d87db61a698b4038b7ef84 Mon Sep 17 00:00:00 2001
|
||||
From: James Graham <james.h.graham@protonmail.com>
|
||||
Date: Sat, 26 Oct 2024 07:47:15 +0000
|
||||
Subject: [PATCH] Cherry pick compatability changes for libquotient 0.9
|
||||
|
||||
Title
|
||||
---
|
||||
src/actionshandler.cpp | 8 ++
|
||||
src/eventhandler.cpp | 151 +++++++++++++++++++++++------
|
||||
src/eventhandler.h | 12 ++-
|
||||
src/models/messagecontentmodel.cpp | 18 +++-
|
||||
src/models/messageeventmodel.cpp | 5 +
|
||||
src/neochatroom.cpp | 44 ++++++++-
|
||||
6 files changed, 199 insertions(+), 39 deletions(-)
|
||||
|
||||
diff --git a/src/actionshandler.cpp b/src/actionshandler.cpp
|
||||
index e5ddaadbd..c47b780b1 100644
|
||||
--- a/src/actionshandler.cpp
|
||||
+++ b/src/actionshandler.cpp
|
||||
@@ -91,10 +91,18 @@ void ActionsHandler::handleMessage(const QString &text, QString handledText, Cha
|
||||
|
||||
for (auto it = m_room->messageEvents().crbegin(); it != m_room->messageEvents().crend(); it++) {
|
||||
if (const auto event = eventCast<const RoomMessageEvent>(&**it)) {
|
||||
+#if Quotient_VERSION_MINOR > 8
|
||||
+ if (event->senderId() == m_room->localMember().id() && event->has<EventContent::TextContent>()) {
|
||||
+#else
|
||||
if (event->senderId() == m_room->localMember().id() && event->hasTextContent()) {
|
||||
+#endif
|
||||
QString originalString;
|
||||
if (event->content()) {
|
||||
+#if Quotient_VERSION_MINOR > 8
|
||||
+ originalString = event->get<EventContent::TextContent>()->body;
|
||||
+#else
|
||||
originalString = static_cast<const Quotient::EventContent::TextContent *>(event->content())->body;
|
||||
+#endif
|
||||
} else {
|
||||
originalString = event->plainBody();
|
||||
}
|
||||
diff --git a/src/eventhandler.cpp b/src/eventhandler.cpp
|
||||
index 8cad14601..6b02ade67 100644
|
||||
--- a/src/eventhandler.cpp
|
||||
+++ b/src/eventhandler.cpp
|
||||
@@ -9,6 +9,8 @@
|
||||
|
||||
#include <Quotient/eventitem.h>
|
||||
#include <Quotient/events/encryptionevent.h>
|
||||
+#include <Quotient/events/event.h>
|
||||
+#include <Quotient/events/eventcontent.h>
|
||||
#include <Quotient/events/reactionevent.h>
|
||||
#include <Quotient/events/redactionevent.h>
|
||||
#include <Quotient/events/roomavatarevent.h>
|
||||
@@ -234,10 +236,18 @@ QString EventHandler::rawMessageBody(const Quotient::RoomMessageEvent &event)
|
||||
{
|
||||
QString body;
|
||||
|
||||
+#if Quotient_VERSION_MINOR > 8
|
||||
+ if (event.has<EventContent::FileContent>()) {
|
||||
+#else
|
||||
if (event.hasFileContent()) {
|
||||
+#endif
|
||||
// if filename is given or body is equal to filename,
|
||||
// then body is a caption
|
||||
+#if Quotient_VERSION_MINOR > 8
|
||||
+ QString filename = event.get<EventContent::FileContent>()->originalName;
|
||||
+#else
|
||||
QString filename = event.content()->fileInfo()->originalName;
|
||||
+#endif
|
||||
QString body = event.plainBody();
|
||||
if (filename.isEmpty() || filename == body) {
|
||||
return QString();
|
||||
@@ -245,8 +255,13 @@ QString EventHandler::rawMessageBody(const Quotient::RoomMessageEvent &event)
|
||||
return body;
|
||||
}
|
||||
|
||||
+#if Quotient_VERSION_MINOR > 8
|
||||
+ if (event.has<EventContent::TextContent>() && event.content()) {
|
||||
+ body = event.get<EventContent::TextContent>()->body;
|
||||
+#else
|
||||
if (event.hasTextContent() && event.content()) {
|
||||
body = static_cast<const EventContent::TextContent *>(event.content())->body;
|
||||
+#endif
|
||||
} else {
|
||||
body = event.plainBody();
|
||||
}
|
||||
@@ -461,11 +476,16 @@ QString EventHandler::getMessageBody(const RoomMessageEvent &event, Qt::TextForm
|
||||
{
|
||||
TextHandler textHandler;
|
||||
|
||||
+#if Quotient_VERSION_MINOR > 8
|
||||
+ if (event.has<EventContent::FileContent>()) {
|
||||
+ QString fileCaption = event.get<EventContent::FileContent>()->originalName;
|
||||
+#else
|
||||
if (event.hasFileContent()) {
|
||||
auto fileCaption = event.content()->fileInfo()->originalName;
|
||||
+#endif
|
||||
if (fileCaption.isEmpty()) {
|
||||
fileCaption = event.plainBody();
|
||||
- } else if (event.content()->fileInfo()->originalName != event.plainBody()) {
|
||||
+ } else if (fileCaption != event.plainBody()) {
|
||||
fileCaption = event.plainBody() + " | "_ls + fileCaption;
|
||||
}
|
||||
textHandler.setData(fileCaption);
|
||||
@@ -473,8 +493,13 @@ QString EventHandler::getMessageBody(const RoomMessageEvent &event, Qt::TextForm
|
||||
}
|
||||
|
||||
QString body;
|
||||
+#if Quotient_VERSION_MINOR > 8
|
||||
+ if (event.has<EventContent::TextContent>() && event.content()) {
|
||||
+ body = event.get<EventContent::TextContent>()->body;
|
||||
+#else
|
||||
if (event.hasTextContent() && event.content()) {
|
||||
body = static_cast<const EventContent::TextContent *>(event.content())->body;
|
||||
+#endif
|
||||
} else {
|
||||
body = event.plainBody();
|
||||
}
|
||||
@@ -655,39 +680,65 @@ QVariantMap EventHandler::getMediaInfoForEvent(const Quotient::RoomEvent *event)
|
||||
// Get the file info for the event.
|
||||
if (event->is<RoomMessageEvent>()) {
|
||||
auto roomMessageEvent = eventCast<const RoomMessageEvent>(event);
|
||||
+#if Quotient_VERSION_MINOR > 8
|
||||
+ if (!roomMessageEvent->has<EventContent::FileContentBase>()) {
|
||||
+#else
|
||||
if (!roomMessageEvent->hasFileContent()) {
|
||||
+#endif
|
||||
return {};
|
||||
}
|
||||
|
||||
- const EventContent::FileInfo *fileInfo;
|
||||
- fileInfo = roomMessageEvent->content()->fileInfo();
|
||||
- QVariantMap mediaInfo = getMediaInfoFromFileInfo(fileInfo, eventId, false, false);
|
||||
+#if Quotient_VERSION_MINOR > 8
|
||||
+ const auto content = roomMessageEvent->get<EventContent::FileContentBase>();
|
||||
+ QVariantMap mediaInfo = getMediaInfoFromFileInfo(content.get(), eventId, false, false);
|
||||
+#else
|
||||
+ const auto content = static_cast<const EventContent::FileContent *>(roomMessageEvent->content());
|
||||
+ QVariantMap mediaInfo = getMediaInfoFromFileInfo(content, eventId, false, false);
|
||||
+#endif
|
||||
// if filename isn't specifically given, it is in body
|
||||
// https://spec.matrix.org/latest/client-server-api/#mfile
|
||||
- mediaInfo["filename"_ls] = (fileInfo->originalName.isEmpty()) ? roomMessageEvent->plainBody() : fileInfo->originalName;
|
||||
+#if Quotient_VERSION_MINOR > 8
|
||||
+ mediaInfo["filename"_ls] = content->commonInfo().originalName.isEmpty() ? roomMessageEvent->plainBody() : content->commonInfo().originalName;
|
||||
+#else
|
||||
+ mediaInfo["filename"_ls] = (content->fileInfo()->originalName.isEmpty()) ? roomMessageEvent->plainBody() : content->fileInfo()->originalName;
|
||||
+#endif
|
||||
|
||||
return mediaInfo;
|
||||
} else if (event->is<StickerEvent>()) {
|
||||
- const EventContent::FileInfo *fileInfo;
|
||||
-
|
||||
auto stickerEvent = eventCast<const StickerEvent>(event);
|
||||
- fileInfo = &stickerEvent->image();
|
||||
+ auto content = &stickerEvent->image();
|
||||
|
||||
- return getMediaInfoFromFileInfo(fileInfo, eventId, false, true);
|
||||
+ return getMediaInfoFromFileInfo(content, eventId, false, true);
|
||||
} else {
|
||||
return {};
|
||||
}
|
||||
}
|
||||
|
||||
-QVariantMap EventHandler::getMediaInfoFromFileInfo(const EventContent::FileInfo *fileInfo, const QString &eventId, bool isThumbnail, bool isSticker) const
|
||||
+QVariantMap EventHandler::getMediaInfoFromFileInfo(
|
||||
+#if Quotient_VERSION_MINOR > 8
|
||||
+ const Quotient::EventContent::FileContentBase *fileContent,
|
||||
+#else
|
||||
+ const Quotient::EventContent::TypedBase *fileContent,
|
||||
+#endif
|
||||
+ const QString &eventId,
|
||||
+ bool isThumbnail,
|
||||
+ bool isSticker) const
|
||||
{
|
||||
QVariantMap mediaInfo;
|
||||
|
||||
// Get the mxc URL for the media.
|
||||
- if (!fileInfo->url().isValid() || fileInfo->url().scheme() != QStringLiteral("mxc") || eventId.isEmpty()) {
|
||||
+#if Quotient_VERSION_MINOR > 8
|
||||
+ if (!fileContent->url().isValid() || fileContent->url().scheme() != QStringLiteral("mxc") || eventId.isEmpty()) {
|
||||
+#else
|
||||
+ if (!fileContent->fileInfo()->url().isValid() || fileContent->fileInfo()->url().scheme() != QStringLiteral("mxc") || eventId.isEmpty()) {
|
||||
+#endif
|
||||
mediaInfo["source"_ls] = QUrl();
|
||||
} else {
|
||||
- QUrl source = m_room->makeMediaUrl(eventId, fileInfo->url());
|
||||
+#if Quotient_VERSION_MINOR > 8
|
||||
+ QUrl source = m_room->makeMediaUrl(eventId, fileContent->url());
|
||||
+#else
|
||||
+ QUrl source = m_room->makeMediaUrl(eventId, fileContent->fileInfo()->url());
|
||||
+#endif
|
||||
|
||||
if (source.isValid()) {
|
||||
mediaInfo["source"_ls] = source;
|
||||
@@ -696,7 +747,7 @@ QVariantMap EventHandler::getMediaInfoFromFileInfo(const EventContent::FileInfo
|
||||
}
|
||||
}
|
||||
|
||||
- auto mimeType = fileInfo->mimeType;
|
||||
+ auto mimeType = fileContent->type();
|
||||
// Add the MIME type for the media if available.
|
||||
mediaInfo["mimeType"_ls] = mimeType.name();
|
||||
|
||||
@@ -704,45 +755,53 @@ QVariantMap EventHandler::getMediaInfoFromFileInfo(const EventContent::FileInfo
|
||||
mediaInfo["mimeIcon"_ls] = mimeType.iconName();
|
||||
|
||||
// Add media size if available.
|
||||
- mediaInfo["size"_ls] = fileInfo->payloadSize;
|
||||
+#if Quotient_VERSION_MINOR > 8
|
||||
+ mediaInfo["size"_ls] = fileContent->commonInfo().payloadSize;
|
||||
+#else
|
||||
+ mediaInfo["size"_ls] = static_cast<const EventContent::FileContent *>(fileContent)->fileInfo()->payloadSize;
|
||||
+#endif
|
||||
|
||||
mediaInfo["isSticker"_ls] = isSticker;
|
||||
|
||||
// Add parameter depending on media type.
|
||||
if (mimeType.name().contains(QStringLiteral("image"))) {
|
||||
- if (auto castInfo = static_cast<const EventContent::ImageContent *>(fileInfo)) {
|
||||
+ if (auto castInfo = static_cast<const EventContent::ImageContent *>(fileContent)) {
|
||||
+#if Quotient_VERSION_MINOR > 8
|
||||
mediaInfo["width"_ls] = castInfo->imageSize.width();
|
||||
mediaInfo["height"_ls] = castInfo->imageSize.height();
|
||||
+#else
|
||||
+ const auto imageInfo = static_cast<const EventContent::ImageInfo *>(castInfo->fileInfo());
|
||||
+ mediaInfo["width"_ls] = imageInfo->imageSize.width();
|
||||
+ mediaInfo["height"_ls] = imageInfo->imageSize.height();
|
||||
+#endif
|
||||
|
||||
// TODO: Images in certain formats (e.g. WebP) will be erroneously marked as animated, even if they are static.
|
||||
mediaInfo["animated"_ls] = QMovie::supportedFormats().contains(mimeType.preferredSuffix().toUtf8());
|
||||
|
||||
- if (!isThumbnail) {
|
||||
- QVariantMap tempInfo;
|
||||
- auto thumbnailInfo = getMediaInfoFromFileInfo(castInfo->thumbnailInfo(), eventId, true);
|
||||
- if (thumbnailInfo["source"_ls].toUrl().scheme() == "mxc"_ls) {
|
||||
- tempInfo = thumbnailInfo;
|
||||
+ QVariantMap tempInfo;
|
||||
+ auto thumbnailInfo = getMediaInfoFromTumbnail(castInfo->thumbnail, eventId);
|
||||
+ if (thumbnailInfo["source"_ls].toUrl().scheme() == "mxc"_ls) {
|
||||
+ tempInfo = thumbnailInfo;
|
||||
+ } else {
|
||||
+ QString blurhash = castInfo->originalInfoJson["xyz.amorgan.blurhash"_ls].toString();
|
||||
+ if (blurhash.isEmpty()) {
|
||||
+ tempInfo["source"_ls] = QUrl();
|
||||
} else {
|
||||
- QString blurhash = castInfo->originalInfoJson["xyz.amorgan.blurhash"_ls].toString();
|
||||
- if (blurhash.isEmpty()) {
|
||||
- tempInfo["source"_ls] = QUrl();
|
||||
- } else {
|
||||
- tempInfo["source"_ls] = QUrl("image://blurhash/"_ls + blurhash);
|
||||
- }
|
||||
+ tempInfo["source"_ls] = QUrl("image://blurhash/"_ls + blurhash);
|
||||
}
|
||||
- mediaInfo["tempInfo"_ls] = tempInfo;
|
||||
}
|
||||
+ mediaInfo["tempInfo"_ls] = tempInfo;
|
||||
}
|
||||
}
|
||||
if (mimeType.name().contains(QStringLiteral("video"))) {
|
||||
- if (auto castInfo = static_cast<const EventContent::VideoContent *>(fileInfo)) {
|
||||
+ if (auto castInfo = static_cast<const EventContent::VideoContent *>(fileContent)) {
|
||||
mediaInfo["width"_ls] = castInfo->imageSize.width();
|
||||
mediaInfo["height"_ls] = castInfo->imageSize.height();
|
||||
mediaInfo["duration"_ls] = castInfo->duration;
|
||||
|
||||
if (!isThumbnail) {
|
||||
QVariantMap tempInfo;
|
||||
- auto thumbnailInfo = getMediaInfoFromFileInfo(castInfo->thumbnailInfo(), eventId, true);
|
||||
+ auto thumbnailInfo = getMediaInfoFromTumbnail(castInfo->thumbnail, eventId);
|
||||
if (thumbnailInfo["source"_ls].toUrl().scheme() == "mxc"_ls) {
|
||||
tempInfo = thumbnailInfo;
|
||||
} else {
|
||||
@@ -758,7 +817,7 @@ QVariantMap EventHandler::getMediaInfoFromFileInfo(const EventContent::FileInfo
|
||||
}
|
||||
}
|
||||
if (mimeType.name().contains(QStringLiteral("audio"))) {
|
||||
- if (auto castInfo = static_cast<const EventContent::AudioContent *>(fileInfo)) {
|
||||
+ if (auto castInfo = static_cast<const EventContent::AudioContent *>(fileContent)) {
|
||||
mediaInfo["duration"_ls] = castInfo->duration;
|
||||
}
|
||||
}
|
||||
@@ -766,6 +825,38 @@ QVariantMap EventHandler::getMediaInfoFromFileInfo(const EventContent::FileInfo
|
||||
return mediaInfo;
|
||||
}
|
||||
|
||||
+QVariantMap EventHandler::getMediaInfoFromTumbnail(const Quotient::EventContent::Thumbnail &thumbnail, const QString &eventId) const
|
||||
+{
|
||||
+ QVariantMap thumbnailInfo;
|
||||
+
|
||||
+ if (!thumbnail.url().isValid() || thumbnail.url().scheme() != QStringLiteral("mxc") || eventId.isEmpty()) {
|
||||
+ thumbnailInfo["source"_ls] = QUrl();
|
||||
+ } else {
|
||||
+ QUrl source = m_room->makeMediaUrl(eventId, thumbnail.url());
|
||||
+
|
||||
+ if (source.isValid()) {
|
||||
+ thumbnailInfo["source"_ls] = source;
|
||||
+ } else {
|
||||
+ thumbnailInfo["source"_ls] = QUrl();
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ auto mimeType = thumbnail.mimeType;
|
||||
+ // Add the MIME type for the media if available.
|
||||
+ thumbnailInfo["mimeType"_ls] = mimeType.name();
|
||||
+
|
||||
+ // Add the MIME type icon if available.
|
||||
+ thumbnailInfo["mimeIcon"_ls] = mimeType.iconName();
|
||||
+
|
||||
+ // Add media size if available.
|
||||
+ thumbnailInfo["size"_ls] = thumbnail.payloadSize;
|
||||
+
|
||||
+ thumbnailInfo["width"_ls] = thumbnail.imageSize.width();
|
||||
+ thumbnailInfo["height"_ls] = thumbnail.imageSize.height();
|
||||
+
|
||||
+ return thumbnailInfo;
|
||||
+}
|
||||
+
|
||||
bool EventHandler::hasReply() const
|
||||
{
|
||||
if (m_event == nullptr) {
|
||||
diff --git a/src/eventhandler.h b/src/eventhandler.h
|
||||
index 277273c9e..6a3520882 100644
|
||||
--- a/src/eventhandler.h
|
||||
+++ b/src/eventhandler.h
|
||||
@@ -339,6 +339,14 @@ private:
|
||||
QString getMessageBody(const Quotient::RoomMessageEvent &event, Qt::TextFormat format, bool stripNewlines) const;
|
||||
|
||||
QVariantMap getMediaInfoForEvent(const Quotient::RoomEvent *event) const;
|
||||
- QVariantMap
|
||||
- getMediaInfoFromFileInfo(const Quotient::EventContent::FileInfo *fileInfo, const QString &eventId, bool isThumbnail = false, bool isSticker = false) const;
|
||||
+ QVariantMap getMediaInfoFromFileInfo(
|
||||
+#if Quotient_VERSION_MINOR > 8
|
||||
+ const Quotient::EventContent::FileContentBase *fileContent,
|
||||
+#else
|
||||
+ const Quotient::EventContent::TypedBase *fileContent,
|
||||
+#endif
|
||||
+ const QString &eventId,
|
||||
+ bool isThumbnail = false,
|
||||
+ bool isSticker = false) const;
|
||||
+ QVariantMap getMediaInfoFromTumbnail(const Quotient::EventContent::Thumbnail &thumbnail, const QString &eventId) const;
|
||||
};
|
||||
diff --git a/src/models/messagecontentmodel.cpp b/src/models/messagecontentmodel.cpp
|
||||
index 7de11f274..ac1756f84 100644
|
||||
--- a/src/models/messagecontentmodel.cpp
|
||||
+++ b/src/models/messagecontentmodel.cpp
|
||||
@@ -7,6 +7,7 @@
|
||||
|
||||
#include <QImageReader>
|
||||
|
||||
+#include <Quotient/events/eventcontent.h>
|
||||
#include <Quotient/events/redactionevent.h>
|
||||
#include <Quotient/events/roommessageevent.h>
|
||||
#include <Quotient/events/stickerevent.h>
|
||||
@@ -445,10 +446,19 @@ QList<MessageComponent> MessageContentModel::componentsForType(MessageComponentT
|
||||
auto fileTransferInfo = m_room->cachedFileTransferInfo(m_event.get());
|
||||
|
||||
#ifndef Q_OS_ANDROID
|
||||
- Q_ASSERT(event->content() != nullptr && event->content()->fileInfo() != nullptr);
|
||||
+#if Quotient_VERSION_MINOR > 8
|
||||
+ Q_ASSERT(event->content() != nullptr && event->has<EventContent::FileContent>());
|
||||
+ const QMimeType mimeType = event->get<EventContent::FileContent>()->mimeType;
|
||||
+#else
|
||||
+ Q_ASSERT(event->content() != nullptr && event->hasFileContent());
|
||||
const QMimeType mimeType = event->content()->fileInfo()->mimeType;
|
||||
+#endif
|
||||
if (mimeType.name() == QStringLiteral("text/plain") || mimeType.parentMimeTypes().contains(QStringLiteral("text/plain"))) {
|
||||
+#if Quotient_VERSION_MINOR > 8
|
||||
+ QString originalName = event->get<EventContent::FileContent>()->originalName;
|
||||
+#else
|
||||
QString originalName = event->content()->fileInfo()->originalName;
|
||||
+#endif
|
||||
if (originalName.isEmpty()) {
|
||||
originalName = event->plainBody();
|
||||
}
|
||||
@@ -571,8 +581,12 @@ void MessageContentModel::updateItineraryModel()
|
||||
}
|
||||
|
||||
if (auto event = eventCast<const Quotient::RoomMessageEvent>(m_event)) {
|
||||
+#if Quotient_VERSION_MINOR > 8
|
||||
+ if (event->has<EventContent::FileContent>()) {
|
||||
+#else
|
||||
if (event->hasFileContent()) {
|
||||
- auto filePath = m_room->cachedFileTransferInfo(m_event.get()).localPath;
|
||||
+#endif
|
||||
+ auto filePath = m_room->cachedFileTransferInfo(event).localPath;
|
||||
if (filePath.isEmpty() && m_itineraryModel != nullptr) {
|
||||
delete m_itineraryModel;
|
||||
m_itineraryModel = nullptr;
|
||||
diff --git a/src/models/messageeventmodel.cpp b/src/models/messageeventmodel.cpp
|
||||
index 09c738d0e..784fcd36e 100644
|
||||
--- a/src/models/messageeventmodel.cpp
|
||||
+++ b/src/models/messageeventmodel.cpp
|
||||
@@ -8,6 +8,7 @@
|
||||
#include "neochatconfig.h"
|
||||
|
||||
#include <Quotient/csapi/rooms.h>
|
||||
+#include <Quotient/events/eventcontent.h>
|
||||
#include <Quotient/events/redactionevent.h>
|
||||
#include <Quotient/events/roommessageevent.h>
|
||||
#include <Quotient/events/stickerevent.h>
|
||||
@@ -498,7 +499,11 @@ QVariant MessageEventModel::data(const QModelIndex &idx, int role) const
|
||||
|
||||
if (role == ProgressInfoRole) {
|
||||
if (auto e = eventCast<const RoomMessageEvent>(&evt)) {
|
||||
+#if Quotient_VERSION_MINOR > 8
|
||||
+ if (e->has<EventContent::FileContent>()) {
|
||||
+#else
|
||||
if (e->hasFileContent()) {
|
||||
+#endif
|
||||
return QVariant::fromValue(m_currentRoom->cachedFileTransferInfo(&evt));
|
||||
}
|
||||
}
|
||||
diff --git a/src/neochatroom.cpp b/src/neochatroom.cpp
|
||||
index f5b1eb57b..8f4201e58 100644
|
||||
--- a/src/neochatroom.cpp
|
||||
+++ b/src/neochatroom.cpp
|
||||
@@ -9,6 +9,7 @@
|
||||
#include <QMimeDatabase>
|
||||
#include <QTemporaryFile>
|
||||
|
||||
+#include <Quotient/events/eventcontent.h>
|
||||
#include <Quotient/jobs/basejob.h>
|
||||
#include <Quotient/quotient_common.h>
|
||||
#include <qcoro/qcorosignal.h>
|
||||
@@ -76,11 +77,16 @@ NeoChatRoom::NeoChatRoom(Connection *connection, QString roomId, JoinState joinS
|
||||
const auto m_event = evtIt->viewAs<RoomEvent>();
|
||||
QString mxcUrl;
|
||||
if (auto event = eventCast<const Quotient::RoomMessageEvent>(m_event)) {
|
||||
+#if Quotient_VERSION_MINOR > 8
|
||||
+ if (event->has<EventContent::FileContentBase>()) {
|
||||
+ mxcUrl = event->get<EventContent::FileContentBase>()->url().toString();
|
||||
+#else
|
||||
if (event->hasFileContent()) {
|
||||
mxcUrl = event->content()->fileInfo()->url().toString();
|
||||
+#endif
|
||||
}
|
||||
} else if (auto event = eventCast<const Quotient::StickerEvent>(m_event)) {
|
||||
- mxcUrl = event->image().fileInfo()->url().toString();
|
||||
+ mxcUrl = event->image().url().toString();
|
||||
}
|
||||
if (mxcUrl.isEmpty()) {
|
||||
return;
|
||||
@@ -255,7 +261,11 @@ QCoro::Task<void> NeoChatRoom::doUploadFile(QUrl url, QString body)
|
||||
auto mime = QMimeDatabase().mimeTypeForUrl(url);
|
||||
url.setScheme("file"_ls);
|
||||
QFileInfo fileInfo(url.isLocalFile() ? url.toLocalFile() : url.toString());
|
||||
+#if Quotient_VERSION_MINOR > 8
|
||||
+ EventContent::FileContentBase *content;
|
||||
+#else
|
||||
EventContent::TypedBase *content;
|
||||
+#endif
|
||||
if (mime.name().startsWith("image/"_ls)) {
|
||||
QImage image(url.toLocalFile());
|
||||
content = new EventContent::ImageContent(url, fileInfo.size(), mime, image.size(), fileInfo.fileName());
|
||||
@@ -270,7 +280,11 @@ QCoro::Task<void> NeoChatRoom::doUploadFile(QUrl url, QString body)
|
||||
} else {
|
||||
content = new EventContent::FileContent(url, fileInfo.size(), mime, fileInfo.fileName());
|
||||
}
|
||||
+#if Quotient_VERSION_MINOR > 8
|
||||
+ QString txnId = postFile(body.isEmpty() ? url.fileName() : body, std::unique_ptr<EventContent::FileContentBase>(content));
|
||||
+#else
|
||||
QString txnId = postFile(body.isEmpty() ? url.fileName() : body, content);
|
||||
+#endif
|
||||
setHasFileUploading(true);
|
||||
connect(this, &Room::fileTransferCompleted, [this, txnId](const QString &id, FileSourceInfo) {
|
||||
if (id == txnId) {
|
||||
@@ -396,8 +410,13 @@ bool NeoChatRoom::lastEventIsSpoiler() const
|
||||
{
|
||||
if (auto event = lastEvent()) {
|
||||
if (auto e = eventCast<const RoomMessageEvent>(event)) {
|
||||
+#if Quotient_VERSION_MINOR > 8
|
||||
+ if (e->has<EventContent::TextContent>() && e->content() && e->mimeType().name() == "text/html"_ls) {
|
||||
+ auto htmlBody = e->get<EventContent::TextContent>()->body;
|
||||
+#else
|
||||
if (e->hasTextContent() && e->content() && e->mimeType().name() == "text/html"_ls) {
|
||||
auto htmlBody = static_cast<const Quotient::EventContent::TextContent *>(e->content())->body;
|
||||
+#endif
|
||||
return htmlBody.contains("data-mx-spoiler"_ls);
|
||||
}
|
||||
}
|
||||
@@ -1456,7 +1475,11 @@ void NeoChatRoom::openEventMediaExternally(const QString &eventId)
|
||||
const auto evtIt = findInTimeline(eventId);
|
||||
if (evtIt != messageEvents().rend() && is<RoomMessageEvent>(**evtIt)) {
|
||||
const auto event = evtIt->viewAs<RoomMessageEvent>();
|
||||
+#if Quotient_VERSION_MINOR > 8
|
||||
+ if (event->has<EventContent::FileContent>()) {
|
||||
+#else
|
||||
if (event->hasFileContent()) {
|
||||
+#endif
|
||||
const auto transferInfo = cachedFileTransferInfo(event);
|
||||
if (transferInfo.completed()) {
|
||||
UrlHelper helper;
|
||||
@@ -1489,7 +1512,11 @@ void NeoChatRoom::copyEventMedia(const QString &eventId)
|
||||
const auto evtIt = findInTimeline(eventId);
|
||||
if (evtIt != messageEvents().rend() && is<RoomMessageEvent>(**evtIt)) {
|
||||
const auto event = evtIt->viewAs<RoomMessageEvent>();
|
||||
+#if Quotient_VERSION_MINOR > 8
|
||||
+ if (event->has<EventContent::FileContent>()) {
|
||||
+#else
|
||||
if (event->hasFileContent()) {
|
||||
+#endif
|
||||
const auto transferInfo = fileTransferInfo(eventId);
|
||||
if (transferInfo.completed()) {
|
||||
Clipboard clipboard;
|
||||
@@ -1522,13 +1549,20 @@ FileTransferInfo NeoChatRoom::cachedFileTransferInfo(const Quotient::RoomEvent *
|
||||
QString mxcUrl;
|
||||
int total = 0;
|
||||
if (auto evt = eventCast<const Quotient::RoomMessageEvent>(event)) {
|
||||
+#if Quotient_VERSION_MINOR > 8
|
||||
+ if (evt->has<EventContent::FileContent>()) {
|
||||
+ const auto fileContent = evt->get<EventContent::FileContent>();
|
||||
+#else
|
||||
if (evt->hasFileContent()) {
|
||||
- mxcUrl = evt->content()->fileInfo()->url().toString();
|
||||
- total = evt->content()->fileInfo()->payloadSize;
|
||||
+ const auto fileContent = evt->content()->fileInfo();
|
||||
+#endif
|
||||
+
|
||||
+ mxcUrl = fileContent->url().toString();
|
||||
+ total = fileContent->payloadSize;
|
||||
}
|
||||
} else if (auto evt = eventCast<const Quotient::StickerEvent>(event)) {
|
||||
- mxcUrl = evt->image().fileInfo()->url().toString();
|
||||
- total = evt->image().fileInfo()->payloadSize;
|
||||
+ mxcUrl = evt->image().url().toString();
|
||||
+ total = evt->image().payloadSize;
|
||||
}
|
||||
|
||||
FileTransferInfo transferInfo = fileTransferInfo(event->id());
|
||||
--
|
||||
2.47.0
|
||||
|
BIN
applications.keyring
Normal file
BIN
applications.keyring
Normal file
Binary file not shown.
3
neochat-24.05.2.tar.xz
Normal file
3
neochat-24.05.2.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:cfd419a87cbbe5fecbd7833189255ee2f582b4e1fb0f4f88bdef7e60a92fbc8f
|
||||
size 980740
|
16
neochat-24.05.2.tar.xz.sig
Normal file
16
neochat-24.05.2.tar.xz.sig
Normal file
@ -0,0 +1,16 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iQIzBAABCgAdFiEE2BwMs463Je9mkcOFu0YzUNbvMe8FAmaDnTEACgkQu0YzUNbv
|
||||
Me+NtQ/9GvS+JIQ/Q2lIz7j+kHAM8AB/+iU2QT/9EEwUB1C43KnGr71xK/SW9Cnc
|
||||
Ug1ctNLE1kuDu1cfOo59+MY/ite1r4lksGl/3lGFUe6OGexbkfj9sArtFrm2ci4+
|
||||
JIiNfceGgFIrVcDotyDEqyoSrRTpeT33IIlNbmB6TrJmPNPQtnHwE4CPp1K7/oXK
|
||||
/YEYfikYJ7FJ3a329qQ6IqiX9pNGNYnA10Hnh7fFEIrEqPPjQOG/0wIOXYtZHdfK
|
||||
sjWYpxkXm47NDuvJdh40oRYYFEPfnsTMyalA08jZ/v7LJk6tii2UPkQXDW3QRdj5
|
||||
1CHgtScM5bmwvpOqPoPmC3tldS3aQQmevRARIKucXfp2cG+oXvWWejOM+rcFCQK9
|
||||
/B8E+M8Yg5emLUNGHmnC0yp7TnwjY3E5SQO43Vvu3o87pM+VICP9q2tjtM1p41dH
|
||||
TbGVMEJghD502IGS49zXTDpgxmvcfEY1DcfaaMIQTEvlc2vYEYiF9iYlBka/snUb
|
||||
1UjvwIpZE6XPkV1eZx0QZEjwE9lqrIwImKp+gqOFWvMlDsc/nw4BgzbofNApZFkU
|
||||
rDtBiUpRUJzCUBR0mGY+u45RT+PfMsZ4jwTCK7b7HS/CFBlMgNEB+QIrlA3hH7Hd
|
||||
s6D27AhtAfNv6BO2gmmghrq7mp1NPqZd7OonOrIm6HpM12LVo/U=
|
||||
=uTZj
|
||||
-----END PGP SIGNATURE-----
|
3
neochat-24.08.0.tar.xz
Normal file
3
neochat-24.08.0.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:6b72d1864cc0d90704318c8970b9dc6a2dacd541fc5b95c46dcebb5c6a61705f
|
||||
size 1024700
|
16
neochat-24.08.0.tar.xz.sig
Normal file
16
neochat-24.08.0.tar.xz.sig
Normal file
@ -0,0 +1,16 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iQIzBAABCgAdFiEE2BwMs463Je9mkcOFu0YzUNbvMe8FAma+4OIACgkQu0YzUNbv
|
||||
Me9Ulg//RSBBVRtllnbfvqEtMsR4GTdAl9MzMI56XvPRszsHWiNVJqP3PXOYR7+m
|
||||
fqpGkxbAxelBxKn8gpYzBqj75TLMnPKQdjXR5op3kI9EIr5kToc6VWvPyr7+MOaW
|
||||
V1Jos7n3EzzL9cMOyWcG+ty9ar5+o80Zr3MuLNN7bevc11YQSzmx+EG1A6sfCPCO
|
||||
wWyjX0CBepYZJsuafbT0Zxd1+hHvjGOTQg6GmVl1l0kn1Jkt7jb1hS+pVzNPgniJ
|
||||
y3/sMkR6PE/fNmteUbBiqYBMVLyx7Ii2lqwlD+8vWRrRjSF/p5QjAieVjYybY/6q
|
||||
sHgsBvfoPS4znN6ld1Guvx9KdoCUkoftJ54xZpe6fPZBlRLAqxd91a7guZ1aqbSp
|
||||
XRsVnos0JCsViHIXCgaSm8KmmtGgHZSQX3rxmRzx2hnLn7V16zs7rAA6rXRE36XH
|
||||
6fntJwYBKPER6BK06h8bxCxna0qljF9v1nSx84qN06jtWcn78dGZsR+EWR8PcN6C
|
||||
gPpoXyp050sUwtVYPaYD/xZ/ypsuRFj0z2fbmUslONFwMPwmCdgcYoaRcUXey6Nc
|
||||
iEQe2YkUY0408INPgVafA5puVgWrGm6dU6wSv6sjQHl70Z2p/RDA91hpQC/662Fy
|
||||
cvoREbi83cVIpzrf+EaYCGLd6JiDhddpaZayPCG/XvGm7Qr+mfc=
|
||||
=q5Hs
|
||||
-----END PGP SIGNATURE-----
|
3
neochat-24.08.1.tar.xz
Normal file
3
neochat-24.08.1.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:a394f04cf19d5567437e558075c9f7ce5c37bf73943b13c47739ff56acde571d
|
||||
size 1025240
|
16
neochat-24.08.1.tar.xz.sig
Normal file
16
neochat-24.08.1.tar.xz.sig
Normal file
@ -0,0 +1,16 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iQIzBAABCgAdFiEE2BwMs463Je9mkcOFu0YzUNbvMe8FAmbf/SUACgkQu0YzUNbv
|
||||
Me8geQ//RxjnQ0GVT7lKRZAIqd3Do6mFGt8Mi0L1pspRRRW8W9HmG+k7aO5Syo2D
|
||||
slkPngcLFEOwm/4x5dqIre2SOt+vvJwC07TDkUv8pkd4GjsmnyJmnAV2Y6yz1+cw
|
||||
kDKP569Re/IW+EZxnuweGTlAn7eu4sp36LpFwZwFHxNUcdHMX2BvO24nk4kLy2VC
|
||||
Igt8BCZfng1Qf0jybIjIqKGPDmaJ8WGmUMRfyqn9aPVc+O9Tb6SMo4cPSUMbic4i
|
||||
XAFpPlrkgudwd0KlBftAx1zGNFxUU/3o3kTQv/2ZNj/Y4ouuRBpR0vl5Js5zDK4E
|
||||
+S5bVtSTIFU4qYcxm1nTVYrfjp0DGADUavz64op5DgLzmalMAe7DNqHIhOmA25O3
|
||||
urKbyU6p9WtUZ2Dx6ZPO78TepTGgl+CSkfPtCTTtSGFwQyR/D7HzihMXqXHb7rjK
|
||||
L+FjUq7Kq+Vkl5cXyYWJaqMBDbwRRRU0Vv72DUB/Lj6GpVUSaJzNKTlU76Xgp/hj
|
||||
vUhIvanwube9FTiKLfRxuf64vm56j2/llkAqpb3sBFz6ygOlwMo+AF7gFKmvHtlc
|
||||
UuF4khQQYimjaoAMI/skd1xBmjVGVZmrTpiX3ZeDwhb9Sq240kazRxLwEnh7tfoG
|
||||
0mEv0Efl7Zv5DR3G+x6MKJPmWxU6zn/fewlT59xfiFuAOyYp+as=
|
||||
=F8mD
|
||||
-----END PGP SIGNATURE-----
|
3
neochat-24.08.2.tar.xz
Normal file
3
neochat-24.08.2.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:873f08f35ef1055b17647098a2ba5a3924dc0fb8350441d380c3598d8213c1bc
|
||||
size 1027192
|
16
neochat-24.08.2.tar.xz.sig
Normal file
16
neochat-24.08.2.tar.xz.sig
Normal file
@ -0,0 +1,16 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iQIzBAABCgAdFiEE2BwMs463Je9mkcOFu0YzUNbvMe8FAmcGk4kACgkQu0YzUNbv
|
||||
Me8e9Q/+LTIxIAfoDPOM1KjqErxZC9FGfQVewTwQhE7G3+zsXmydxk3J0CskKlKL
|
||||
3FrbKJKE5APPJU33fnGRK+5mBpF9ZlnfD4p6eN8Cj//8M09M8NOHK1uTeNXzxD9L
|
||||
YTFkJftkW8lGqAoFE6xOPqJz3enZrnpjoH5tisRp6UHRgAjSL72yljVL5PPID1Rn
|
||||
aTISvCvPd3efKDdTiLJozYCSzboH5hJI4t3Unq9EACBXCnpecFZGQaFx/IGkm+wc
|
||||
VF46g6YPV5wnYseqYrmS2esCBrdDz7DmT2chfeeJz42HkhmVUpqzyWs00tTo3j6n
|
||||
cHcsOv5IFpHe9ryxnHPBfeh4uSnVvHMpDpeFbjWvQqF3zssiJNMluqiXAKKyHK2e
|
||||
W5WJZd5+gSerSNDEnNUnCiX6hVhJ2+EN1Ez5CINJferJx7yp9Vz+Gsh3119E6chs
|
||||
x/x9qJS3Jtibi4gKKZq+dKFEzGiaFyUcBG9iXM864rrzKumZ4cATmar8ik7x35Sh
|
||||
tp6B8IvklMREZz4t327eV8l8FtbogEanvNFKyv+bohDAzyDgNG9eRvCLto4W9/ab
|
||||
2QZVydVru1hnbQRgg1UcxNe/WIqex4zLS5hSUpISWmxanJGGzGJn4z8lUQxs14GF
|
||||
/jQjwN5DIpa90Rcl9OY9KKNNd6ZTbN5V9M0dGBLENJuThx/Hf6E=
|
||||
=w8nA
|
||||
-----END PGP SIGNATURE-----
|
3
neochat-24.08.3.tar.xz
Normal file
3
neochat-24.08.3.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:f28988f68ebf405b0c448ab9f8e4ddace819e08e86fad9d6b2149bb98e7d0f09
|
||||
size 1031148
|
16
neochat-24.08.3.tar.xz.sig
Normal file
16
neochat-24.08.3.tar.xz.sig
Normal file
@ -0,0 +1,16 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iQIzBAABCgAdFiEE2BwMs463Je9mkcOFu0YzUNbvMe8FAmcpZPAACgkQu0YzUNbv
|
||||
Me+WHg/8CZJFrkPTvJ9r/hYwLheQhvgBqfcU4HnxM/IDss62ckeba3XQohMg5xze
|
||||
jxgPq72zVRAB9UDN4srpsUH2JKdmKgEbYJP1MLzr9x7074mh7c8Ooa0iyMDrrlGR
|
||||
+NfHU7vBCphUYd6oSEMzoOnV03pWAQ5o3nz7YW5+syZrJgnhbPbqZ9YXVrGcDuZy
|
||||
wbrEjEnPXy9StPKi8M+kbr8ufHardBfgoccYr7Vn8ONeLm6iEzmnT8CjDumAZBSL
|
||||
I28ZpO6dn3+5zbdtUDe2EkFNqzQvrlSVPornFtSpl1wfnmBwwCdBRjiuy1FFLUF0
|
||||
YCB0W6Boog1S62j10pWaQl5zrHjJbT/+QTkzSTtp4x6GWwk0k5L/jOTrwe3NUVEO
|
||||
Ztc4MGO2vDw5OZ7QjGPGa/YxWAwvx1lnyHpxz+DiXKGZQ9Ry0rILg/sOMkHnI0s7
|
||||
BtM7KW4b160MCLP7Z2iIXx6GWJBL94/VLM3+quJ5ou7z9rxYHgyLJsbTrE38X1Af
|
||||
WkXoixjJRH4BYVBe/xyyu4x2y/bNC270CH/t7CdA2ZPZcFa6TV7LfSxi9taqMuPe
|
||||
K4DX3Hfh8+f47+/KZ7KivCqtLEpldYIpTEGCa59po+ueIxAXstr/CYscZ7GXjne5
|
||||
m4c9gFkcPbXwseOh+8KsjiMjIHLj1xWvdhnkYYT6WuyDgvG2jVw=
|
||||
=seO3
|
||||
-----END PGP SIGNATURE-----
|
588
neochat.changes
Normal file
588
neochat.changes
Normal file
@ -0,0 +1,588 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Nov 13 09:31:29 UTC 2024 - Adam Mizerski <adam@mizerski.pl>
|
||||
|
||||
- enabled support for KUnifiedPush
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Nov 5 10:44:14 UTC 2024 - Christophe Marin <christophe@krop.fr>
|
||||
|
||||
- Update to 24.08.3
|
||||
* New bugfix release
|
||||
* For more details please see:
|
||||
* https://kde.org/announcements/gear/24.08.3/
|
||||
- Changes since 24.08.2:
|
||||
* Cherry pick compatability changes for libquotient 0.9
|
||||
* snap: add snap package
|
||||
- Drop patch, merged upstream:
|
||||
* 0001-Cherry-pick-compatability-changes-for-libquotient-0.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Oct 28 07:59:23 UTC 2024 - Christophe Marin <christophe@krop.fr>
|
||||
|
||||
- Add upstream change:
|
||||
* 0001-Cherry-pick-compatability-changes-for-libquotient-0.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Oct 8 12:02:28 UTC 2024 - Christophe Marin <christophe@krop.fr>
|
||||
|
||||
- Update to 24.08.2
|
||||
* New bugfix release
|
||||
* For more details please see:
|
||||
* https://kde.org/announcements/gear/24.08.2/
|
||||
- Changes since 24.08.1:
|
||||
* Fix for not rendering html in replies
|
||||
* Fix compilation
|
||||
* Fix compilation against changes in libQuotient
|
||||
* Adapt to libQuotient changes
|
||||
* Unify redaction handling
|
||||
* Escape html from redaction message
|
||||
* Ensure floating buttons have correct size on mobile
|
||||
* Make sure that m_components cannot be accessed out of bounds in closeLinkPreview
|
||||
* Fix NeoChatRoom::directChatRemoteMember (kde#492733)
|
||||
* Fix crash in MessageContentModel
|
||||
* Fix display name in verification message
|
||||
* Fix filtering users in the member list
|
||||
* Don't open a room by default on mobile
|
||||
* Fix increasing font size of certain emojis
|
||||
* Use autoTransform on images
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Sep 10 14:11:42 UTC 2024 - Christophe Marin <christophe@krop.fr>
|
||||
|
||||
- Update to 24.08.1
|
||||
* New bugfix release
|
||||
* For more details please see:
|
||||
* https://kde.org/announcements/gear/24.08.1/
|
||||
- Changes since 24.08.0:
|
||||
* Web Shortcuts: kcmshell5 does not exist anymore on Plasma 6
|
||||
* LocationHelper: Move clamp from zoomToFit to QML
|
||||
* AuthorDelegate: Don't make empty space clickable
|
||||
* AuthorDelegate: Add pointing hand cursor to indicate you can tap
|
||||
* Make the SectionDelegate look just a little bit better
|
||||
* Fix pending indicator
|
||||
* Use plaintext for reply author component
|
||||
* Don't run QtKeychain job in a nested event loop
|
||||
* Adapt to libQuotient API change
|
||||
* Ensure that room list does not show rooms without title during startup
|
||||
* Include missing ECMQmlModule
|
||||
* Re-add pending event indicator (kde#491277)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Aug 19 07:14:43 UTC 2024 - Christophe Marin <christophe@krop.fr>
|
||||
|
||||
- Update to 24.08.0
|
||||
* New feature release
|
||||
* For more details please see:
|
||||
* https://kde.org/announcements/gear/24.08.0/
|
||||
- Too many changes since 24.05.2, only listing bugfixes:
|
||||
* Re-add pending event indicator (kde#491277)
|
||||
* Only enable taphandler for mouse clicks (kde#486545)
|
||||
* GlobalMenu: remove shortcut for QuickSwitcher (kde#488212)
|
||||
* Make notifications more useful (kde#475228)
|
||||
* Use simpler and less restrictive server url regex (kde#486888)
|
||||
* Make sure to ask before leaving a room (kde#486546)
|
||||
* Push ImageEditorPage using pushDialogLayer (kde#486315)
|
||||
* Fix the master show link preview setting and add back the per room setting (kde#486126)
|
||||
* Fix Roomlist Shortcuts (kde#485949)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jul 2 13:55:13 UTC 2024 - Christophe Marin <christophe@krop.fr>
|
||||
|
||||
- Update to 24.05.2
|
||||
* New bugfix release
|
||||
* For more details please see:
|
||||
* https://kde.org/announcements/gear/24.05.2/
|
||||
- Changes since 24.05.1:
|
||||
* GlobalMenu: remove shortcut for QuickSwitcher (kde#488212)
|
||||
* Fix global menu
|
||||
* CI: Disable requiring Windows tests passing
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jun 12 07:34:49 UTC 2024 - Christophe Marin <christophe@krop.fr>
|
||||
|
||||
- Update to 24.05.1
|
||||
* New bugfix release
|
||||
* For more details please see:
|
||||
* https://kde.org/announcements/gear/24.05.1/
|
||||
- Changes since 24.05.0:
|
||||
* Fix keyboard navigation on search pages
|
||||
* Fix the tooltips for the two drawer buttons at the top
|
||||
* Fix keyboard navigation in space drawer
|
||||
* Add keyboard navigation for server selection in room search dialog
|
||||
* Remove room member highlight on click
|
||||
* Use Qt.alpha in ThemeRadioButton
|
||||
* Add focus border for the theme radio button, used on the Appearance page
|
||||
* Fix QR code not showing when tapping the button under account settings
|
||||
* Fix map copyright link activation
|
||||
* Don't show the map if there's no locations available
|
||||
* Fixup AttachDialog
|
||||
* CreateRoomDialog: Add missing formcard separators
|
||||
* Fix if X11 on apple
|
||||
* Cleanup quick switcher
|
||||
* Fix spacing of HiddenDelegate
|
||||
* Fix micro spacing inconsistency in SpaceHierarchyDelegate
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun May 19 09:57:37 UTC 2024 - Christophe Marin <christophe@krop.fr>
|
||||
|
||||
- Update to 24.05.0
|
||||
* New feature release
|
||||
* For more details please see:
|
||||
* https://kde.org/announcements/gear/24.05.0/
|
||||
- Changes since 24.04.80:
|
||||
* Fix module
|
||||
* Adapt to behavior change in libQuotient
|
||||
* Push ImageEditorPage using pushDialogLayer (kde#486315)
|
||||
* Fix opening room on mobile
|
||||
* Fix AddServerSheet
|
||||
* Revert "Preserve mx-reply in the edited message if it exists"
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri May 3 09:17:23 UTC 2024 - Christophe Marin <christophe@krop.fr>
|
||||
|
||||
- Update to 24.04.80
|
||||
* New feature release
|
||||
- Too many changes since 24.02.2, only listing bugfixes:
|
||||
* Fix Roomlist Shortcuts (kde#485949)
|
||||
* Fix Verification Window Sizing (kde#485309)
|
||||
* Linkpreviewer Improvements (kde#484927)
|
||||
* Re-add requirement for having devtools active for the show message source action (kde#485140)
|
||||
* Only ask for URL opening confirmation for QR codes (kde#484870)
|
||||
* Add "Leave room" button to sidebar (kde#484425)
|
||||
* UserInfo compact (kde#482261)
|
||||
* Remove external room window feature (kde#455984)
|
||||
* Support selected text for replies in the right click menu (kde#463885)
|
||||
* Don't Maximize Stickers (kde#482701)
|
||||
* Fix Message Components for Tags with Attributes (kde#482331)
|
||||
* Fix crash when visiting user (kde#483744)
|
||||
* Remove manual window toggling for system tray icon (kde#479721)
|
||||
* Favourites -> Favorites (kde#481814)
|
||||
* Port RoomList to TreeView (kde#456643)
|
||||
* Move notifications button to space drawer. (kde#479051)
|
||||
* Readonly Room (kde#479590)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Apr 9 18:09:45 UTC 2024 - Christophe Marin <christophe@krop.fr>
|
||||
|
||||
- Update to 24.02.2
|
||||
* New bugfix release
|
||||
* For more details please see:
|
||||
* https://kde.org/announcements/gear/24.02.2/
|
||||
- Changes since 24.02.1:
|
||||
* Fix crash when visiting user (kde#483744)
|
||||
* Add back Appimage job, it is fixed now
|
||||
* Remove craft-appimage-qt6
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Mar 19 15:27:55 UTC 2024 - Christophe Marin <christophe@krop.fr>
|
||||
|
||||
- Update to 24.02.1
|
||||
* New bugfix release
|
||||
* For more details please see:
|
||||
* https://kde.org/announcements/gear/24.02.1/
|
||||
- Changes since 24.02.0:
|
||||
* Fix the quick format bar not actually doing anything
|
||||
* Exclude lonely question marks from the linkify regex
|
||||
* Don't destroy formatting when editing previous messages
|
||||
* Prevent collision between KUnifiedPush DBus and KRunner DBus
|
||||
* This is no longer needed now that ECM 6.0.0 is available
|
||||
* Create an APPX package for NeoChat 24.02
|
||||
* Remove manual window toggling for system tray icon (kde#479721)
|
||||
* Don't link KDBusAddons on windows
|
||||
* Don't require kirigami-addons master
|
||||
* flatpak: Switch to non-preview runtime
|
||||
* Fix (un)ignoring unknown users
|
||||
* Fix saving images from maximize component
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Feb 29 14:33:12 UTC 2024 - Christophe Marin <christophe@krop.fr>
|
||||
|
||||
- Update the kquickimageeditor build requirement
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Feb 23 14:00:53 UTC 2024 - Christophe Marin <christophe@krop.fr>
|
||||
|
||||
- Update to 24.02.0
|
||||
* New feature release
|
||||
- Changes since 24.01.95:
|
||||
* Fix saving images from maximize component
|
||||
* Add feature flag for reply in thread
|
||||
* Add neochat 24.02 release note
|
||||
* Fix reaction update event when the event is not there anymore
|
||||
* Fix reaction delegate sizing for text reaction
|
||||
* Skip Welcome screen when there's only one connection and it's loaded
|
||||
* Allow dropping connections from the welcome page
|
||||
* Show custom emoji reactions as per MSC4027
|
||||
* Fix AudioDelegate playback
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Feb 9 16:10:01 UTC 2024 - Christophe Marin <christophe@krop.fr>
|
||||
|
||||
- Update to 24.01.95
|
||||
* https://kde.org/announcements/megarelease/6/rc2/
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Dec 5 14:20:34 UTC 2023 - Christophe Marin <christophe@krop.fr>
|
||||
|
||||
- Update to 23.08.4
|
||||
* New bugfix release
|
||||
* For more details please see:
|
||||
* https://kde.org/announcements/gear/23.08.4/
|
||||
- Changes since 23.08.3:
|
||||
* Build Windows installers on invent
|
||||
* Fix crash for forbidden non-mxc media (kde#476698)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Nov 7 17:05:35 UTC 2023 - Christophe Marin <christophe@krop.fr>
|
||||
|
||||
- Update to 23.08.3
|
||||
* New bugfix release
|
||||
* For more details please see:
|
||||
* https://kde.org/announcements/gear/23.08.3/
|
||||
- Changes since 23.08.2:
|
||||
* snapcraft: remove dbus slots rejected by store.
|
||||
* Add CI template for building APKs
|
||||
* snapcraft: Fix libsecret support! BUndle gnomekeychain.
|
||||
Set XDG variables so it finds keychain. Update qtkeychain.
|
||||
* snapcraft: initial import snapcraft files.
|
||||
* Use KF5 version of kirigami-addons in flatpak builds
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Oct 10 18:28:21 UTC 2023 - Christophe Marin <christophe@krop.fr>
|
||||
|
||||
- Update to 23.08.2
|
||||
* New bugfix release
|
||||
* For more details please see:
|
||||
* https://kde.org/announcements/gear/23.08.2/
|
||||
- No code change since 23.08.1
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Sep 12 11:56:49 UTC 2023 - Christophe Marin <christophe@krop.fr>
|
||||
|
||||
- Update to 23.08.1
|
||||
* New bugfix release
|
||||
* For more details please see:
|
||||
* https://kde.org/announcements/gear/23.08.1/
|
||||
- Changes since 23.08.0:
|
||||
* Use shortcode as a fallback for body when sending stickers
|
||||
* Add cmake check for qtlocation QML module
|
||||
* Add Windows-specific screenshots as screenshots with custom attribute
|
||||
* Deselect space when leaving it (kde#473271)
|
||||
* Fix opening settings (kde#473789)
|
||||
* Fix opening report sheet
|
||||
* Force plain text user display name in user detail sheet
|
||||
* Fix opening ban sheet
|
||||
* Add release note for last two version
|
||||
* Remove debuging value
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Sep 4 06:38:34 UTC 2023 - Fabian Vogt <fabian@ritter-vogt.de>
|
||||
|
||||
- Add some qt5qmlimport runtime deps (boo#1214916)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Aug 20 14:00:22 UTC 2023 - Christophe Marin <christophe@krop.fr>
|
||||
|
||||
- Update to 23.08.0
|
||||
* New feature release
|
||||
* For more details please see:
|
||||
* https://kde.org/announcements/gear/23.08.0/
|
||||
- Changes since 23.07.90:
|
||||
* Don't inherit color in TimelineContainer
|
||||
* Use view-list-details instead of expand icon in room drawer
|
||||
* Destroy the correct component in space list context menu
|
||||
* Prevent the TapHandler in AvatarTabButton from triggering clicked()
|
||||
* Add icons to the space list context menu items
|
||||
* Prevent the chat bar from pasting a local file URL if we save the bitmap
|
||||
* Ensure that the notification avatar is drawn with no pen
|
||||
* Further notification avatar improvements
|
||||
* Fix the account switcher width so it doesn't spill off the side
|
||||
* Pick a better shadow and clean up emoji popup backgrounds
|
||||
* Don't clip the emoji popups as they destroy shadows
|
||||
* Improve tooltips in chatbar
|
||||
* Wrap room display name in Room Drawer
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Aug 14 08:03:38 UTC 2023 - Christophe Marin <christophe@krop.fr>
|
||||
|
||||
- Update to 23.07.90
|
||||
* New feature release
|
||||
- Changes since 23.07.80:
|
||||
* Display big emoji correctly
|
||||
* Force plain text in room delegate
|
||||
* Remove leftover debug statement
|
||||
* Fix last active time in devices page
|
||||
* Redesign timeline
|
||||
* Fix opening account menu on right click
|
||||
* Html-escape display names in state delegates
|
||||
* Fix room list icon size in compact room list (kde#472682)
|
||||
* Fix compilation with e2ee disabled
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Aug 1 10:14:34 UTC 2023 - Christophe Marin <christophe@krop.fr>
|
||||
|
||||
- Update to 23.07.80
|
||||
* New feature release
|
||||
- Too many changes since 23.04.3, only listing bugfixes:
|
||||
* Fix toolbar of RoomList when using font size 11px (kde#467242)
|
||||
* Don't try getting data for invalid indices (kde#470639)
|
||||
* Refactor login (kde#469486)
|
||||
* Improve Delegate Width Sizing (kde#470167)
|
||||
* Fix replying and editing from chatbox (kde#469733)
|
||||
* Fix the room timeline being dragged when selecting text (kde#467163)
|
||||
* Focus message search window's search field by default (kde#469879)
|
||||
* Cache last event (kde#455042)
|
||||
* Add more bottom margin (kde#469616)
|
||||
* Fix autocompletion not working (kde#468967)
|
||||
* Remove Unread Count (kde#466515)
|
||||
* Fix regressions from RoomPage refactoring (kde#469427)
|
||||
* Improve RoomDrawer for direct chats (kde#466895)
|
||||
* Prevent crash in SyntaxHighlighter when leaving room (kde#467722)
|
||||
* Fix handling line separators (kde#468977)
|
||||
* Fix Ctrl+Shift+, opening settings (kde#469057)
|
||||
* Fix room search field shortcut (kde#469059)
|
||||
* Fix Chat bubble background changing color when created (kde#468124)
|
||||
* Fix Long Topics in the RoomDrawer Overflowing (kde#467512)
|
||||
* Don't crash in UserListModel when there is no room (kde#466045)
|
||||
* Fix state event visiblity in timeline (kde#455048)
|
||||
* Improve Text Handling (kde#463932)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jul 4 10:20:37 UTC 2023 - Christophe Marin <christophe@krop.fr>
|
||||
|
||||
- Update to 23.04.3
|
||||
* New bugfix release
|
||||
* For more details please see:
|
||||
* https://kde.org/announcements/gear/23.04.3/
|
||||
- No code change since 23.04.2
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jun 6 20:01:53 UTC 2023 - Christophe Marin <christophe@krop.fr>
|
||||
|
||||
- Update to 23.04.2
|
||||
* New bugfix release
|
||||
* For more details please see:
|
||||
* https://kde.org/announcements/gear/23.04.2/
|
||||
- Changes since 23.04.1:
|
||||
* Focus message search window's search field by default (kde#469879)
|
||||
* Fix asan runtime error in texthandler
|
||||
* Update appstream description
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue May 9 10:47:51 UTC 2023 - Christophe Marin <christophe@krop.fr>
|
||||
|
||||
- Update to 23.04.1
|
||||
* New bugfix release
|
||||
* For more details please see:
|
||||
* https://kde.org/announcements/gear/23.04.1/
|
||||
- Changes since 23.04.0:
|
||||
* Don't enforce tests on windows Qt6
|
||||
* Fix handling line separators (kde#468977)
|
||||
* Prevent crash in SyntaxHighlighter when leaving room (kde#467722)
|
||||
* Add loading title to LoadingPage
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Apr 15 08:46:39 UTC 2023 - Christophe Marin <christophe@krop.fr>
|
||||
|
||||
- Update to 23.04.0
|
||||
* New feature release
|
||||
* For more details please see:
|
||||
* https://kde.org/announcements/gear/23.04.0/
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Mar 31 16:42:43 UTC 2023 - Christophe Marin <christophe@krop.fr>
|
||||
|
||||
- Update to 23.03.90
|
||||
* New feature release
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Mar 18 18:47:55 UTC 2023 - Christophe Marin <christophe@krop.fr>
|
||||
|
||||
- Update to 23.03.80
|
||||
* New feature release
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Feb 15 21:27:24 UTC 2023 - Christophe Marin <christophe@krop.fr>
|
||||
|
||||
- Update to 23.01.0
|
||||
* notifications are now shown for all accounts
|
||||
* new compact mode for the room list
|
||||
* searching in history is now possible
|
||||
* emojis and reactions improvements
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jan 23 12:19:20 UTC 2023 - Tamara Schmitz <tschmitz@suse.com>
|
||||
|
||||
- update to 22.11:
|
||||
* work on end-to-end encryption implementation
|
||||
* configuration settings ported to new form components
|
||||
* new settings component for managing notifications settings
|
||||
* add proxy configuration menu
|
||||
* added developer tools for inspecting raw matrix events
|
||||
* added confirmation dialog when signing out and when enabling end-to-end encryption
|
||||
* rewrite of theaccount switcher
|
||||
- fix buildrequires, remove redundant requires
|
||||
- fix permissions of license file
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Sep 29 19:55:16 UTC 2022 - Dirk Müller <dmueller@suse.com>
|
||||
|
||||
- update to 22.09:
|
||||
* implemented support for configuring notifications on a per-room basis. As
|
||||
part of his GSoC project, Snehit added a space selector to the room list,
|
||||
which allows filtering the room list for rooms included in the selected
|
||||
space. James also reworked the timeline layout to make it look nicer when
|
||||
the window is very wide. There have also been a ton of other fixes and
|
||||
improvements in translations, the layout and the stability of NeoChat.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Aug 5 06:07:29 UTC 2022 - Christophe Giboudeaux <christophe@krop.fr>
|
||||
|
||||
- Use GCC 10 to build neochat on Leap.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Aug 3 07:56:35 UTC 2022 - Dirk Müller <dmueller@suse.com>
|
||||
|
||||
- update to 22.06:
|
||||
* Sending of typing notifications can now be disabled.
|
||||
* In the room list, the scrollbar will now disappear correctly when it is not needed.
|
||||
* On wayland, NeoChat will now raise correctly when clicking on a notification.
|
||||
* Several bugs have been fixed that would sometimes cause messages containing
|
||||
markdown and/or HTML elements to be sent incorrectly.
|
||||
* The quick switcher can now be controlled using the mouse.
|
||||
* There is now an option to disable automatic room sidebar opening when
|
||||
resizing the window.
|
||||
* Creation of custom emojis has been fixed.
|
||||
* Editing or replying to the last message using the keyboard shortcuts now
|
||||
works correctly.
|
||||
* When switching between rooms using the keyboard, the switching direction is
|
||||
now correct.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Mar 22 09:03:48 UTC 2022 - Christophe Giboudeaux <christophe@krop.fr>
|
||||
|
||||
- Update the QCoro build dependency.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Feb 9 19:07:37 UTC 2022 - Fabian Vogt <fabian@ritter-vogt.de>
|
||||
|
||||
- Update to 22.02:
|
||||
* Implement sharing with Purpose (export)
|
||||
* Implement adding labels for account
|
||||
* Give settings window a title
|
||||
* Reduce minimum height of the window
|
||||
* Fix build with qcoro 0.4
|
||||
* Fix issues with saveFileAs
|
||||
* Changed “Settings” to “Configure NeoChat” in menu
|
||||
* Improve toolbar on mobile
|
||||
* Improve emoji pane
|
||||
* Check if password can be changed
|
||||
* Fix image tooltip
|
||||
* Adapt list setting pages to new style
|
||||
* Allow using ESC to go back to room list
|
||||
* Port away from QNetworkConfigurationManager
|
||||
* Remove lag when starting user autocompletion
|
||||
* Set single window hint in desktop file
|
||||
* Make room address selectable
|
||||
* Display monochrome icon in tray
|
||||
* Fix QuickSwitcher activation
|
||||
* Fix Windows/mac build
|
||||
* Fix notifications on Android
|
||||
* Support raising when we receive a notification
|
||||
* Don’t render html in RoomDrawer heading
|
||||
* Add support for minimizing to system tray on startup
|
||||
* Use non blocking passord reading
|
||||
* Add a mobile oriented context menu for the room list
|
||||
* Fix loading room settings on mobile
|
||||
* Use icon from qrc for system tray icon
|
||||
* Adapt to libQuotient API change
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Feb 7 16:09:09 UTC 2022 - Fabian Vogt <fabian@ritter-vogt.de>
|
||||
|
||||
- Update to 21.12:
|
||||
* Solved various problems related to login, logout and account switching
|
||||
* Fixed a few problems in the timeline layout
|
||||
* Added Spell checking while writing a message
|
||||
* Improved Settings pages
|
||||
* Many improvements to the android and general mobile support
|
||||
* Show blurhashes while images load
|
||||
* Support showing custom emojis
|
||||
* Added a global menu
|
||||
* Added support for spoilers
|
||||
* Added a quick switcher to switch between rooms
|
||||
* Added support for an optional fancy blur background effect
|
||||
* Resizable left and right drawers
|
||||
* Added Syntax highlighting in raw json messages
|
||||
* Better wayland support
|
||||
* Improved file reception and download
|
||||
- Part of Plasma Mobile Gear now, adjust URL and neochat.keyring
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Jun 26 09:38:16 UTC 2021 - ecsos <ecsos@opensuse.org>
|
||||
|
||||
- Fix build error.
|
||||
- Add missig cmark which will not be install with libcmark-devel.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jun 1 14:04:23 UTC 2021 - Paolo Stivanin <info@paolostivanin.com>
|
||||
|
||||
- Update to 1.2.0
|
||||
* major UI redesign
|
||||
* chage page is now using bubbles
|
||||
* it's now possible to send custom reactions by replying
|
||||
to a comment with /react <message>
|
||||
* now supports opening Matrix URI from the web browser
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Feb 25 18:52:07 UTC 2021 - ecsos <ecsos@opensuse.org>
|
||||
|
||||
- Update to 1.1.1
|
||||
- First launch experience improvements
|
||||
- Allow logins to servers requiring SSO
|
||||
- Display stickers
|
||||
- Allow editing messages
|
||||
- Multimodal mode to open a room into a new window
|
||||
- New chat commands
|
||||
- Better Plasma integration
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Feb 15 00:33:01 UTC 2021 - Tomas Cech <sleep_walker@opensuse.org>
|
||||
|
||||
- Add missing require libqt5-qtquickcontrols again.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Jan 16 10:14:57 UTC 2021 - Luca Beltrame <lbeltrame@kde.org>
|
||||
|
||||
- Adjust spec file to conform to the KDE team's guidelines
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jan 13 11:49:59 UTC 2021 - ecsos <ecsos@opensuse.org>
|
||||
|
||||
- Update to 1.0.1
|
||||
- NeoChat doesn't require a .well-know configuration in the
|
||||
server to work.
|
||||
- Edited messages won’t show up duplicated anymore.
|
||||
- NeoChat now ask for consent to terms and conditions if required
|
||||
instead of displaying nothing.
|
||||
- Users avatar in the room list are now displayed correctly.
|
||||
- Fix image saving
|
||||
- Various graphic glitches have been fixed.
|
||||
- Switch source from invent.kde.org to download.kde.org, because in
|
||||
git is not always the newest tar.
|
||||
- Add language subpackages.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jan 4 14:16:53 UTC 2021 - ecsos <ecsos@opensuse.org>
|
||||
|
||||
- Add missing require libqt5-qtquickcontrols.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Dec 23 14:17:40 UTC 2020 - ecsos <ecsos@opensuse.org>
|
||||
|
||||
- Change from git version to version 1.0
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Nov 23 15:12:10 UTC 2020 - Dead Mozay <dead_mozay@opensuse.org>
|
||||
|
||||
- Initial package
|
126
neochat.spec
Normal file
126
neochat.spec
Normal file
@ -0,0 +1,126 @@
|
||||
#
|
||||
# spec file for package neochat
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
# upon. The license for this file, and modifications and additions to the
|
||||
# file, is the same license as for the pristine package itself (unless the
|
||||
# license for the pristine package is not an Open Source License, in which
|
||||
# case the license is the MIT License). An "Open Source License" is a
|
||||
# license that conforms to the Open Source Definition (Version 1.9)
|
||||
# published by the Open Source Initiative.
|
||||
|
||||
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||
#
|
||||
|
||||
|
||||
%define kf6_version 6.3.0
|
||||
%define qt6_version 6.6.0
|
||||
|
||||
%bcond_without released
|
||||
Name: neochat
|
||||
Version: 24.08.3
|
||||
Release: 0
|
||||
Summary: A chat client for Matrix, the decentralized communication protocol
|
||||
License: BSD-2-Clause AND GPL-3.0-only AND GPL-3.0-or-later
|
||||
Group: Productivity/Networking/Instant Messenger
|
||||
URL: https://apps.kde.org/neochat/
|
||||
Source0: https://download.kde.org/stable/release-service/%{version}/src/%{name}-%{version}.tar.xz
|
||||
%if %{with released}
|
||||
Source1: https://download.kde.org/stable/release-service/%{version}/src/%{name}-%{version}.tar.xz.sig
|
||||
Source2: applications.keyring
|
||||
%endif
|
||||
# Needed for leap 15.5
|
||||
BuildRequires: cmark
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: kf6-extra-cmake-modules >= %{kf6_version}
|
||||
# Both kquickimageeditor flavors provide the same CMake target name, use the devel package name instead
|
||||
# BuildRequires: cmake(KQuickImageEditor)
|
||||
BuildRequires: kquickimageeditor6-devel
|
||||
BuildRequires: pkgconfig
|
||||
BuildRequires: cmake(KF6ColorScheme) >= %{kf6_version}
|
||||
BuildRequires: cmake(KF6Config) >= %{kf6_version}
|
||||
BuildRequires: cmake(KF6CoreAddons) >= %{kf6_version}
|
||||
BuildRequires: cmake(KF6Crash) >= %{kf6_version}
|
||||
BuildRequires: cmake(KF6DBusAddons) >= %{kf6_version}
|
||||
BuildRequires: cmake(KF6DocTools) >= %{kf6_version}
|
||||
BuildRequires: cmake(KF6I18n) >= %{kf6_version}
|
||||
BuildRequires: cmake(KF6ItemModels) >= %{kf6_version}
|
||||
BuildRequires: cmake(KF6KIO) >= %{kf6_version}
|
||||
BuildRequires: cmake(KF6Kirigami) >= %{kf6_version}
|
||||
BuildRequires: cmake(KF6KirigamiAddons) >= 0.7.2
|
||||
BuildRequires: cmake(KF6Notifications) >= %{kf6_version}
|
||||
BuildRequires: cmake(KF6Purpose) >= %{kf6_version}
|
||||
BuildRequires: cmake(KF6QQC2DesktopStyle) >= %{kf6_version}
|
||||
BuildRequires: cmake(KF6Sonnet) >= %{kf6_version}
|
||||
BuildRequires: cmake(KF6StatusNotifierItem) >= %{kf6_version}
|
||||
BuildRequires: cmake(KF6SyntaxHighlighting) >= %{kf6_version}
|
||||
BuildRequires: cmake(KF6WindowSystem) >= %{kf6_version}
|
||||
BuildRequires: cmake(KUnifiedPush)
|
||||
BuildRequires: cmake(QCoro6Core)
|
||||
BuildRequires: cmake(Qt6Core) >= %{qt6_version}
|
||||
BuildRequires: cmake(Qt6Gui) >= %{qt6_version}
|
||||
BuildRequires: cmake(Qt6Multimedia) >= %{qt6_version}
|
||||
BuildRequires: cmake(Qt6Quick) >= %{qt6_version}
|
||||
BuildRequires: cmake(Qt6QuickControls2) >= %{qt6_version}
|
||||
BuildRequires: cmake(Qt6Svg) >= %{qt6_version}
|
||||
BuildRequires: cmake(Qt6WebView) >= %{qt6_version}
|
||||
BuildRequires: cmake(Qt6Widgets) >= %{qt6_version}
|
||||
BuildRequires: cmake(QuotientQt6) >= 0.7.0
|
||||
BuildRequires: pkgconfig(icu-uc) >= 61.0
|
||||
BuildRequires: pkgconfig(libcmark)
|
||||
# It can only build on the same platforms as Qt Webengine
|
||||
ExclusiveArch: x86_64 %{x86_64} aarch64 riscv64
|
||||
Requires: kf6-kirigami-imports >= %{kf6_version}
|
||||
Requires: kf6-kitemmodels-imports >= %{kf6_version}
|
||||
Requires: kf6-kquickcharts >= %{kf6_version}
|
||||
Requires: kf6-prison-imports >= %{kf6_version}
|
||||
Requires: kf6-qqc2-desktop-style >= %{kf6_version}
|
||||
Requires: kf6-syntax-highlighting-imports >= %{kf6_version}
|
||||
Requires: kirigami-addons6 >= 0.7.2
|
||||
Requires: qt6-location >= %{qt6_version}
|
||||
Requires: qt6-positioning-imports >= %{qt6_version}
|
||||
Requires: qt6qmlimport(org.kde.kquickimageeditor.1)
|
||||
|
||||
%description
|
||||
Neochat is a client for Matrix, the decentralized communication protocol for
|
||||
instant messaging.
|
||||
|
||||
%lang_package
|
||||
|
||||
%prep
|
||||
%autosetup -p1
|
||||
|
||||
%build
|
||||
%cmake_kf6
|
||||
|
||||
%kf6_build
|
||||
|
||||
%install
|
||||
%kf6_install
|
||||
|
||||
%fdupes %{buildroot}
|
||||
|
||||
%find_lang %{name} --all-name --with-man
|
||||
|
||||
%files
|
||||
%license LICENSES/*
|
||||
%doc README.md
|
||||
%{_kf6_applicationsdir}/org.kde.neochat.desktop
|
||||
%{_kf6_appstreamdir}/org.kde.neochat.appdata.xml
|
||||
%{_kf6_bindir}/neochat
|
||||
%{_kf6_debugdir}/neochat.categories
|
||||
%{_kf6_iconsdir}/hicolor/*/apps/org.kde.neochat.svg
|
||||
%{_kf6_iconsdir}/hicolor/scalable/apps/org.kde.neochat.tray.svg
|
||||
%{_kf6_mandir}/man1/neochat.1%{?ext_man}
|
||||
%dir %{_kf6_plugindir}/kf6/purpose
|
||||
%{_kf6_plugindir}/kf6/purpose/neochatshareplugin.so
|
||||
%{_kf6_notificationsdir}/neochat.notifyrc
|
||||
%{_kf6_sharedir}/krunner/dbusplugins/plasma-runner-neochat.desktop
|
||||
%{_kf6_sharedir}/dbus-1/services/org.kde.neochat.service
|
||||
|
||||
%files lang -f %{name}.lang
|
||||
|
||||
%changelog
|
Loading…
Reference in New Issue
Block a user