Commit Graph

969 Commits

Author SHA1 Message Date
gridtime
6e6b54c4c8
fixes flickering of account avatar overlay 2024-01-07 16:41:36 +01:00
gridtime
09b31c881e
fixes undefined TabBar.width 2024-01-07 16:04:29 +01:00
gridtime
de4bd2c4a6
fixes account tab content overlay 2024-01-07 15:47:51 +01:00
gridtime
e5c136a32f
forces normal background for history diff 2023-12-15 04:08:07 +01:00
gridtime
ef3ee1cdf6
forces left alignment for history diff 2023-12-15 04:07:35 +01:00
gridtime
fc23274c94
adds edits 2023-12-08 21:27:11 +01:00
gridtime
f5691fd8be
adds reactions 2023-12-08 09:44:52 +01:00
Maze
51a163bd73 Merge branch 'remove-animation' into 'main'
Remove animation

See merge request mx-moment/moment!17
2023-01-10 08:50:05 +00:00
plate
4869c3b019 Change server list to joinmatrix.org's 2022-08-29 11:03:32 +00:00
Maze
ed4204dfc8 Disable animation on side pane 2022-08-13 12:40:59 +02:00
Maze
2b7da73333 Do not wait for animation 2022-08-10 11:59:59 +02:00
Maze
9088506f62 Remove many animations 2022-08-10 11:59:09 +02:00
DrRac27
f24e5a707b Reimplement ArgumentParser in C++
Makes it possible to use --help and --version even if another instance
of Moment is already running. Fixes #122.
2022-02-09 00:08:44 +01:00
Maze
dcf0fa768a Point links to new repo
These links should now point to the Moment repo instead of
mirukana/mirage
2022-01-23 22:13:49 +01:00
Maze
8d69649814 Change autosave for push rules to 3 seconds
A 30 second delay is unacceptable when there are two UIs for the same
thing, because the UIs will be out of sync for up to 30 seconds.
2022-01-16 16:48:55 +01:00
Maze
7889719574 Prevent instant refreshing of failed listing 2022-01-15 01:42:37 +01:00
Maze
db9b578bce Add copyright notices for Moment 2022-01-14 22:52:31 +01: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
3aa100981e Merge remote-tracking branch 'dejvinofork/issue_236' Fixes #94 2022-01-05 16:06:24 +01:00
Maze
ff621e3a01 Merge branch 'opaqueerror' 2022-01-05 15:52:13 +01: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
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
692faa7142 Rename Daybreak component to DayBreak
QML name conventions
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
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
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
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
Maze
b6773c724e Add keys for direct room switching (#209)
* Add Keys.Rooms.Direct configuration

Keybinding to jump to specific room id in specific account id, or the
first occurence of specific room id in any account.

* Default binding was a bad idea

This example binding was preventing the user from binding Ctrl+G,Ctrl+M
to something else.

* Use const instead of var

* Use showItemAtIndex for direct room switching

This is a simpler implementation that better fits in the existing
codebase and doesn't really have drawbacks.

* Use existing findIndex

From roomList.model. Instead of reinventing it

* Made example not a real room

Earlier I made it point to the Mirage room

* Add instructions for copying room ID

After noticing that these IDs do not match Matrix room addresses, I felt
it was necessary to explain this here, even if it's already explained in
other parts of the configuration file.

* Use .split(" ") for splitting descriptions

This is a more readable implementation.

* Fix shortcuts breaking on config reload

Wrapping HShortcut in Loader makes it destructible.
See d53978f62bab35cdc7e115c50f0571f736814582

* Cleanup showRoomByDescription method, now showById

- "Room description" is a vague, it sounds like this is about
  the room topic too. Instead of having a function that takes a
  string with a certain format, take explicit arguments for the user and
  room ID, this way we don't need comments to explain what's going on
  either

- Reduce indentations and {} noise to make it simpler to read

* More details for direct room binds config comment

Co-authored-by: miruka <miruka@disroot.org>
2021-07-26 04:39:58 -04:00
miruka
61996400d0 Fix shortcuts in instanciators breaking on reload
When reloading the config file, the HShortcut within Instanciators (e.g.
Rooms.AtIndex) were deleted then recreated.
Except Shortcut happens to be an indestructible object type.
Thus the old HShortcuts left alive were conflicting with the ones
recreated, causing them to be called ambiguously.
Loaders are destructible, so we wrap the shortcuts inside one to fix the
issue.
2021-07-26 04:39:58 -04:00
miruka
7a33ecdb86 AccountSettings: fix setting display name 2021-07-26 04:39:58 -04:00
miruka
3d350910e7 Fix rendering status msgs with HTML-unsafe chars
Status messages containing characters like ' or <> were stripped out
in the Account and Member delegates
2021-07-26 04:39:58 -04:00
miruka
18f742966e Presence fixes and improvements
- Allow using invisible mode on servers not supporting presence, to
  make use of the prevention of sending typing notifications and read
  marker updates

- For servers not supporting presence, display the account's presence
  orb in the left pane with half opacity

- Indicate in the presence orb tooltip when the presence we set hasn't
  yet been noticed by the server/the server doesn't support presence

- When reconnecting after being offline, if the server doesn't indicate
  we have a status message [set from another client], restore any
  previous message we had set in the current client

- Show our status message striked out when we're invisible or offline to
  indicate that it isn't being broadcasted

- Some code style cleanups

- Try to handle cases where we set a presence, but receive a new
  presence event for our account before the server takes notice of that
  new presence we want, which probably resulted in the "account keeps
  switching between online and unavailable every few sec" glitch
2021-07-26 04:39:58 -04:00
miruka
de7e14f9ca Color reply prefix in room delegate last message 2021-07-26 04:39:57 -04:00
miruka
a208ba3991 Fix applying AccountSettings ignore users field 2021-07-26 04:39:57 -04:00
miruka
49f97d614e Rework UnexpectedErrorPopup to be more practical
- Instead of opening a popup for every single error that occurs,
  combine them into an unique one

- Increase the maximum width, make those tracebacks readable
2021-07-26 04:39:57 -04:00
miruka
2aebab5919 UnexpectedErrorPopup: implement "Report" button
Currently just opens the issue section of the CONTRIBUTING.md
in users's browser.
2021-07-26 04:39:57 -04:00
miruka
4ef8e2f1fb AddChat tab titles: say "group" instead of "room"
Helps users new to Matrix in knowing what to click, as the direct chat
option explicitely creates a 1-to-1 experience, while "create room"
(now "create group") could be also be used as such but asks for more
details and wouldn't mark the room as direct.

The content of the tabs still say "room" as that is the correct general
term for anything that contains one or more user.
2021-07-26 04:39:57 -04:00
miruka
decb12d6ba Tweak room settings checkbox texts
Always use present tense and shorten text length while trying
to be more precise
2021-07-26 04:39:57 -04:00
miruka
93404559b9 Add ignored users list to account settings 2021-07-26 04:39:57 -04:00
miruka
30919eca7a FieldHelpButton: always show tooltip on click
Rather than toggling display of the tooltip.
Since the tooltip will show up on hover too, the user might quickly
hover then click on the button only to see the tooltip immediatly
disappear.

Closing the tooltip can still be done by moving the cursor away from the
button, or tapping on it/anywhere else.
2021-07-26 04:39:57 -04:00
miruka
e4f3339675 Improve explanation & spacing for alias field help 2021-07-26 04:39:57 -04:00
miruka
dc0ed43f72 Add ignore user options in member context menues 2021-07-26 04:39:57 -04:00
miruka
678a56400a Add ignoring invite sender & fix forgotten rooms
When declining an invite, the popup now offers a checkbox to also add
the sender to the account data m.ignored_user_list event.

This will hide any further invite or message from that user in syncs,
and also immediatly remove the ones we currently have.

As a side-effect, the long-time bug that caused forgotten rooms to
immediatly reappear due to received a "<user> left" event has been
fixed.
2021-07-26 04:39:57 -04:00