Skip to content

Commit 53be5b2

Browse files
committed
0.0.97.1
1 parent 3806c54 commit 53be5b2

File tree

6 files changed

+91
-69
lines changed

6 files changed

+91
-69
lines changed

BUILDING.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -169,10 +169,12 @@ Whenever you want to update your Quaternion package, do the following from the f
169169
flatpak --user update
170170
```
171171

172-
Be mindful that since Quaternion 0.0.97 beta the Flatpak app-id has changed: it used to be
172+
Be mindful that since Quaternion 0.0.97 the Flatpak app-id has changed: before it used to be
173173
`com.github.quaternion`, now it's `io.github.quotient_im.quaternion`, to align with
174174
[Flathub verification rules](https://docs.flathub.org/docs/for-app-authors/verification/).
175-
Normally, Flatpak should seamlessly handle an upgrade; if it doesn't, send us an issue.
175+
Normally, Flatpak should seamlessly handle an upgrade; if it doesn't, make an issue at either the
176+
main Quaternion repo (https://github.com/quotient-im/Quaternion) or at the Quaternion Flatpak repo
177+
(https://github.com/flathub/io.github.quotient_im.Quaternion) - we'll route it as needed.
176178

177179
## Troubleshooting
178180

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ endif()
66
set(IDENTIFIER "io.github.quotient_im.Quaternion")
77
set(COPYRIGHT "Copyright © The Quotient Project contributors")
88

9-
project(quaternion VERSION 0.0.97 LANGUAGES CXX)
9+
project(quaternion VERSION 0.0.97.1 LANGUAGES CXX)
1010

1111
if(UNIX AND NOT APPLE)
1212
set(LINUX 1)

README.md

Lines changed: 52 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -34,12 +34,12 @@ The source code is [hosted at GitHub](https://github.com/quotient-im/Quaternion)
3434

3535
### Requirements
3636

37-
Quaternion 0.0.97 needs Qt version 6.4 or higher.
37+
Quaternion 0.0.97.1 needs Qt version 6.4 or higher.
3838

3939
### Linux
4040
Quaternion is packaged for many distributions, including various versions of
4141
Debian, Ubuntu and OpenSUSE, as well as Arch Linux, NixOS and FreeBSD.
42-
A pretty comprehensive list can be found at
42+
A pretty comprehensive up-to-date list can be found at
4343
[Repology](https://repology.org/project/quaternion/versions). Popular
4444
distributions satisfying the mentioned Qt requirement are Debian 12 (Bookworm),
4545
Ubuntu 24.04 (noble), Fedora 39, OpenSUSE Leap 15.6; anything newer than that
@@ -52,12 +52,12 @@ report it to your distribution's Quaternion packager, _not_ to this repository.
5252
There are also flatpaks for Quaternion available from Flathub. To install, use:
5353

5454
```
55-
flatpak install https://flathub.org/repo/appstream/com.github.quaternion.flatpakref
55+
flatpak install https://flathub.org/repo/appstream/io.github.quotient_im.Quaternion.flatpakref
5656
```
5757

5858
These packages are built with a suitable KDE runtime. You can install them on
5959
any distribution that has Flatpak - even if it's older than mentioned above.
60-
Please file issues at https://github.com/flathub/com.github.quaternion
60+
Please file issues at https://github.com/flathub/io.github.quotient_im.Quaternion
6161
if you believe there's a problem specific to the Flatpak package of Quaternion.
6262

6363
### Windows
@@ -89,7 +89,7 @@ A few important notes on these packages in case you're new to them:
8989
- All of them come bundled with fairly recent (not necessarily latest) Qt 6.
9090
- They are only provided for testing; feedback on _any_ release is welcome
9191
as long as you know which build you run, but do not expect the developers
92-
to address issues in any but the latest snapshot.
92+
to address issues in older snapshots.
9393
- In case it's still unclear: these builds are UNSTABLE by default; some may
9494
not run at all, and if they do, they may ~~tell you obscenities in your
9595
local language, steal your smartphone, and share your private photos~~
@@ -100,7 +100,7 @@ A few important notes on these packages in case you're new to them:
100100
- If you understand the above, have your backups in order and are still willing to try things out
101101
or just generally help with the project - make sure to `/join #quotient:matrix.org` and have
102102
the URL you downloaded Quaternion from. In case of trouble, ~~show this label to your doctor~~
103-
send the URL to the binary you used in the chat room (you may need to use another client or
103+
send the URL to the binary you used in the chat room (you may have to use another client or
104104
Quaternion version for that), describe what happened and we'll try to pull you out of it.
105105

106106
If you want to build Quaternion from sources, see [BUILDING.md](./BUILDING.md).
@@ -116,18 +116,18 @@ section further below.
116116
## Translation
117117
Quaternion uses [Lokalise.co](https://lokalise.co) for the translation effort.
118118
It's easy to participate:
119-
[join the project at Lokalise.co](https://lokalise.co/public/730769035bbc328c31e863.62506391/),
120-
ask to add your language (either in
119+
[join the project at Lokalise.co](https://lokalise.co/public/730769035bbc328c31e863.62506391/);
120+
if your language is not there, ask to add it (either in
121121
[#quotient:matrix.org](https://matrix.to/#/#quotient:matrix.org) or in
122-
the Lokalise project chat) and start translating! Many languages are still
122+
the Lokalise project chat); and start translating! Many languages are still
123123
longing for contributors.
124124

125125

126126
## Configuration
127127
The only non-trivial command-line option available so far is `--locale` - it
128128
allows you to override the locale Quaternion uses (an equivalent of setting
129-
`LC_ALL` variable on UNIX-based systems). Version 0.0.97 comes with German,
130-
Russian, Polish, and Spanish translations.
129+
`LC_ALL` variable on UNIX-based systems). German, Russian, Polish, and Spanish translations are
130+
either complete or mostly complete, as of this writing.
131131

132132
Quaternion stores its configuration in a way standard for Qt applications, as
133133
described below. It will read and write the configuration in the user-specific
@@ -163,22 +163,21 @@ Some settings exposed in the user interface (Settings and View menus) are:
163163
set to "xchat", Quaternion will show the author to the left of each message,
164164
in an xchat/hexchat style. Any other value will select the "default" layout,
165165
with author labels above blocks of messages.
166-
- `use_shuttle_dial` - Quaternion will use a shuttle dial instead of
167-
a classic scrollbar for the timeline's vertical scrolling control. To start
168-
scrolling move the shuttle dial away from its neutral position in the middle;
169-
the further away you move it, the faster you scroll in that direction.
170-
Releasing the dial resets it back to the neutral position and stops scrolling.
171-
This is more convenient if you need to move around without knowing
172-
the position relative to the edges, as is the case of a Matrix timeline;
173-
however, the control is somewhat unconventional and not all people like it.
174-
The shuttle dial is enabled by default; set this to false (or 0) to use
175-
the classic scrollbar.
176-
- `autoload_images` - whether full-size images should be loaded immediately
177-
once the message is shown on the screen. The default is to automatically load
178-
full-size images; set this to false (or 0) to disable that and only load
179-
a thumbnail in the timeline (with the full image downloaded after you click
180-
"Save as" or "Open" in the context menu). Check out
181-
https://github.com/quotient-im/Quaternion/issues/601 for the caveat.
166+
- `use_shuttle_dial` - Quaternion will use a shuttle dial instead of a classic scrollbar for
167+
the timeline's vertical scrolling control. To start scrolling move the shuttle dial away from its
168+
neutral position in the middle; the further away you move it, the faster you scroll in that
169+
direction. Releasing the dial resets it back to the neutral position and stops scrolling.
170+
This is more convenient than the classic scrollbar when you need to move around with bounds of
171+
the timeline constantly changing, as is the case of a Matrix timeline (older messages get loaded
172+
as you scroll back, and new messages can come from sync too, making the classic scrollbar jump
173+
around); with that said, the control is somewhat unconventional and not all people like it.
174+
The shuttle dial is enabled by default; set this to false (or 0) to use the classic scrollbar.
175+
- `autoload_images` - whether full-size images should be loaded immediately once the message is
176+
shown on the screen. The default is to automatically load full-size images; set this to false
177+
(or 0) to disable that and only load a thumbnail in the timeline (with the full image downloaded
178+
after you click "Save as" or "Open" in the context menu) but be aware that if a message doesn't
179+
have a thumbnail at all you won't see anything (see also
180+
https://github.com/quotient-im/Quaternion/issues/601).
182181
- `show_spammy` ("Show no-effect activity" in the menu) - when set to `false`, this setting tries
183182
to clean up the timeline from events that don't contribute to conversation in any reasonable way,
184183
such as messages from a recently joined user that are all redacted - a typical case of moderation
@@ -217,22 +216,23 @@ Settings not exposed in UI:
217216
- `animations_duration_ms` - defines the base duration (in milliseconds) of
218217
animation effects in the timline. The default is 400; set it to 0 to disable
219218
animation.
220-
- `outgoing_color` - set this to the color name you prefer for text you sent; HTML color names and
221-
hex `#codes` are supported; by default it's `#4A8780` (a brownish tint of teal - no science
222-
behind that, just an arbitrary shot in a color picker).
223-
- `highlight_color` - set this to the color name you prefer for highlighted rooms/messages;
224-
HTML color names and hex `#codes` are supported; by default it's `orange`.
219+
- `outgoing_color` - set this to the name or hex code (3- or 6-digit) of the colour you prefer
220+
for text you sent; by default it's `#4A8780` (a brownish tint of teal - no science behind that,
221+
just an arbitrary shot in a color picker).
222+
- `highlight_color` - set this to the name or hex code (3- or 6-digit) of the colour you prefer
223+
for highlighted rooms/messages; by default it's `orange`.
225224
- `highlight_mode` - set this to `text` if you prefer to use the text color
226225
for highlighting; the default is to use the background for highlighting.
227226
- `use_human_friendly_dates` - set this to false (or 0) if you do NOT want
228227
usage of human-friendly dates ("Today", "Monday" instead of the standard
229228
day-month-year triad) in the UI; the default is true.
230229
- `show_noop_events` - set this to 1 to show state events that do not alter
231230
the state (you'll see "(repeated)" next to most of those).
232-
- `quote_style` - the quote template. The `\\1` means the quoted string.
233-
By default it's `> \\1\n`.
234-
- `quote_regex` - set to `^([\\s\\S]*)` to add `UI/quote_style` only at
235-
the beginning and end of the quote. By default it's `(.+)(?:\n|$)`.
231+
- `quote_style` - the quote template. `\\1` means the quoted string; by default it's `> \\1\n`
232+
(i.e., `> ` prepended before each line of the quoted string).
233+
- `quote_regex` - set to `^([\\s\\S]*)` to add `UI/quote_style` only at the beginning and the end
234+
of the quote; by default it's `(.+)(?:\n|$)`, meaning that each line is quoted with `quote_style`
235+
separately.
236236
- `Fonts/render_type` - select how to render fonts in Quaternion timeline;
237237
possible values are "NativeRendering" (default) and "QtRendering".
238238
- `Fonts/family` - override the font family for the whole application.
@@ -245,18 +245,16 @@ Settings not exposed in UI:
245245
- `Fonts/timeline_pointSize` - font size (in points) to display messages
246246
in the timeline. If not specified, the application-wide point size is used.
247247
- `maybe_read_timer` - threshold time interval in milliseconds for a displayed
248-
message to be considered as read.
249-
- `hyperlink_users` - set this to false (or 0) if you do NOT want to
250-
hyperlink matrix user IDs in messages. By default it's true.
251-
- `auto_markdown` (EXPERIMENTAL) - since version 0.0.95 Quaternion has
252-
experimental support for Markdown when entering messages. Quaternion only
253-
treats the message as Markdown if the message starts with `/md` command (the
254-
command itself is removed from the message before sending). Setting
255-
`auto_markdown` to `true` enables Markdown parsing in all messages that
256-
_do not_ start with `/plain` instead. By default, this setting is `false`
257-
since the current support of Markdown by Qt is buggy, and the implementation
258-
in Quaternion has its own quirks on top of that. If you have it enabled
259-
(or use `/md` command) feel free to submit bug reports at the usual place.
248+
message to be considered as read if it's still displayed after that interval.
249+
- `hyperlink_users` - set this to false (or 0) if you do NOT want to hyperlink matrix user IDs
250+
in messages; by default it's true, meaning that user IDs will be turned to hyperlinks
251+
- `auto_markdown` (EXPERIMENTAL) - since version 0.0.95 Quaternion has experimental support for
252+
Markdown when entering messages. Normally, Quaternion only treats the message as Markdown if
253+
it is prepended by `/md` command (the command itself is removed from the message before sending).
254+
Setting `auto_markdown` to `true` enables Markdown parsing in all messages unless you prepend
255+
`/plain`. By default, this setting is `false` since the current support of Markdown by Qt is
256+
buggy, and the implementation in Quaternion has its own quirks on top of that. If you have it
257+
enabled (or use `/md` command) feel free to report any bugs with it at the usual place.
260258
- `paste_plaintext_by_default` - set this to false (or 0) if you want to paste
261259
formatted text by default.
262260

@@ -293,6 +291,12 @@ Quaternion uses libQuotient under the hood; some Quaternion problems are
293291
actually problems of libQuotient. If you haven't found your case below, check
294292
also the troubleshooting section in libQuotient README.md.
295293

294+
#### Failure to start on Windows
295+
If you try to start Quaternion from a path that is in your `%PATH%` variable it's very likely to
296+
miss all the libraries that reside in subdirectories of the package. Make sure that you start
297+
Quaternion (either from the command line or Explorer) with the current directory being that of
298+
`quaternion.exe` binary.
299+
296300
#### Some older messages don't get decrypted in E2EE rooms
297301
Unfortunately, this is a limitation in the libQuotient code. The E2EE backend of libQuotient is
298302
currently being ported from Olm to matrix-rust-sdk - aside from being maintained, unlike Olm,

SECURITY.md

Lines changed: 21 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@
33
## Supported Versions
44

55
Only the latest stable (i.e. not beta) version of Quaternion is supported with security updates.
6-
Also, an effort is put into supporting the version on most recent stable releases of each major
7-
Linux distribution (Debian, Ubuntu, Fedora, OpenSuse). Users of older Quaternion versions are
8-
strongly advised to upgrade to the latest release - support of those versions is very limited,
9-
if provided at all. If you can't do it because your Linux distribution is too old, you likely
10-
have other security problems as well; upgrade your Linux distribution!
6+
An effort is put into supporting the version on most recent stable releases of each major Linux
7+
distribution (Debian, Ubuntu, Fedora, OpenSuse). Users of older Quaternion versions are strongly
8+
advised to upgrade to the latest release - support of those versions is very limited, if provided
9+
at all. If you can't do it because your Linux distribution is too old, you likely have other
10+
security problems as well; upgrade your Linux distribution!
1111

1212
## Reporting a Vulnerability
1313

@@ -18,19 +18,23 @@ If you find a significant vulnerability, or evidence of one, use either of the f
1818
In any of these two options, first indicate that you have such information
1919
(do not disclose it yet) and wait for further instructions.
2020

21-
By default, we will give credit to anyone who reports a vulnerability in a responsible way so that we can fix it before public disclosure.
22-
If you want to remain anonymous or pseudonymous instead, please let us know; we will gladly respect your wishes.
21+
By default, we will give credit to anyone who reports a vulnerability in a responsible way so that
22+
we can fix it before public disclosure. If you want to remain anonymous or pseudonymous instead,
23+
please let us know; we will gladly respect your wishes.
2324

24-
If you provide a security fix as a PR, you have no way to remain anonymous; you
25-
also thereby lay out the vulnerability itself so this is NOT the right way for
26-
undisclosed vulnerabilities, whether or not you want to stay incognito.
25+
If you provide a security fix as a PR, you have no way to remain anonymous; you also thereby
26+
lay out the vulnerability itself so this is NOT the right way for undisclosed vulnerabilities,
27+
whether or not you want to stay incognito.
2728

2829
## Timeline and commitments
2930

30-
Initial reaction to the message about a vulnerability (see above) will be no more than 5 days. From the moment of the private report or
31-
public disclosure (if it hasn't been reported earlier in private) of each vulnerability, we take effort to fix it on priority before
32-
any other issues. In case of vulnerabilities with [CVSS v2](https://nvd.nist.gov/cvss.cfm) score of 4.0 and higher the commitment is
33-
to provide a workaround within 30 days and a full fix within 60 days after the specific information on the vulnerability has been
34-
reported to the project by any means (in private or in public). For vulnerabilities with lower score there is no commitment on the timeline,
35-
only prioritisation. The full fix doesn't imply that all software functionality remains accessible (in the worst case
36-
the vulnerable functionality may be disabled or removed to prevent the attack).
31+
Initial reaction to the message about a vulnerability (see above) will be no more than 5 days.
32+
From the moment of the private report or public disclosure (if it hasn't been reported earlier
33+
in private) of each vulnerability, we take effort to fix it on priority before any other issues.
34+
In case of vulnerabilities with [CVSS v2](https://nvd.nist.gov/cvss.cfm) score of 4.0 and higher
35+
the commitment is to provide a workaround within 30 days and a full fix within 60 days after
36+
the specific information on the vulnerability has been reported to the project by any means
37+
(in private or in public). For vulnerabilities with lower score there is no commitment on
38+
the timeline, only prioritisation. The full fix doesn't imply that all software functionality
39+
remains accessible (in the worst case the vulnerable functionality may be disabled or removed
40+
to prevent the attack).

client/main.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ int main( int argc, char* argv[] )
6868
QApplication::setOrganizationName(u"Quotient"_s);
6969
QApplication::setApplicationName(AppName);
7070
QApplication::setApplicationDisplayName(u"Quaternion"_s);
71-
QApplication::setApplicationVersion(u"0.0.97 (+git)"_s);
71+
QApplication::setApplicationVersion(u"0.0.97.1"_s);
7272
QApplication::setDesktopFileName(AppId);
7373

7474
using Quotient::Settings;

linux/io.github.quotient_im.Quaternion.appdata.xml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,18 @@
4242
</replaces>
4343

4444
<releases>
45+
<release version="0.0.97.1" date="2025-03-21">
46+
<url>https://github.com/quotient-im/Quaternion/releases/tag/0.0.97.1</url>
47+
<description><p>0.0.97.1</p>
48+
<ul>
49+
<li>You can now verify Quaternion sessions for E2EE communication (have to start
50+
verification in Quaternion for now; the other direction is not implemented yet)</li>
51+
<li>Change systray icon when new messages come and Quaternion is not an active window</li>
52+
<li>Event numbers now show up in the scroller area if the shuttle scroller is used</li>
53+
<li>Various smaller UI tweaks and fixes</li>
54+
</ul>
55+
</description>
56+
</release>
4557
<release version="0.0.97" date="2025-02-10">
4658
<url>https://github.com/quotient-im/Quaternion/releases/tag/0.0.97</url>
4759
<description><p>0.0.97</p>

0 commit comments

Comments
 (0)