* Sun Sep 10 2023 ecsos@opensuse.org
- Update to version 0.0.95.84+git.20230827.3d7083a:
* DockModeMenu: fix building with Qt 6
* Update translation base
* Prepare for windowHandle() where it's actually needed
* DockModeMenu: a better menu to handle dock panels
* Remove unused QML registration for RoomMessageEvent
* Update to lib 0.8.1.1
* ci.yml: refresh the comment on code conventions
* Pass the name without .desktop to setDesktopFileName()
* Sat Aug 19 2023 ecsos@opensuse.org
- Update to version 0.0.95.83+git.20230811.f8cb856:
* CMakeLists.txt: mark warning support flags as advanced
* CMakeLists.txt: set symbol visibility to match libQuotient
* Room topic: fix mouse cursor shape; don't show URLs in status bar
* Update Flatpak local manifest again
* main.cpp: +git again
* Update Flatpak local manifest
* 0.0.96-beta4
* Enable selecting the room topic with mouse again
* CI, GH Releases: make sure to use the existing draft
* Lokalise: updates
* Update translation base
* Make attachment pasting messages clearer
* Document logging categories in Quaternion
* Factor out chatView.scrollTimer to ScrollFinisher
* Make timeline scrolling less sluggish
* Fri Jul 28 2023 ecsos@opensuse.org
- Update to version 0.0.95.83+git.20230728.28eef67:
* Use logging categories throughout Quaternion
* Use logging categories in QML
* Further modernize QML; use QQC2 tooltips instead of status bar
* More refactoring in HtmlFilter::runOn()
* HtmlFilter: fix importing plain text and even some HTML
* HtmlFilter: fix monospace formatting being lost
* MainWindow::sslErrors(): check that the network reply is alive
* MainWindow: update the logic to the current AccountRegistry
* Ensure E2EE setting on the connection matches that in the login dialog
* Eliminate remaining QML warnings when on Qt 6
* TimelineWidget: clean up old code
* Timeline: Modernise QML code; use more of QQC2
* TimelineItem: drop a no more relevant comment
* Timeline: abuse disabled color palette less
* Render timestamps on C++ side
* Thu Jul 13 2023 ecsos@opensuse.org
- Update to version 0.0.95.83+git.20230713.5483620:
* CI: fine tune GH Release creation a bit more
* main.cpp: +git again
* CI: further fine tune GH Release creation
* Update AppData
* ci.yml: Fix a typo
* GitHub Releases: omit release name and body entirely
* 0.0.96-beta3
* Do not add AppImage at GitHub Releases
* CMakeLists.txt: build with Qt 6 by default
* Revive flatpak/ contents
* Add 0.0.96.82 to appdata.xml
* Update quaternion_en.ts again
* TimelineItem: drop properties that are only used once
* TimelineSettings: prefer a shorter default value
* Use normal QQC2 propagation of font and palette
* Don't show LoginDialog if some accounts are loading
* MainWindow: only setEncryptionDefault() when it's there
* Update quaternion_en.ts
* Lokalise: updates
* A few more updates in BUILDING.md
* Update documentation
* ImageProvider: Use `QPointer` where appropriate
* Fix a QML warning
* Drop no more needed stuff
* One last attempt to fix AppImage
* CI: Install Qt on Linux via apt
* Start phasing out Qt 5
* CI: No need to install OpenSSL, it's already there
* Stop building with Qt 5 anywhere except Linux
* Build artifacts with Qt 6
* CI: bump CI versions
* Add a missing #include
* Drop NAM::instance() where it's not needed
* Update to lib 0.8 final tag
* BUILDING.md: say that we're on lib 0.8 now
* Use new Change constants instead of deprecated
* Only add accounts to the registry after successful login
* Refactor ConnectionInitiator
* CMakeLists: Drop no more needed include_directories(lib)
* Make E2EE switchable per-connection
* Drop Quotient/logging.h inclusions
* Use MainWindow-owned AccountRegistry
* MessageEventModel: use class name instead of Event::type()
* More QML fixes
* Modernize QML for Qt 6
* Revert "TimelineItem: nicer message highlighting"
* Use lib 0.8 beta
* CMakeLists: Drop DBus from dependencies
* CI: fix building with dynamic Quotient and Qt 6
* Solve it in a more traditional way
* Address deprecation warnings from Qt 6
* Switch to lib 0.8
* Check for image MIME data before HTML data
* Update to lib 0.7.2
* Wed Apr 26 2023 ecsos@opensuse.org
- Update to version 0.0.95.81+git.20230421.5cddd9a:
* Clean up a few deprecations
* BUILDING.md: mention QtGraphicalEffects in deps list
* Timeline.qml: remove unused import
* Drop the former line no more needed
* Remove COPYING
* Use SPDX headers instead of traditional copyright headers
* readme: remove lgtm badge
* +git again
* Sun Apr 02 2023 ecsos@opensuse.org
- Update to version 0.0.96beta1+git.20230402.2b4c04a:
* AppData: fix a typo
* 0.0.96 beta
* Use Qt 5.15+ convention to define QML Connections objects
* Update translation base
* Add a comment for translators
* Drop adaptations for Qt older than 5.15
* Update documentation for 0.0.96 beta
* Workaround #861 by pinning lib to the older working commit
* Use own invokeLogin() instead of that in Quotient::AccountRegistry
* Cleanup
* Stop using Accounts singleton
* Use std::array instead of a C array
* LoginDialog: reuse saved accounts
* CI: avoid Qt 6.5 for now
* Lokalise: updates
* .clang-format: update from that in libQuotient
* Update to lib 0.7.1
* TimelineTextEditSelector: fix selection extension
* Update client/chatedit.cpp
* CI: fix packaging AppImage
* RoomListModel: refresh room if highlights changed
* Chatedit: make default paste mode configurable
* TimelineTextEditSelector: enable preventStealing
* Sat Jan 07 2023 ecsos@opensuse.org
- Update to version 0.0.95.1+git.20230106.0315b39:
* Cleanup, mostly of things deprecated in lib 0.7
* Update to even newer lib to fix QtKeychain linking problem
* Enable E2EE in CI
* Use -platform instead of QT_QPA_PLATFORM
* Hack around Cloudsmith action not accepting globs
* Update to even newer lib to fix QtKeychain linking problem
* Consolidate and refactor packaging
* Update to the latest lib (pre-0.7.1)
* Fix finding qtkeychain
* Port to libQuotient's keychain and connection handling
* Modernize actions code
* Make sure install directories are configured early on
* CMakeLists: Qt 6 doesn't build on macOS below 10.15
* Configure checks with extra matrix variables
* Make CI matrix similar to that for libQuotient
* Install Ninja along with Qt
* Check that translations actually get installed
* Sat Dec 24 2022 ecsos@opensuse.org
- Update to version 0.0.95.1+git.20221223.dd02ec8:
* Fix building translations (for both Qt 5 and Qt 6)
* Update to lib 0.7.0
* Wed Dec 21 2022 ecsos@opensuse.org
- Update to version 0.0.95.1+git.20221221.3c5ca95:
* Adapt to isReplaced being moved to RoomMessageEvent
* Simplify and fix qrc registration
* Sat Oct 29 2022 ecsos@opensuse.org
- Update to version 0.0.95.1+git.20221005.e69bbb7:
* Fix building with Qt 6
* Use QtKeychain unconditionally
* CMakeLists: add flags more carefully for non-Windows
* CI: add Qt 6
* AppImage: install libraries linuxdeploy looks for
* Bump to the even more latest lib
* CI: use the offscreen QPA plugin instead of xvfb-run
* CI: fix missing qt-version specification
* Update CI (not Qt 6 yet)
Version: 0.0.95.1-bp155.1.7
* Thu Oct 07 2021 ecsos <ecsos@opensuse.org>
- Update to 0.0.95.1
- (7e09091, 3219b08) Fixed a few other (less severe though) HTML
injection discovered since #789 - thanks to nephele for
spotting those.
- (410a832) Adjust the #789 fix so that it doesn't over-escape
HTML when showing and processing clicks on reactions.
- (#782, #793) Fix bugs in saving the timeline position when
rooms are switched, and also accurately restoring the timeline
position afterwards, as well as upon clicking on the "Scroll to
read marker" button.
- (775245d) When the event with the read marker is not loaded
yet, clicking on the "Scroll to read marker" button will load
more history. Subsequent clicks will either load even more
history or, once the read marker is found, scroll to it.
- (#800) Fix user display names actually getting their colours in
the timeline, instead of being all shown in deep red.
- (#803) Rich text pasting from programs such as LibreOffice
actually works now.
- (#805) Fix a crash upon login with a correct password after
entering it incorrectly in the previous attempt.
- Prebuilt binaries at GitHub Releases use libQuotient 0.6.11
with its own set of fixes.
* Fri Sep 24 2021 ecsos <ecsos@opensuse.org>
- Update to 0.0.95
The complete list is (134 closed issues and 690 commits).
See https://github.com/quotient-im/Quaternion/releases/tag/0.0.95
* Fri Jan 15 2021 ecsos <ecsos@opensuse.org>
- Update to 0.0.9.4f
This is a rebuild of exactly the same code as 0.0.9.4e to package
newer Qt (5.14) and move away from the dependency on no more
supported OpenSSL 1.0. Users on macOS are not affected, as the
newer Qt has already been used to build 0.0.9.4e. Linux users are
strongly encouraged to use distributions with Qt 5.12 and newer
or otherwise ensure they are not sitting on the same outdated
OpenSSL dependency.
* Wed Apr 01 2020 ecsos@opensuse.org
- Update to 0.0.9.4e
- Another quick-fixup release, using libQMatrixClient 0.5.3.2,
and fixing an occasional crash upon a successful SSO login
(described in an issue with a fancy number #666)
* Wed Apr 01 2020 ecsos@opensuse.org
- Change to needed libqmatrixclient version 0.5.3
* Tue Mar 31 2020 ecsos@opensuse.org
- Update to 0.0.9.4d
This is a "sustaining" "rebuild" of the "stable" (that is - users
know its bugs by now) Quaternion on top of libQMatrixClient
0.5.3.1. Unlike previous rebuilds, this incorporates two major
changes in Quaternion itself, backported from the master branch:
- (#653) Single sign-on support, to help Mozilla homeserver users
- (#663) Interoperability with Pantalaimon, to help practically
any Matrix user who agrees to use Pantalaimon as an E2EE proxy.
* Wed Jan 29 2020 ecsos@opensuse.org
- Update to 0.0.9.4c
- A problem that led to appstream-util validate failure
preventing correct construction of Flatpaks has been fixed.
- Run spec-cleaner.
* Thu May 30 2019 ecsos@opensuse.org
- Add missing requires libqt5-qtquickcontrols and
libqt5-qtquickcontrols2.
* Mon Apr 29 2019 ecsos@opensuse.org
- Update to 0.0.9.4
The full lists of (closed issues and commits) are quite long but
here are the key additions and changes:
- Feature (#187): native scrollbars can be used instead of
shuttle dials.
- Feature (#32, #209): attachments support; an image or other
file can be posted to a room, with automatic media type
detection.
- Feature (#507): basics of internal navigation
(still limited, the work is ongoing):
- rooms (only those in your room list for now) can be opened
using "Open room" dialog (Ctrl-O) - by their id, alias or
matrix.to URL;
- direct chats can be opened by entering the user ID or the
matrix.to URL into the same dialog;
- moreover, middle-clicking on a user id/matrix.to link in
the timeline also opens a direct chat;
- navigating to event permalinks is not there yet, pending
support in libQMatrixClient (give your votes in
QMatrixClient/libqmatrixclient#252).
- Feature (#437): user list can be searched and filtered
- Feature: support for room versions: room version can be chosen
when creating a room (not a direct chat though; will be fixed
in 0.0.9.5) and is displayed and can be upgraded in the
settings room.
- Feature (#484): Quaternion can use Qt Keychain now to securely
store access tokens (thanks to @ddanilov). Although this works
on Windows as well, the Windows binaries available from here
don't have it yet.
- Feature (#123): Timeline can be scrolled using
Ctrl-PageUp/PageDown and (if directly focused) Up and Down keys.
This is a tentative implementation that may work in some edge
cases; 0.0.9.5 may bring something more robust.
- Feature (#277): horizontal scrolling for messages with wide
preformatted parts.
- Feature (#403 and #476): Quaternion can close to tray and also
start minimised to tray (thanks to @ddanilov and @krkk).
- Feature (#509/#535): Configurable message quoting (plain text
only) is implemented. Replies and rich-text quoting are left
for a later version.
- Feature (#455): if the server supports it, room members are
lazy-loaded; this should greatly improve initial sync times
while otherwise being almost invisible for end users.
- Enhancement (#445): local echo can be suppressed
(UI/suppress_local_echo in config).
- Enhancement (#451): more actions in right-click menus for the
room list and the user list (thanks to @krkk).
- Enhancement (#381): middle-click on a room name in the room
list opens this room; middle-click on a user name in the user
list opens a direct chat with the user.
- Enhancement (#448, #483): timeline scrolling is more responsive.
- Enhancement (#246): when typing a very long message,
the message input only increases its height up to a limit,
and scrolls after that.
- Enhancement (#338): similarly, longer multiline topics no more
strut the room header to no limit.
- Enhancement (#505): Quaternion now warns about attempts to
login twice into the same account (thanks to @krkk).
- Enhancement (#491, #471/#478): room creation events and
withdrawn invitations (thanks to @krkk) are correctly displayed
in the timeline; also unknown state events got a clearer
timeline description (even if a bit techy as it uses the state
event type and key verbatim).
- Enhancement (#558): better validation of room/user ids in
/commands.
- Enhancement (#500): no more scary "unencrypted" word in the
message placeholder text - the used protocol (HTTP or HTTPS)
is mentioned instead.
- Enhancement (#555): /shrug gained an optional text argument.
- Enhancement: instead of an error message with no clear way out
expired tokens now lead to a handy re-login dialog.
- Enhancement: the room settings dialog now shows room id.
- Enhancement: Ctrl-Q to quit also works on Windows.
- Bugfix (#546): HTML in author display names is properly
escaped.
- Bugfix (#566): fixed crashing upon logout.
- Bugfix (#524): fixed crashing after changing the tag order.
- Bugfix (#532): the login dialog is now prefilled with the
first not-logged-in account, rather than an arbitrary account.
- Bugfix (#559): fixed not remembering the bottommost timeline
position after clicking the "Scroll to bottom" button.
- Bugfix (#564): In the "Add tags" dialog, the Tab key now
switches focus instead of entering a Tab character.
- Bugfix (#486/#488): more accurate logic for user name
highlighting (thanks to @redsky17).
- Bugfix (#511): ban reason is displayed in the timeline now.
- Bugfix (#542): the to-be-created alias is displayed correctly
in the room creation dialog (the actually created alias has
always been correct).
- Bugfix (#499): expanded/collapsed state of room groups is
correctly remembered and restored.
- Bugfix (#492): tab order in the login dialog is reasonable
now.
- Bugfix (#490): window title and room caption get updated
when the room is renamed etc. now.
- Bugfix: no more visual glitches when animation duration is
configured to 0.
- General bug fixing and performance tweaking.
- Lots of work on i18n and l10n
* Thu Apr 18 2019 ecsos@opensuse.org
- Update to 0.0.9.4-rc3
- (#573) Resend and Discard buttons work again
- (#566) A crash upon logout has been fixed
- (#577) A confirmation to continue use an unstable version is
only displayed now to those who can upgrade rooms
- Zeroing the animations duration no more leads to artifacts from
incomplete animations
- (#532) Expired access tokens are now processed gracefully,
with a prompt to re-login
- (#564) Hitting Tab in the "Add tags" dialog switches focus as
proper instead of entering a tab character
* Sat Apr 06 2019 ecsos@opensuse.org
- Update to 0.0.9.4-rc2
This Release Candidate fixes two bugs in RC1:
- Renaming the user no more causes multiple incarnations of it
in the user list (this one is also fixed in libQMatrixClient
0.5.1.1 but even if you run 0.5.1, it won't happen in
Quaternion anymore).
- The correct account is used to complete users/rooms in the
"Open room" dialog.
- Change BuildRequire for libqmatrixclient to 0.5.1
* Fri Apr 05 2019 ecsos@opensuse.org
- Update to 0.0.9.4-rc
- Fix (#524): Quaternion no more crashes after changing the order
of tags.
- Fix (#546): HTML pieces in display names are correctly escaped
now.
- Fix: In Add tags dialog, empty lines are no more treated as
empty tag names, just skipped.
- Fix (#558): Regular expressions checking arguments of
slash-commands have been fixed to match the Matrix identifiers
grammar - thanks to nepugia.
- Fix (#559): The bottommost scroll position is also remembered
if the last thing before switching away from the room was
clicking the Scroll to bottom button.
- Fix (#500): Instead of scaring people away with the word
unencrypted, a used protocol is now clearly indicated in the
message placeholder line (hopefully, most people using
Quaternion do know what HTTP and HTTPS mean).
- Fix (#542): If the domainpart used by your homeserver does not
coincide with the actual domain for connections, Quaternion
doesn't confuse you anymore with incorrectly constructed room
aliases in the Room settings dialog (e.g.,
[#]alias:matrix.example.org instead of #alias:example.org).
This was just a visual wart; no actual aliases have been hurt.
- Fix (#568): uploaded images are displayed in the timeline again,
after being broken for the most time of 0.0.9.4 development
(0.0.9.3 didn't have uploading at all).
- Enhancement: The room settings dialog now includes the room id.
A few enhancements have arrived thanks to @krkk:
- #555: /shrug now accepts optional text after it. ¯\_(ツ)_/¯
- #557: The text in the users list filter is saved with rooms
now; when you switch a room, it's flushed/switched as well.
- #547: Open room dialog now suggests canonical room aliases
(from the local room list) and user ids (from all known users),
as you type. Non-canonical aliases need
QMatrixClient/libqmatrixclient#301 to be fixed (unfortunately,
it will only come in libQMatrixClient 0.6 due to compatibility
breakage).
* Wed Apr 03 2019 ecsos@opensuse.org
- Update to 0.0.9.4-beta2
- This version uses the freshly released libQMatrixClient
0.5.0.2, fixing issues with upgraded rooms (debug builds no
more crash upon seeing some of them) and with v3 rooms
(read receipts and redactions now work with v3 rooms too).
In case you wonder - #gsoc:matrix.org has been recently
upgraded to v3.
- (#338) The room header no more streches too far on long
multiline topics; and along the way, it gained swanky
animations!
- Open room dialog fixed when there's just one account.
- (#530) Quaternion no more crashes upon attempts to search
a user with no room opened. Actually, it even disables the search box for the avoidance of doubt.
- (#534) Uploading files with no supplementary text works now.
- Updated translations.
- CI builds for all platforms including Windows can now be found
in one place at bintray.
- Changes from 0.0.9.4-beta1
- #484: Qt Keychain support to securely store access tokens
- #507: Finally, some basics of internal navigation from the
timeline:
- rooms can be opened using Open room dialog (Ctrl-O) - by
their id, alias or matrix.to URL;
- moreover, direct chats can be opened by entering the user ID
or matrix.to URL into the same dialog;
- and even more, middle-clicking on a user id/matrix.to link
in the timeline also opens a direct chat.
- navigating to event permalinks is not there yet, pending
support in libQMatrixClient (give your votes in
QMatrixClient/libqmatrixclient#252).
- #187: Native scrollbars can be used instead of shuttle
scrollbars.
- #448, #483: there's been a bit of working on more responsive
scrolling. If scrolling still feels unnatural, please leave
a note in #483.
- #123: Timeline can be scrolled using Ctrl-PageUp/PageDown and
(if directly focused) Up and Down keys. This is a tentative
implementation but is likely to be around at least until
0.0.9.5.
- #32, #209: Attachments support; an image or other file can be
posted to a room, with automatic media type detection.
No support for thumbnailing yet (which causes #518).
- #437: User list can be searched and filtered
- #455: If the server supports it, room members are lazy-loaded;
the full list for the given is requested upon switching to it
though. Normally this should a no change for end users.
- #403 and #476: Quaternion can close to tray and also start
minimised to tray (thanks to @ddanilov and @krkk).
- #381: middle-click on a room name in the room list opens this
room; middle-click on a user name in the user list opens
a direct chat with the user (thanks to @krkk).
- #517: for those who build from sources: -DUSE_INTREE_LIBQMC is
ON by default; however, if CMake doesn't find in-tree library
sources, it will try to look around for an installed library
development files. Pass -DUSE_INTREE_LIBQMC=OFF to suppress
the fallback.
* Mon Nov 05 2018 ecsos@opensuse.org
- update to 0.0.9.3
- Feature (#323): rooms are grouped by tag now. This is not
configurable for now but will be before version 0.1.
- Feature (#76): Local echo, with buttons to discard and resend
the message (#390).
- Feature (#248): Optionally hiding join/leave events and
redactions.
- Feature (#324): Quaternion now has the About dialog box
(thanks to @rushsteve1), with information about Git -commits
(selectable!) and links to contributors etc.
- Feature (#372): /ignore and /unignore
- Feature (#379): /html to send HTML instead of plain text
- Enhancement (#371): non-members can be /banned too.
- Enhancement (#370): change the way events are highlighted in
the timeline (background is tinted instead of text color
changed).
- Change (#239): by default, Quaternion now compiles against
externally installed libQMatrixClient, rather than a submodule.
Read BUILDING.md to enable the previous way of building
(with lib as a submodule).
- Add language file.
- Need now qt5 >= 5.6 again.
* Tue Oct 16 2018 ecsos@opensuse.org
- update quaternion to rc0.0.9.3
- README.md: Refresh documentation
- Need now libqmatrixclient >= 0.4.0 and qt5 >= 5.10
* Mon Aug 20 2018 ecsos@opensuse.org
- update to 0.0.9.2
Another step towards 0.1, this version is based on
libQMatrixClient 0.3.0.2 and includes the following changes:
- Enhancement: the "Settings" menu now has most settings that are
worth exposing to the user.
- Fix (#312): Date label (and author, if you use the new-Default
timeline layout) is now correctly hidden when older messages
get loaded to the timeline.
- Experimental: Introduced a new compilation flag,
USE_QQUICKWIDGET, switching the way QML is embedded into
Quaternion; try to use it if you have problems like #355/#356.
- Unified reporting about failed network requests;
show "Consent not given" errors in a user-friendly way.
- Minor fixes in CI.
- Remove included libmatrixclient and use package libqmatrixclient
as BuildRequire.
* Tue May 01 2018 ecsos@opensuse.org
- update quaternion to 0.0.9
Redactions
Files downloading (no uploading yet)
Room creation and editing room settings (the settings are limited for now)
Support of editing room tags (see in Room settings) and direct chats (right-click on the user in the userlist); grouping rooms by tag will come in Quaternion 0.1
Support of authenticating proxy servers
Proper messages to the user about SSL errors including self-signed certificates (and ability to confirm or reject them on individual basis)
The scrollbar now visualises the current position among already cached events
Massive treatment of issues with timeline: fonts aligned, lost images no more lost, stick-to-bottom logic works better, smoother and less CPU-hungry scrolling etc.
Scroll state is remembered on a per-room basis (not across restarts yet)
No more splash screen, since Quaternion starts up faster now
As usual, plenty of work on stability, performance and memory footprint
Thanks to all who helped! Quaternion 0.1 comes soon!
- update libmatrixclient to 0.2.1
* Fri Jan 19 2018 ecsos@opensuse.org
- initial version 0.0.5