Commit graph

863 commits

Author SHA1 Message Date
redsky17
237c7ad114 Author Color Fixes
Author color is now cached so that it will not be re-calculated
each time a new message is posted.  This cache gets cleared when
the theme is changed.

Additionally, the author color is now automatically refreshed
when the theme is changed, fixing the issue where you had to
change rooms before the colors would switch.
2019-01-20 04:43:48 +00:00
redsky17
b3f7c13e2f Update user id color generation
Update the author color generation.  Now, instead of generating
an entire hex string based on the user id, the user id instead
is used to generate a hue value.  After this hue value is created,
there is some logic to tweak first the lightness and then saturation
values to achieve a readable color (in contrast to the background).

This change makes it so that user colors will not vary as wildly
between the different themes.

The values still are not cached and still do not update
initially when the theme is changed.  Both of these things
will be resolved.
2019-01-20 00:16:31 +00:00
redsky17
98102f4f09 Fix UserSettings UI not showing saved prefs
Theme and Font Family settings will now correctly display the stored
settings when nheko is re-launched.  Previously, these combo boxes
would default to the first thing in the combo box, even if that
wasn't what the user selected.
2019-01-19 17:31:17 +00:00
redsky17
654b652db4 Add User Font Setting
User can now select a font from the installed fonts on their system

