Commit Graph

2657 Commits

Author SHA1 Message Date
Maze
e3103144a2 Change default keybindings for Moment
By Linux convention for GUI software, Ctrl+Q is quit.
By general chat app convention, Ctrl+K is filter.
Some keybindings have been changed to make space for these:
Reply is now Ctrl+R
Remove is now Ctrl+Shift+R
"Previous message" is now Ctrl+I

I did not want to alter the defaults more than this.
But ideally, you would want "Previous message" and "Next message"
adjacent, so it makes sense to swap Ctrl+U and Ctrl+J as well.
2022-01-14 21:59:31 +01:00
Maze
8e78e662e4 Merge branch 'foliagetheme' into 'dev'
Add Foliage theme and make it new default

See merge request mx-moment/moment!3
2022-01-14 20:55:05 +00:00
Maze
106e963573 Add Foliage theme and make it new default
Moment should have a different default theme than Mirage to make it more
visible that it's not the same software.
2022-01-14 21:50:23 +01:00
Maze
9752a2accb Merge branch 'configdir' into 'dev'
Change config dir, offer to migrate

See merge request mx-moment/moment!2
2022-01-14 19:27:59 +00:00
Maze
2839f83dde Change config dir, offer to migrate
Moment has different default directories and is controlled by
different environment variables. On first startup, Moment
detects Mirage directories and offers to copy them.
It doesn't make sense to migrate logins without migrating encryption
keys, so this is now included in migration. Themes are migrated as well.
Only offer migration is only if both config and data directory are able to be
migrated.
2022-01-14 19:27:59 +00:00
Maze
63a56d92fd Merge remote-tracking branch 'newbyteefork/flatpak-no-host' 2022-01-05 16:17:38 +01:00
Maze
3aa100981e Merge remote-tracking branch 'dejvinofork/issue_236' Fixes #94 2022-01-05 16:06:24 +01:00
Maze
ad272a136a Merge remote-tracking branch 'mraaghfork/emoji' 2022-01-05 16:02:31 +01:00
Maze
1ebce512b2 Merge branch 'comments' 2022-01-05 16:01:10 +01:00
Maze
ff621e3a01 Merge branch 'opaqueerror' 2022-01-05 15:52:13 +01:00
Maze
212a085648 Merge branch 'seen-indicator' Fixes #100 2022-01-05 15:50:20 +01:00
Maze
a690e8ce2e Merge branch 'patch-3' into 'main'
Add bindings page

