Commit Graph

562 Commits

Author SHA1 Message Date
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
Konstantinos Sideris 7a16e05b14 Initialize views before room list 2018-04-22 10:54:52 +03:00