This font currently will only be applied when nheko is restarted
(similar to how font size and scaling currently work).  This will
be addressed in a future commit.  Additionally, the dropdown
does not correctly select the previously-chosen user font, and
instead defaults to the first font available on the system
(alphabetically).  This is similar to the issue with the 'Theme'
combo defaulting to 'Light' even when another theme is selected.
2019-01-19 16:20:41 +00:00
redsky17
50e382f554 Modified the code that generates user's colors so that it will
work regardless of the theme choices the user makes.  The code
now incorporates the contrast between the background color and the
color generated by the user_name when picking colors.  It currently
has two 'big' issues:
1. Colors are not cached.  I am planning on adding a QHash for this
a little later.  This should improve performance by not calculating
the color for the same users over and over and over again.
2. Theme changes do not trigger the colors to get refreshed.
Currently, you will have to switch to a different room and back
to get the colors to refresh.
2019-01-18 17:17:25 +00:00
redsky17
1882198e4b Make the author text slightly large.
Add author color generated based on user id.
2019-01-18 04:09:42 +00:00
redsky17
55883ec2de Remove the code that removed paragraph tags from markdown -> html.
This fixes #2, but reverts mujx#438.  I do not think mujx#438 was a
valid issue, as it complained about the display of valid HTML on riot,
which speaks more to how Riot styles things than about an issue in
nheko itself.
2019-01-18 00:59:31 +00:00
redsky17
996a4c9590 Fix clang-format linting issue 2019-01-16 18:18:57 +00:00
redsky17
bcabf2fb73 Update travis ci config to point to redsky17 config and try to fix lint
errors
2019-01-13 03:48:07 +00:00
redsky17
3fceaeb203 Add hover color for timestamp.
Update dark and system themes to provide
colors for the hover states for title, subtitle, and timestamp.
2019-01-12 22:03:25 +00:00
Joe Donofry
ae91bab07d Tweak some of the colors in the CSS rules for nheko.
Add room list hover title/subtitle color change support.
2019-01-12 14:35:56 +00:00
Konstantinos Sideris
6a90ed574e Increase the height of the roomlist items 2018-10-10 22:02:59 +03:00
Konstantinos Sideris
184c8b28e9 Use a smaller font size for the timestamp 2018-10-07 16:32:46 +03:00
Konstantinos Sideris
f272d9221e Use alignment instead of stretch 2018-10-07 14:18:44 +03:00
Konstantinos Sideris
aa486a5c0c Adjustments for the minimized sidebar 2018-10-07 14:09:47 +03:00
Konstantinos Sideris
2295d681a4 Remove the bundled open sans font 2018-10-07 13:27:20 +03:00
Konstantinos Sideris
4b807229aa Remove built-in emoji picker 2018-10-07 13:13:14 +03:00
Konstantinos Sideris
c2faaa4d39 Add the correct parent to scaleCombo 2018-10-07 12:58:38 +03:00
Konstantinos Sideris
4865f852d8 Remove room re-ordering option 2018-10-06 18:43:53 +03:00
Konstantinos Sideris
3fdfc9b69f Remove Scrollbar 2018-10-06 18:39:11 +03:00
Konstantinos Sideris
675f1be777 Adjust the height of the bottom widgets 2018-10-06 18:07:02 +03:00
Konstantinos Sideris
748c5898be Adjust the font sizes of the welcome page 2018-10-06 17:41:47 +03:00
Konstantinos Sideris
844443a324 Adjust the widget size of the room list items 2018-10-06 17:21:03 +03:00
Konstantinos Sideris
420937ab83 Derive widget sizing from the font size 2018-10-04 00:32:13 +03:00
Konstantinos Sideris
be1478183e Remove some unnecessary calls 2018-10-02 13:16:44 +03:00
Konstantinos Sideris
3a57d1018e Add option to configure the font size
fixes #161
2018-10-01 17:56:46 +03:00
Konstantinos Sideris
4b1b062388 Enable debug logs 2018-09-30 14:33:54 +03:00
Konstantinos Sideris
8f89ad15f7 Change the minimum width for modals 2018-09-30 13:37:38 +03:00
Konstantinos Sideris
9038c950ae Remove pixel value from fonts 2018-09-30 13:24:36 +03:00
Konstantinos Sideris
d1e08e0008 Remove obsolete font/size setting 2018-09-29 14:26:47 +03:00
Konstantinos Sideris
29f442a9f9 Remove pixel values from the text input widget 2018-09-29 14:19:22 +03:00
Konstantinos Sideris
758be07a5a Make the height of the bottom bar smaller 2018-09-29 14:05:59 +03:00
Victor Berger
18a98a7c1d Display tags as sorting items in the community panel (#401) 2018-09-28 12:40:51 +00:00
Konstantinos Sideris
59a1b6b47c Don't enable tray by default 2018-09-26 19:22:52 +03:00
Konstantinos Sideris
bbf37bf633 Don't clear selection when a context menu is requested 2018-09-26 19:21:10 +03:00
Konstantinos Sideris
c64a1bf759 Move TextLabel into its own file 2018-09-26 15:17:14 +03:00
Konstantinos Sideris
9bc7b6305e Lint 2018-09-26 12:06:30 +03:00
Konstantinos Sideris
c9427c7f17 Clear text selection when focus is lost
fixes #409
2018-09-25 18:06:11 +03:00
Konstantinos Sideris
7a288cc2cb Add infinite scroll in member list
fixes #446
2018-09-25 15:43:48 +03:00
Konstantinos Sideris
39b4c83bb0 Don't clear the member list when the modal is hidden
fixes #447
2018-09-25 14:53:07 +03:00
Konstantinos Sideris
adf2019c56 Use QPushButton on the preview modal 2018-09-25 14:41:47 +03:00
Konstantinos Sideris
dec643e6ea v0.6.0 2018-09-21 16:44:45 +03:00
Konstantinos Sideris
fc684f6571 Require login when the cache format changes (regression on #444) 2018-09-21 14:43:52 +03:00
Konstantinos Sideris
b0e3a7c7fa Add close buttons to all dialogs 2018-09-21 13:56:39 +03:00
Konstantinos Sideris
2a2b52e07f Center dialogs around the main window 2018-09-21 11:30:02 +03:00
Konstantinos Sideris
ce26f041ad Add method to center widgets & clean up unused headers 2018-09-21 10:55:24 +03:00
Konstantinos Sideris
ecc346a6da Close dialogs on confirmation 2018-09-20 09:59:14 +03:00
Konstantinos Sideris
d4ce7a9dda Use confirm as the default button 2018-09-20 08:52:31 +03:00
Konstantinos Sideris
1b7816f7ca macOS: Use the native emoji picker
fixes #79
2018-09-19 23:38:36 +03:00
Konstantinos Sideris
1716502eff Improvements on the system theme 2018-09-19 22:42:26 +03:00
Konstantinos Sideris
3e49afd6ba Fix compile warnings 2018-09-18 18:48:14 +03:00
Konstantinos Sideris
440237cdb9 Clean up unread rooms after initial sync 2018-09-16 11:41:53 +03:00
Konstantinos Sideris
1f3535bc43 Bump cache version due to incompatible changes 2018-09-16 11:19:53 +03:00
Konstantinos Sideris
9ad4aab657 Ignore sessions that cannot be parsed 2018-09-16 11:19:18 +03:00
Konstantinos Sideris
a9ddc3b3d3 Implement import/export of megolm session keys (#358) 2018-09-15 23:52:14 +03:00
Konstantinos Sideris
cf71a5858c Update mtxclient 2018-09-15 00:40:16 +03:00
Konstantinos Sideris
8767ea181d Mark unread rooms as such in the room list
fixes #313
2018-09-13 19:15:58 +03:00
Konstantinos Sideris
9f3de8679d Temporary fix to work with mx-reply tags 2018-09-13 16:10:45 +03:00
Konstantinos Sideris
bf4d559523 Strip paragraph tags
fixes #438
2018-09-13 11:02:54 +03:00
Konstantinos Sideris
e88cfa1b20 Use <em></em> for m.emote messages 2018-09-12 21:46:33 +03:00
Konstantinos Sideris
7a6816a9f6 Remove italics from m.notice messages 2018-09-12 20:59:27 +03:00
Konstantinos Sideris
9c06ba5d25 Open user profile on matrix.to links 2018-09-12 20:54:44 +03:00
Konstantinos Sideris
e9ee29978d Add context menu option to show the raw message
fixes #437
2018-09-12 16:27:25 +03:00
Konstantinos Sideris
bc38fcec6c Move some info logs to debug 2018-09-12 14:28:54 +03:00
Konstantinos Sideris
dd73a4b278 Trim whitespace from text messages 2018-09-12 14:20:12 +03:00
Konstantinos Sideris
a0a76e352b Enable html attributes 2018-09-12 13:40:42 +03:00
Konstantinos Sideris
4565f2cf00 Don't break the layout on empty text messages 2018-09-12 13:12:24 +03:00
Konstantinos Sideris
074608dec1 Switch to libcmark 2018-09-11 14:56:09 +03:00
Konstantinos Sideris
72333aec59 Enable Qt auto scaling
fixes #397
2018-09-08 17:10:42 +03:00
Konstantinos Sideris
667ee75d66 Show sidebar after initial sync
fixes #412
2018-09-08 15:50:35 +03:00
Konstantinos Sideris
5267e0262b Remove custom stylesheet for qmenu 2018-09-08 14:55:30 +03:00
Konstantinos Sideris
0588cb3dbf macOs: Add missing border on the TopBar 2018-09-08 14:16:51 +03:00
Konstantinos Sideris
19626dbb10 Small refactoring on the EditModal 2018-09-08 13:20:54 +03:00
Konstantinos Sideris
245a3735e5 Remove debug prints 2018-09-07 20:31:47 +03:00
Konstantinos Sideris
9e8f0b7409 Initial support for sending markdown formatted messages
fixes #283
2018-09-07 20:05:30 +03:00
Konstantinos Sideris
a21db789e7 Fix double href links on username pills 2018-09-07 14:52:29 +03:00
Konstantinos Sideris
896fe069b6 Use proxy objects on lambdas instead of raw pointers
When the object is destroyed the connections will be removed
automatically by Qt.

fixes #433
2018-09-07 12:24:09 +03:00
Konstantinos Sideris
a1af99becb Put back removed links 2018-09-06 22:41:02 +03:00
Konstantinos Sideris
8ad01f520a Add initial support for displaying formatted messages 2018-09-06 22:34:41 +03:00
Konstantinos Sideris
0c6a3b6282 Remove captcha dialog from the member list 2018-09-05 18:05:27 +03:00
Konstantinos Sideris
797a69fd90 Fallback to the login screen when the one-time keys cannot be uploaded 2018-09-05 16:57:26 +03:00
Konstantinos Sideris
4a30eb30b3 Enable colors in console logger 2018-09-04 13:17:21 +03:00
Konstantinos Sideris
990a3a97c7 Merge matrix-structs into the client lib 2018-09-01 13:35:10 +03:00
Konstantinos Sideris
e9a8e51208 Guard against flickering for items added to the top of the timeline 2018-08-31 18:34:54 +03:00
Konstantinos Sideris
27fed83083 Retry initial sync on generic network errors (#422) 2018-08-31 16:25:27 +03:00
Konstantinos Sideris
28dda237c2 Don't block on empty from token 2018-08-31 14:56:55 +03:00
Konstantinos Sideris
641364c105 Handle some more edge cases in timeline 2018-08-31 10:47:27 +03:00
Konstantinos Sideris
d608950bea Stop calling /messages if the prev_batch token is empty 2018-08-31 09:57:04 +03:00
Konstantinos Sideris
e29fceaee4 Fix a use-after-free error during logout 2018-08-31 09:10:47 +03:00
Konstantinos Sideris
b10e1bafc8 Add temp fix to work with servers that don't support e2ee endpoints
fixes #371
2018-08-30 20:37:24 +03:00
Konstantinos Sideris
ee2ba93ec4 Only call /sync when retrying initial sync (#422) 2018-08-30 13:39:09 +03:00
Konstantinos Sideris
183975be1a Increase LMDB's map size (#413) 2018-08-29 16:47:28 +03:00
Konstantinos Sideris
b7362298b0 Make lambda that updates avatar a class method 2018-08-29 16:15:31 +03:00
Konstantinos Sideris
56ee290b03 Add the ability to change the room avatar
fixes #418
2018-08-29 16:00:07 +03:00
Konstantinos Sideris
db9c37d336 Call adjustSize before showing the timeline widget 2018-08-28 00:19:39 +03:00
Konstantinos Sideris
7e16730692 Remove unnecessary height setting for timeline messages
This will remove some minor flickering (hopefully for good)
2018-08-27 21:32:24 +03:00
Konstantinos Sideris
9f43ff876a Show the room id in the room settings modal
fixes #416
2018-08-26 14:56:35 +03:00
Konstantinos Sideris
345dca3544 Add method to delete old messages periodically
fixes #413
2018-08-25 21:08:43 +03:00
Rudi Floren
c8a59f2d6e Add device ID and device fingerprint to settings page like in Riot. (#407) 2018-08-21 06:22:51 +00:00
Konstantinos Sideris
6d1f2ea9b3 Remove pixel ratio from image scaling 2018-08-20 11:58:13 +03:00
Konstantinos Sideris
04c888c44c Fix crash on logout 2018-08-13 09:35:55 +03:00
Konstantinos Sideris
b06203a34b Install the bundled spdlog 2018-08-12 10:49:51 +03:00
Colin Lord
bcd92c0604 Enable compilation on FreeBSD (#403) 2018-08-12 09:33:36 +03:00
Konstantinos Sideris
cebd8cbc19 Add option to disable desktop notifications
fixes #388
2018-08-11 18:26:17 +03:00
Konstantinos Sideris
05547086fb Increase the minimum modal size 2018-08-11 17:55:44 +03:00
Konstantinos Sideris
aa2f6ce77d Simplify dialog creation 2018-08-11 13:50:56 +03:00
Konstantinos Sideris
a339f5062f Add solid background in TypingDisplay 2018-08-10 10:58:46 +03:00
Konstantinos Sideris
040e29dfb9 Add bottom border line on Linux 2018-08-09 18:45:18 +03:00
Konstantinos Sideris
d4c3dac28f Remove the reserved space gap for the typing notifications 2018-08-09 18:20:17 +03:00
Konstantinos Sideris
aec5587947 Allow user to configure join rules for a room 2018-08-09 16:38:11 +03:00
Konstantinos Sideris
509d3eb8b4 Add missing update() on typing display 2018-08-09 13:39:39 +03:00
Konstantinos Sideris
f955ec762c Use archives instead of repos to fetch dependencies 2018-08-08 14:15:14 +03:00
Konstantinos Sideris
43a4676282 Remove hover event from emoji picker
fixes #398
2018-08-08 13:15:19 +03:00
Konstantinos Sideris
3fb57ac049 Add tooltips for the message indicators (#377) 2018-08-08 12:57:50 +03:00
Konstantinos Sideris
8d3ef470f9 Remove hardcoded colors from the typing display 2018-08-08 12:51:40 +03:00
Konstantinos Sideris
df42fdc80f Remove unwanted whitespace from the user settings menu 2018-08-01 21:26:34 +03:00
Konstantinos Sideris
b5b5faa5ec Consider the scale ratio when scaling down images
fixes #393
2018-08-01 21:10:03 +03:00
Konstantinos Sideris
06b30b3cca Use double instead of int when scaling pixmaps (#393) 2018-07-30 12:35:15 +03:00
Konstantinos Sideris
6ffb747421 Add tab-completion for usernames
fixes #394
2018-07-29 21:58:18 +03:00
Konstantinos Sideris
f8a1ed84a8 Fix background color on the room list widget 2018-07-26 12:12:00 +03:00
Konstantinos Sideris
899249a485 Add missing tooltips on buttons
fixes #249
2018-07-25 23:28:37 +03:00
Konstantinos Sideris
a845ccb8d7 Use repaint instead of update on the loading animation 2018-07-25 23:10:45 +03:00
Konstantinos Sideris
1f47a6af3a Improve the style of snackbar a bit 2018-07-25 23:07:56 +03:00
Konstantinos Sideris
8386dd73ce Enable scrollbar on the room list for macOS (#174) 2018-07-25 18:59:33 +03:00
Konstantinos Sideris
069f0a1fbd Use native scrollbar in the timeline 2018-07-25 18:48:11 +03:00
Konstantinos Sideris
bfdbd49e3e Align timeline widgets to the bottom 2018-07-25 16:46:57 +03:00
Konstantinos Sideris
59a42183bc Fix issue with missing communities due to an unregistered metatype 2018-07-25 16:34:54 +03:00
Konstantinos Sideris
35067088f9 Disable paint updates when removing the room filter 2018-07-24 21:43:51 +03:00
Konstantinos Sideris
6583686a7c Remove spacer & set sizePolicy on the timeline view & widgets
This was causing some flickering when many messages were added.
Mostly visible on macOS.
2018-07-23 21:54:13 +03:00
Konstantinos Sideris
6b42e3b202 Simplify the message shown when another app instance is detected 2018-07-22 20:26:50 +03:00
Konstantinos Sideris
98548b1b8b Minor modal adjustments 2018-07-22 20:01:12 +03:00
Konstantinos Sideris
85e93a88a6 Add option to specify the scale factor
fixes #357
fixes #335
fixes #230
2018-07-22 19:48:58 +03:00
Konstantinos Sideris
18695d636d Add input field to specify the device name on login 2018-07-22 18:41:15 +03:00
Konstantinos Sideris
3d2e29bfa0 Remove pixel values from modals, use pointSize instead 2018-07-22 18:03:12 +03:00
Konstantinos Sideris
24bad93f6b Add option to ignore key requests altogether 2018-07-22 16:36:25 +03:00
Konstantinos Sideris
0247b47553 Refactor the room settings menu to look like the user profile 2018-07-22 15:41:06 +03:00
Konstantinos Sideris
5dfd26abc5 Reject key requests for users that are not members of the room 2018-07-22 14:11:28 +03:00
Konstantinos Sideris
73e3161c88 Disable paint updates while applying room filtering (#380) 2018-07-21 14:57:56 +03:00
Konstantinos Sideris
6c65213c83 Reuse the profile modal & adjust its spacing relative to the font size 2018-07-21 14:33:35 +03:00
Konstantinos Sideris
54c7eb374a Lower the complexity of the group filtering algorithm (#380)
The old algorithm during filtering will check every room
if it's part of the group. O(N*G)

The room ids for a group are now stored in a map for faster lookup
so the search can be completed in a single pass. O(N)
2018-07-21 13:35:36 +03:00
Konstantinos Sideris
9d718fccf4 Clear timeline widgets when they exceed a certain limit (#158)
That's a fix to deal with long running sessions which will end
up taking more & more memory given enough time.
2018-07-21 12:09:23 +03:00
Konstantinos Sideris
e8cb2cee0c Use a smaller icon size in the sidebar 2018-07-20 17:44:09 +03:00
Konstantinos Sideris
83008f44e4 Show device list in user profile & add option to create 1-1 chat 2018-07-20 16:15:50 +03:00
Konstantinos Sideris
d7e5171bfa Create user profile modal 2018-07-20 12:02:35 +03:00
Konstantinos Sideris
5540fc0737 Add user avatar after the 'encryption is enabled' message
fixes #378
2018-07-19 18:46:36 +03:00
Konstantinos Sideris
00f99d9ae5 Fix variable shadowing on clang 2018-07-18 17:11:02 +03:00
Konstantinos Sideris
e4dedbcaba Mark own read messages with a double checkmark (#377) 2018-07-17 23:50:18 +03:00
Konstantinos Sideris
0e814da91c Move all files under src/ 2018-07-17 16:37:25 +03:00
Benedikt Heine
c942a4b9fc Explicitly set no timeout for notifications
The notification spec handles -1 and 0 as special values:
-1 -> representation for "undef"
 0 -> infinitely
 values above 0 represent the timeout in ms.

The notification messages should disappear again and with 0, this insn't
the case. Setting it to -1 lets the notification manager decide the
timeout and displays the notification like all others.
2018-07-16 12:13:05 +02:00
Benedikt Heine
a7cf30005b Update image_data hint to current notification spec
The current notification spec says image-data should get used instead of
image_data.
2018-07-16 12:12:07 +02:00
Konstantinos Sideris
21185a44e7 Properly reset the autocomplete anchor when the popup closes
fixes #305
2018-07-15 21:26:48 +03:00
Konstantinos Sideris
fde066e236 Use MainWindow instead of QApplication::activeWindow to reference the main window
The latter will not always return a valid pointer.

fixes #363
2018-07-15 20:58:10 +03:00
Konstantinos Sideris
31d09dbd68 De-duplicate the m.room.encryption event 2018-07-15 20:32:22 +03:00
Konstantinos Sideris
a9f02128a2 Use the http link for video messages
Add method to convert matrix content URIs to http links
2018-07-15 20:05:31 +03:00
Konstantinos Sideris
33490eddab Remove the v2 namespace from the http client 2018-07-15 19:09:08 +03:00
Konstantinos Sideris
e6b45263bc User reverse iterator instead of while loop 2018-07-15 18:58:09 +03:00
Konstantinos Sideris
4059f17e15 Add the -v / --version option, which displays the version string of the application. 2018-07-15 14:53:18 +03:00
Konstantinos Sideris
c4613b210e Fix Windows build 2018-07-14 16:27:51 +03:00
Konstantinos Sideris
73dbd3c8dd Re-enable groups 2018-07-14 12:08:16 +03:00
Konstantinos Sideris
363e3735f1 Allow close events from the session manager (#353) 2018-07-11 20:56:44 +03:00
Max Sandholm
80ebe3f29d Working D-Bus desktop notifications (#361)
* Working D-Bus desktop notifications

* Remove return type on constructor

* Fix the Windows placeholder class

* Fix wrong variable name

* Fix windows and macOS versions of notificationsmanager
2018-07-11 17:33:02 +03:00
Konstantinos Sideris
e7f30b57e8 Use QSharedPointer::data to be compatible with Qt < 5.11 2018-07-11 16:49:09 +03:00
Konstantinos Sideris
6f07ab433e Send image dimensions in m.image event
fixes #215
2018-07-10 23:31:51 +03:00
Konstantinos Sideris
1312c139cc Don't pre-load messages from caches
Requires backfilling which is not implemented.

fixes #365
2018-07-09 12:17:22 +03:00
Konstantinos Sideris
172d111d1c Add -Wshadow 2018-07-08 22:10:40 +03:00
Konstantinos Sideris
6d474b77f1 Fix variable shadowing that caused the key response to be null 2018-07-08 21:24:44 +03:00
Konstantinos Sideris
278eccc040 Add context menu action to request encryption keys 2018-07-07 23:59:23 +03:00
Konstantinos Sideris
9a0e18dea7 Add a timeline message when encryption is enabled 2018-07-07 13:39:53 +03:00
Konstantinos Sideris
67458dd2f8 Mark all decrypted messages with a padlock
fixes #351
2018-07-07 12:35:29 +03:00
Konstantinos Sideris
3bc8d791fb Don't download dependencies during build
fixes #346
2018-07-04 01:38:54 +03:00
Konstantinos Sideris
6c5309d9eb Fix regressions regarding UI resizing
The room list would be hidden only through window resizing.
2018-07-04 00:05:05 +03:00
Konstantinos Sideris
4073d61045 Add shortcuts for chat-only & Room List-only views
Ctrl-O -> Chat
Ctrl-L -> Room list
2018-07-01 22:57:14 +03:00
Konstantinos Sideris
ccc6cd8dab Mark encrypted messages with a lock icon 2018-07-01 19:40:53 +03:00
Konstantinos Sideris
95ce2ef920 Implement dekstop notifications on Windows (#290) 2018-07-01 00:23:16 +03:00
Konstantinos Sideris
5b5d35fd1f Add basic support for replies (#292) 2018-06-30 15:13:15 +03:00
Konstantinos Sideris
d56446ce97 Allow arbitrary resizing of the main window & restore sidebar's size
fixes #160
fixes #163
fixes #187
fixes #127
2018-06-29 14:28:48 +03:00
Konstantinos Sideris
4344b6964f Save timeline messages in cache for faster startup times 2018-06-28 16:17:39 +03:00
Konstantinos Sideris
1d6746e4c9 Upgrade matrix-structs & mtxclient 2018-06-28 16:17:39 +03:00
Konstantinos Sideris
9802ea8809 Send one claim request per user that includes all devices
Add missing megolm algorithm field that was causing
the "unknown algorithm" error.
2018-06-25 17:19:52 +03:00
Konstantinos Sideris
cb21433dc8 Allow copying the version info in the settings page 2018-06-23 01:46:18 +03:00
Konstantinos Sideris
a72eca339f Immediately shutdown the http client on exit 2018-06-22 19:47:55 +03:00
Konstantinos Sideris
74396e9aba Verify signature of identity keys before sharing the megolm session
Ignore devices that fail the verification.
2018-06-20 00:38:34 +03:00
Konstantinos Sideris
961c880d55 Handle olm & lmdb exceptions during message decryption
fixes #345
2018-06-19 22:53:22 +03:00
Konstantinos Sideris
7ecabcd614 Mark encrypted rooms when processing room state 2018-06-18 18:36:19 +03:00
Konstantinos Sideris
604cdcec8a Save the olm account after we create new one-time keys
Otherwise after a restart the old account will be loaded and we
won't be able to decrypt messages from devices using the new one-time keys.

Also new one-time key upload requests will fail due to conflicts with
the existing keys with the same keyid.
2018-06-18 12:56:47 +03:00
Konstantinos Sideris
4514d13948 Improve logging a bit 2018-06-18 12:29:24 +03:00
Konstantinos Sideris
197b2dac74 Fix regressions regarding invites & slowness during shutdown 2018-06-17 18:44:04 +03:00
Konstantinos Sideris
d081fe9b9e Setup BinTray 2018-06-17 16:53:14 +03:00
Konstantinos Sideris
66249ed126 Correctly mark received messages whose response came after /sync 2018-06-17 02:29:19 +03:00
Konstantinos Sideris
c0d32ef319 Update CI instructions 2018-06-17 00:23:49 +03:00
Konstantinos Sideris
24e0285210 Don't try to send megolm session keys to devices with no one-time keys 2018-06-15 16:45:39 +03:00
Konstantinos Sideris
9102a141f3 Handle OLM_MESSAGE type of messages properly 2018-06-15 01:35:31 +03:00
Konstantinos Sideris
7fc010fc4f Fix CI errors on macOS & Windows
- Run the linter
- Explicitly use cmake for installing olm
2018-06-14 09:36:41 +03:00
Konstantinos Sideris
8e9d210a2a Rename the log namespace to avoid symbol clash with the math function
- Patch the olm repo with a CMakeLists.txt file
2018-06-14 02:28:35 +03:00
Konstantinos Sideris
5d47cc3940 Add support for sending encrypted messages 2018-06-13 12:28:00 +03:00
Konstantinos Sideris
e5dd64c63a Add method to convert PendingMessage's to event types
Add more logging during message sending
2018-06-12 22:35:10 +03:00
Konstantinos Sideris
a97528b432 Fix bug where cache was initialized twice in a row 2018-06-12 20:36:16 +03:00
Konstantinos Sideris
36cb62748b Add menu option to enable encryption in a private room 2018-06-12 09:45:26 +03:00
Konstantinos Sideris
626c680911 Add support for displaying decrypted messages 2018-06-10 20:03:45 +03:00
Konstantinos Sideris
b89257a34b Migrate to mtxclient for the http calls 2018-06-09 16:03:14 +03:00
Konstantinos Sideris
0a9d95dfc9 Include mtxclient in the build 2018-06-04 13:54:51 +03:00
Konstantinos Sideris
0fe81ecd4a Show Matrix ID tooltip when hovering over display name
fixes #212
2018-05-26 22:44:49 +03:00
Konstantinos Sideris
b371c15b5f Properly resize Audio & File widgets
Remove empty space between username & timeline widgets
2018-05-26 17:05:57 +03:00
Konstantinos Sideris
90595beb16 Set fixed height for the DateSeparator & TextLabel 2018-05-26 10:34:34 +03:00
Konstantinos Sideris
bcba977f4c Fix resize slowness on the TopBar 2018-05-25 16:13:38 +03:00
Konstantinos Sideris
5538a04690 Make the number of unread messages fit in the bubble
fixes #330
2018-05-25 10:01:53 +03:00
Konstantinos Sideris
3cf7ab9f04 Fix line break issue on timeline with long words
fixes #193
2018-05-23 16:33:30 +03:00
Konstantinos Sideris
9eb1c496a0 Retrieve the current room state from cache when the edit modal opens 2018-05-18 21:43:58 +03:00
Konstantinos Sideris
d88dee3185 Refresh the room info on the top bar after sync 2018-05-18 21:37:08 +03:00
Konstantinos Sideris
4ab42c68f4 Fix crash on unfinished animation & center the edit modal 2018-05-18 21:27:44 +03:00
Konstantinos Sideris
791a9d0a4d Hide the edit menu when the user doesn't have enough power 2018-05-16 23:30:50 +03:00
Konstantinos Sideris
340c9ab9de Add menu to modify the name & topic of the room
fixes #235
2018-05-16 20:41:15 +03:00
twahm
4bd43780d9 Add read support for room access options (#324)
- Join rules
- Guest access
2018-05-13 01:31:58 +03:00
Konstantinos Sideris
18061f0600 Use the correct avatar size for HiDPI displays 2018-05-11 16:00:14 +03:00
Konstantinos Sideris
05585ff8cf Make explicit that MatrixClient & Cache are unique pointers 2018-05-11 13:41:46 +03:00
Konstantinos Sideris
701aa93b0a Add scrollbar in the settings menu 2018-05-09 01:00:10 +03:00
Anton Karmanov
17896b1c82 Start in tray (#319) 2018-05-08 23:53:40 +03:00
Konstantinos Sideris
7d809be79f Hide SnackBar initially & guard against access of an empty list 2018-05-08 23:38:57 +03:00
Konstantinos Sideris
ebed87ea57 Don't use shared pointers for cache 2018-05-08 20:30:09 +03:00
Konstantinos Sideris
4c4ea557b3 Replace shared pointers of MatrixClient with a single instance 2018-05-08 18:43:56 +03:00
Konstantinos Sideris
5aff3e4309 Don't send notification for the room that is currently open 2018-05-07 12:00:49 +03:00
Konstantinos Sideris
506cf68072 Implement desktop notification for mac 2018-05-05 22:40:24 +03:00
Konstantinos Sideris
ed9501023a Add support for retrieving the notification events (#33) 2018-05-05 16:38:41 +03:00
Konstantinos Sideris
156e1e62a6 Fetch user avatars while browsing the member list 2018-05-04 17:59:29 +03:00
Konstantinos Sideris
8dd21b1dae Remove the extra top margin from timeline widgets 2018-05-04 15:47:04 +03:00
Konstantinos Sideris
7dab863738 Remove flickering by updating auto-complete menu items in-place
Instead of deleting the current items and creating new ones.
2018-05-03 17:29:02 +03:00
Konstantinos Sideris
d6ac72ab3f Default to the first item in room selection menu
- Add backwards navigation with backtab

fixes #316
2018-05-03 15:19:28 +03:00
Konstantinos Sideris
916c0d48af Move access token to header 2018-05-02 16:00:37 +03:00
Konstantinos Sideris
7f69c71814 Handle invalid access token 2018-05-02 15:30:08 +03:00
Konstantinos Sideris
23accc50d6 Show user avatar for messages on different day or time gap > 15 mins
fixes #278
2018-05-01 23:32:11 +03:00
Konstantinos Sideris
763330fd3c Add member list 2018-05-01 19:35:28 +03:00
Konstantinos Sideris
3097037c3d Add prototype room settings menu 2018-04-30 21:41:47 +03:00
Konstantinos Sideris
21c68c5824 Show room tooltips when the sidebar is collapsed 2018-04-30 09:27:12 +03:00
Konstantinos Sideris
62d54146a7 More consistent spacing between messages 2018-04-29 20:39:22 +03:00
Konstantinos Sideris
95120c602b Refactor utils::getMessageDescription 2018-04-29 15:42:40 +03:00
Konstantinos Sideris
7621dc0cb0 Fix UI inconsistencies between room list & communities
fixes #204
fixes #255
2018-04-28 15:27:12 +03:00
Konstantinos Sideris
bee9278a1a Remove old/unused code 2018-04-28 13:16:37 +03:00
Konstantinos Sideris
3f80725c33 Add support for displaying m.sticker events
fixes #291
2018-04-27 22:15:44 +03:00
Konstantinos Sideris
c971602b2d Add remove_if for maps 2018-04-27 18:19:43 +03:00
Konstantinos Sideris
2c6192d08f Fix clicking on room list suggestions 2018-04-27 14:04:13 +03:00
Konstantinos Sideris
b72e48cbab Improve room searching
fixes #257
2018-04-27 01:57:46 +03:00
Konstantinos Sideris
31f5fbf891 Improve the date separator widget 2018-04-25 15:38:25 +03:00
Konstantinos Sideris
b655a503a7 Fix signal redefinition warning 2018-04-24 23:57:49 +03:00
Konstantinos Sideris
4fd8eccece Adjust completion menu to fit its contents 2018-04-24 16:03:50 +03:00
Konstantinos Sideris
649d73a7bd Clear typing notifications when the user list is empty
fixes #304
2018-04-24 14:50:47 +03:00
Konstantinos Sideris
0028fdfe6c Remove map from room_id to QPixmap from ChatPage
The avatars are loaded from cache
2018-04-24 14:13:05 +03:00
Konstantinos Sideris
4f6ffb6e73 Fix CI errors 2018-04-22 15:37:23 +03:00
Konstantinos Sideris
1642f3cf40 Update invites in the UI after sync 2018-04-22 14:19:05 +03:00
Konstantinos Sideris
c0e355f485 Properly clean stale invites 2018-04-22 12:26:41 +03:00
Konstantinos Sideris
6d0bc0c05e Strip whitespace from room names for QuickSwitcher 2018-04-22 11:27:00 +03:00