See merge request mx-moment/moment!1
2022-01-05 14:38:29 +00:00
Maze
2113327d42 Add bindings page 2022-01-05 14:38:29 +00:00
vslg
4cffbaa68d Fix Python 3.10 collections import 2021-11-19 13:12:42 -03:00
Dejvino
7f95738037 GlobalTapHandlers: limit acceptedPointerTypes to mouse
By default, TapHandler is used for all input types. GlobalTapHandlers
was blocking finger touch events from reaching the underlying elements,
breaking the app for mobile devices with a touch screen.
2021-11-17 20:12:27 +01:00
Maze
180c02daed Disable seen indicator link
The seen indicator is a link to #state-text.
This link should not be clickable.
Fixes #247
2021-08-30 03:01:53 +02:00
Maze
275f1f2109 Make error popup opaque
Sending screenshots of error popups is an easy way to leak information.
But if the popup is transparent, that makes it so much easier.
For the sake of privacy, error popups should be opaque.
2021-08-29 19:07:46 +02:00
Maze
2433dba27e Add helpful config comments
I just spent half an hour debugging why some setting didn't work for me.
It was because I was putting it in Chat instead of Keys.Chat. This is
very confusing when you're making your own partial config override file.
I've added comments to the classes with identical names to hopefully
make this less confusing.
2021-08-26 11:56:27 +02:00
Maze
5c819176a5 Suggest how to get colorful emoji
This is something that took me long to figure out, I think it'd help to
have it mentioned in the default configuration.
2021-08-12 15:01:44 +02:00
Newbyte
28b6cdb3f2 Flatpak: Don't request host filesystem access
Mirage is able to use portals for picking files to send, so requesting
access to the entire host filesystem is not necessary.
2021-07-26 15:34:03 +02:00
miruka
9a4ababd9a Fix flatpak nio commit 2021-07-26 04:39:58 -04:00
miruka
f1e0975e07 Fix AppImage building script 2021-07-26 04:39:58 -04:00
miruka
8e69755115 Update changelog for 0.7.2 2021-07-26 04:39:58 -04:00
miruka
c86c4da7d1 Bump version to 0.7.2 2021-07-26 04:39:58 -04:00
miruka
4df8cb70ca Update nio requirement 2021-07-26 04:39:58 -04:00
miruka
94bf41dc3e Fix presence loop with unavailable/offline
Yes, again.
Also removes echo presence states to simplify things.
2021-07-26 04:39:58 -04:00
miruka
47cfd7c7b0 Show nio logging warnings 2021-07-26 04:39:58 -04:00
miruka
ba236e2be3 Remove some unused imports 2021-07-26 04:39:58 -04:00
miruka
42b2a040ec MatrixError: include server response content 2021-07-26 04:39:58 -04:00
miruka
f2b981e288 Bundle appdata XML in appimage 2021-07-26 04:39:58 -04:00
miruka
e50a7531ee Clean up appdata releases update script
- Simplify code
- Fix output date for the 0.6.0 release
- Move to the packaging dir with a more descriptive filename
2021-07-26 04:39:58 -04:00
Newbyte
0ad1466acd Add release refresher script
This script regenerates the <release> tags inside the Appstream XML
based on docs/CHANGELOG.md.
2021-07-26 04:39:58 -04:00
Newbyte
f5ac861939 Add Appstream XML for Mirage
This is necessary to publish Mirage on e.g. Flathub.
2021-07-26 04:39:58 -04:00
miruka
6151444c71 MatrixError: include the server's message 2021-07-26 04:39:58 -04:00
miruka
692faa7142 Rename Daybreak component to DayBreak
QML name conventions
2021-07-26 04:39:58 -04:00
Maze
1d3ec44919 Allow apostrophe in URL regex
Apostrophe is a valid URL character.
Example: https://en.wikipedia.org/wiki/Benford's_law
2021-07-26 04:39:58 -04:00
Maze
884d22938b Add keys to jump to latest/oldest unread (#214)
* Key to jump to latest/oldest unread #186

Latest/oldest unread/highlight.
Default bindings match the bindings for previous/next unread/highlight.

Allows the user to read messages in the order of receiving them.
Or the opposite order, to stay on top of things.

* Clean up code

Use let instead of var, and proper indentation

* Fix case for some variables in RoomList.qml

Some variables were using snake_case instead of camelCase like usually
done in QML code (note that the model items come from python)

Co-authored-by: miruka <miruka@disroot.org>
2021-07-26 04:39:58 -04:00
miruka
888b8b32c1 Fix account saved with incorrect presence on login
Saving account with an echo_ presence resulted in error 400 on /sync due
to the server not understanding the presence we're trying to set
2021-07-26 04:39:58 -04:00
Maze
d32370fc3a Made some animations unaffected by theme
People modify animationDuration because they want a snappy client.
But it also affects a few things that do not contribute to that
and should remain constant speed:
- Busy indicator
- Progress bar animation
- Ping indicator in AddAccount ServerBrowser
- Image rotation button cooldown
2021-07-26 04:39:58 -04:00
miruka
c4a0e73e19 Hide prev status msg for accounts w/out presence 2021-07-26 04:39:58 -04:00
miruka
d4b9fc60a4 Fix invisible presence restoration
When we are invisible and restart the client, set ourself to invisible,
not offline, and correctly keep the status message that should be set
whenever we get back to a visible online.
2021-07-26 04:39:58 -04:00
miruka
22bce261d3 Yet another try at fixing presence endless loop 2021-07-26 04:39:58 -04:00
miruka
86c0cb1bf2 Add Presence.saved_status option
Controls how many previous status to keep saved in account menues,
see previous commit.
2021-07-26 04:39:58 -04:00
miruka
3402a1d5f8 Improve account status msg field & add history
- Up to 5 previously set status are now shown under the field
  for quick access; the history is shared between accounts

- When focusing the field, the text gets auto-selected since most of the
  time we want to set a totally different status, not edit the current one

- Typing in the field will autosuggest any matching history entry

- Keyboard focus now skips the "apply" button, since we can just hit
  enter in the field
2021-07-26 04:39:58 -04:00
miruka
67edd63c5a HComboBox: allow popup and indicator to be null 2021-07-26 04:39:58 -04:00
miruka
c9ee604cf3 Show inviter as subtitle for room list invites
Also fixes the centering of the enveloppe icon for invited rooms with a
subtitle.
2021-07-26 04:39:58 -04:00
miruka
02b4bddce5 Be invisible on startup, not echo_invisible
If our presence is invisible from the first sync, we'll never receive a
presence event telling us so.
The server just knows from the beginning, so show our local presence as
echo instead of echo_invisible (which causes the half-opacity presence orb)
2021-07-26 04:39:58 -04:00
miruka
c1f5605c1c Ignore offline presence updates for our account
If another client becomes invisible/offline or we stop syncing for some
time (due to e.g. connection issue or debugger freeze), the server will
tell us our presence is offline. Following this update would lead to our
our current connection being terminated, so ignore it.

Side-effect: if we become invisible and another client with this behavior
is using the account at the same time, this will result in us becoming
online/unavailable again a few seconds later, since we follow
updates for these status to avoid conflicts
2021-07-26 04:39:58 -04:00
miruka
93505dc44f Rework chat invite/left banners
The banners shown in place of the composer for invited and left rooms
suffered from numerous problems due to being written very long ago and
untouched since then: unflexible components, layout glitching at certain
size, and focus issues.

These elements have been reimplemented as part of the Composer using
standard components, handle lack of space/width much better and
correctly take focus when switching rooms or the room's state changes.

Other note, the inviter's avatar is no longer shown in place of where
the current writing user is currently shown, to maintain consistency and
keep an indication of which account the user is acting as.
The inviter's profile should be available in the right pane, but nio
apparently doesn't give us member events for invited rooms.
2021-07-26 04:39:58 -04:00
miruka
7d546b6565 Room items subtitles: fix redacts HTML escaping
Redaction events displayed as subtitles of left pane rooms were
accidentally double-escaped, leading to e.g. "X's message was removed by
Y" being rendered without the apostrophe
2021-07-26 04:39:58 -04:00