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
Konstantinos Sideris
29bd8b71d1
Implement media cache
2018-04-21 21:18:57 +03:00
Konstantinos Sideris
54091cf403
Bump cache format version
2018-04-21 17:27:38 +03:00
Konstantinos Sideris
9d825b07ca
Remove dead code
2018-04-21 17:27:06 +03:00
Konstantinos Sideris
74ff905582
Clean up Top Bar
2018-04-21 17:21:44 +03:00
Konstantinos Sideris
4a2f1af090
Save read receipts
2018-04-21 17:14:16 +03:00
Konstantinos Sideris
2f00fc51bf
Cache refactoring
2018-04-21 16:35:03 +03:00
Konstantinos Sideris
ca66940ec3
Popup improvements
...
- ESC closes the popup.
- Up/Down arrows for navigation.
- BackTab for backwards navigation.
fixes #301
fixes #302
2018-04-14 14:12:36 +03:00
christarazi
0b3029b3c4
Implement pressing tab to navigate auto completion ( #294 )
...
Fixes #287
* Fix pop-up not showing when less than max
* Select suggestion by pressing Enter
2018-04-10 11:47:23 +03:00
Konstantinos Sideris
5125433552
Hide emoji panel if it's not under the mouse cursor
...
fixes #254
fixes #246
2018-04-08 15:49:53 +03:00
Konstantinos Sideris
8dc17ccecb
Bump version
2018-04-03 15:17:34 +03:00
Konstantinos Sideris
33a8628059
Update the room list after a redacted event has been removed
...
fixes #286
2018-04-03 10:24:35 +03:00
Konstantinos Sideris
0a09ce0f75
Update first & last sender after message deletion
...
fixes #282
2018-03-27 21:07:39 +03:00
Konstantinos Sideris
284d200361
Fix invite button colors on the system theme
...
fixes #248
2018-03-27 20:21:14 +03:00
Konstantinos Sideris
f4675165ea
Add environment variable to allow insecure connections (self-signed certs)
...
NHEKO_ALLOW_INSECURE_CONNECTIONS=1 ./nheko
fixes #260
2018-03-27 10:38:00 +03:00
Konstantinos Sideris
ed0b345e76
Pin invites to the top of the room list
...
fixes #252
2018-03-26 22:02:53 +03:00
Konstantinos Sideris
15931fc322
Track invites so they can be removed outside of nheko
...
fixes #213
2018-03-26 21:39:00 +03:00
Konstantinos Sideris
f9fd03b958
Simplify variant usage
2018-03-26 20:41:16 +03:00
Konstantinos Sideris
f6f46119a6
Fix CI errors
2018-03-25 23:05:44 +03:00
Konstantinos Sideris
f02d3ee606
Replace std::thread with QtConcurrent
2018-03-25 21:50:45 +03:00
Konstantinos Sideris
72d5d6d286
Show avatars in the completion popup
2018-03-25 15:59:47 +03:00
Konstantinos Sideris
553a97c8bb
Add basic support for username auto-completion
...
fixes #40
2018-03-24 23:16:15 +02:00
Konstantinos Sideris
f77a103209
Add version info in the settings menu
...
fixes #239
2018-03-22 16:20:22 +02:00
Konstantinos Sideris
64a6771dc8
Fix text color on room switcher
...
fixes #245
2018-03-22 09:16:17 +02:00
Konstantinos Sideris
480de2d30b
Adjust unread msg bubble
2018-03-20 21:23:01 +02:00
Hawkheart
42733eeb86
TimelineView: remove unneeded date separators when deleting a redacted message ( #279 )
...
fixes #276
2018-03-20 08:59:00 +02:00
Konstantinos Sideris
d2d65b6662
More stylistic changes & dark theme tweaks
2018-03-19 20:26:14 +02:00
Konstantinos Sideris
cef385e1e4
Use the full with of the roomlist for the last message
2018-03-19 18:10:48 +02:00
Konstantinos Sideris
bac1f46127
Dark theme revisited
2018-03-18 23:38:04 +02:00
Konstantinos Sideris
48ee36f6b2
Add border in community list & minor refactorings ( #204 )
2018-03-18 17:38:57 +02:00
Konstantinos Sideris
b70e09c7ec
Add border line above the text input
2018-03-18 17:08:13 +02:00
Konstantinos Sideris
7253dc2c54
roomlist: Put the message timestamp on the top
2018-03-18 15:54:53 +02:00
Konstantinos Sideris
fef7cd5b83
Don't count m.room.member or m.room.reaction events as viewable
2018-03-18 13:29:21 +02:00
Konstantinos Sideris
81d3bd8ce6
Remove redacted events from other users ( #171 )
2018-03-18 12:47:35 +02:00
Konstantinos Sideris
49270d10b4
Update matrix-structs library
2018-03-18 11:05:39 +02:00
Konstantinos Sideris
a0ae6cf5d5
Add ability to redact messages
2018-03-17 21:23:46 +02:00
Konstantinos Sideris
2fe0dbb38c
Fix CI & adjust snackbar animation
2018-03-17 11:38:06 +02:00
Konstantinos Sideris
4a6becacca
Add fancy snackbar animation
2018-03-16 17:56:45 +02:00
Konstantinos Sideris
343acaf434
Remove opacity animation from the scrollbar
...
fixes #270
2018-03-16 17:29:21 +02:00
Konstantinos Sideris
511c58d608
Add context menu option to save images
...
fixes #265
2018-03-14 21:31:09 +02:00
Konstantinos Sideris
1b5e18cb1a
Fix CI builds
2018-03-13 08:53:32 +02:00
Konstantinos Sideris
4659d0efc2
Implement user registration with reCAPTCHA
...
fixes #264
2018-03-12 22:23:26 +02:00
Konstantinos Sideris
39a8150fae
Update room name & avatar on new rooms
...
fixes #253
2018-03-12 00:15:06 +02:00
Konstantinos Sideris
d6b61fbb14
Add context menu option to mark events individually as read
...
fixes #261
2018-03-11 17:56:40 +02:00
Konstantinos Sideris
290de548bb
Remove unused variables
2018-03-10 23:31:01 +02:00
Konstantinos Sideris
39abf163b8
Crete a proxy for media to uniquely match signal to the caller
2018-03-07 21:23:57 +02:00
Konstantinos Sideris
ea22bdce18
Add a unique id for locally uploaded images
...
The event_id will be an empty string because we haven't received yet
2018-03-07 20:42:32 +02:00
Konstantinos Sideris
af02b4f4a8
Show messages in the RoomList after initial sync
2018-03-04 15:39:41 +02:00
Konstantinos Sideris
fb5719f184
Don't handle password when the matrix id is entered
2018-03-04 15:15:52 +02:00
Konstantinos Sideris
0f62cba498
Retry initial sync only on specific errors
...
fixes #233
fixes #89
2018-03-04 14:49:15 +02:00
Konstantinos Sideris
7fc33a71fd
Bump version
2018-03-04 14:08:46 +02:00
Konstantinos Sideris
b15a04b00a
Don't open room switcher when another dialog is open
...
fixes #251
2018-03-04 13:40:30 +02:00
Stuart Mumford
47c31b9a18
Retry initial sync forever ( #234 )
2018-03-04 12:35:14 +02:00
Konstantinos Sideris
7f7f3a805b
Remove dead code & small refactorings using the std library
2018-03-03 22:08:56 +02:00
Konstantinos Sideris
735d508a29
Handle empty matrix ID (regression from 9de1ec1
)
...
fixes #259
2018-03-01 09:31:08 +02:00
Konstantinos Sideris
f6c279f6f2
Propagate errors during /login & /versions
2018-02-28 22:07:53 +02:00
Konstantinos Sideris
9de1ec1b7b
Fix crash when inviting users
2018-02-28 21:14:41 +02:00
Konstantinos Sideris
12a96aae6d
Add some missing references
2018-02-28 12:12:07 +02:00
Konstantinos Sideris
c75a136973
Enable room switcher only in the chat view ( #251 )
2018-02-26 13:17:04 +02:00
Konstantinos Sideris
f525b7e6a9
Replace login request with the one from matrix-structs
2018-02-23 22:27:59 +02:00
Konstantinos Sideris
fb850787d7
Relax matrix identifier parsing
...
fixes #241
2018-02-23 22:06:35 +02:00
Konstantinos Sideris
020f153f1f
Fix crash when trying to use automatically deleted ImageOverlay dialog
2018-02-20 22:08:16 +02:00
Konstantinos Sideris
f95998a64b
Be explicit about the captured parameters in lambdas
2018-02-20 17:09:11 +02:00
Konstantinos Sideris
127c52e39a
Scale down the preview image to fit in the application window
...
On macOS the modal has some extra space around the main content
that might make it unusable with a big enough image.
2018-02-19 23:33:11 +02:00
Konstantinos Sideris
1764bacd4b
Move scaleImage() in Utils
2018-02-19 23:32:37 +02:00
Konstantinos Sideris
8b139c32a3
Minor adjustments
2018-02-19 22:09:21 +02:00
Konstantinos Sideris
a8e17b9c91
Notify the user on upload failures
2018-02-19 00:17:54 +02:00
christarazi
cd9d1a2ec6
Support audio, video, generic file for pasting ( #220 )
...
* Refactor widget items to use same interface
* Support audio, video, generic file for pasting
* Add utils function for human readable file sizes
* Set correct MIME type for media messages
This change also determines the size of the upload once from the
ContentLengthHeader, rather than seeking the QIODevice and asking for
its size. This prevents any future trouble in case the QIODevice is
sequential (cannot be seeked). The MIME type is also determined at
upload once, rather than using the QIODevice and the underlying data
inside.
* Allow for file urls to be used as fall-back
This fixes an issue on macOS which uses `text/uri-list` for copying
files to the clipboard.
fixes #228
2018-02-18 22:52:31 +02:00
Konstantinos Sideris
c8bfb02211
Show loading indicator while waiting for /login & /logout
...
fixes #208
2018-02-18 22:22:26 +02:00
Konstantinos Sideris
7e2f835eec
Properly detect the start of the timeline
...
We can't rely solely on the number of the returned messages
because it could be zero if all the event types are unknown.
fixes #168
2018-02-17 19:29:53 +02:00
Konstantinos Sideris
fdd5051dcf
Remove QPropertyAnimation from modals to work around a regression on Qt 5.10.1 ( #87 )
2018-02-17 18:43:40 +02:00
Konstantinos Sideris
59e4148a7c
Fix transparency issue on custom dialogs
...
fixes #87
2018-02-17 14:04:46 +02:00
Konstantinos Sideris
8d867f418d
Hide emoji picker when the app loses focus
...
fixes #184
fixes #209
2018-02-16 19:02:15 +02:00
Konstantinos Sideris
86280098b4
Implement server-side notification count
2018-02-15 21:58:57 +02:00
Konstantinos Sideris
6d08e67abd
Simplify variant access with std::visit
2018-02-11 19:30:22 +02:00
William Pitcock
0be787f1e4
RoomList: do not blindly dereference RoomState ( #232 )
...
This can happen when a new room is being created from a different client and thus is created
with no known state to the local client.
2018-02-11 14:39:06 +02:00
Konstantinos Sideris
ba8faa357f
Remove empty destructors
2018-02-10 16:29:09 +02:00
Konstantinos Sideris
26f221ec23
Move LeaveRoom dialog to MainWindow ( #87 )
2018-02-10 16:05:31 +02:00
Konstantinos Sideris
ddcc0f7f60
Generate a date separator before local messages
2018-02-10 01:09:30 +02:00
Konstantinos Sideris
da6b816228
Remove tone emoji
2018-02-09 12:20:09 +02:00
Konstantinos Sideris
b60554b8fd
Add a timeout timer for initial sync ( #223 , #222 )
...
Show a better message on the login screen after an initial sync failure.
2018-02-08 19:07:58 +02:00
Chris Tarazi
31eb0a9c88
Create new font for checkmark
2018-02-07 21:32:22 -08:00
Chris Tarazi
2dcc01633e
Apply fixed width for checkmark for all messages
2018-02-07 21:32:21 -08:00
Chris Tarazi
a15079c68f
Fix #217 : create space for checkmark beforehand
2018-02-07 21:32:20 -08:00
Konstantinos Sideris
43ba4d5ed5
Handle case with no available rooms
...
fixes #181
2018-02-02 10:51:07 -07:00
Konstantinos Sideris
96e99710fc
Second attempt to fix failback text size for ImageItem
2018-01-31 09:27:34 -07:00
Konstantinos Sideris
117a739bc4
Add enough space for the failback text in ImageItem
2018-01-30 15:30:25 -07:00
Konstantinos Sideris
07a4e38ed8
Increase pagination retry timeout
2018-01-30 13:40:48 -07:00
Konstantinos Sideris
b1f232bf86
Render messages received by /messages
on demand
2018-01-30 12:56:01 -07:00
Konstantinos Sideris
992332adf7
Update user avatars in place
2018-01-30 11:39:06 -07:00
Konstantinos Sideris
597f829c57
Remove '#' from the room avatars
2018-01-25 18:10:05 +02:00
Konstantinos Sideris
67418e11b1
Add missing processEvents call
2018-01-25 17:18:37 +02:00
Konstantinos Sideris
2cf3161bff
Call processEvents while rendering new events
2018-01-25 16:49:31 +02:00
Konstantinos Sideris
0e91dae922
Erase items using the key
2018-01-25 14:34:15 +02:00
Konstantinos Sideris
936e215aed
Resize text input vertically to fit the contents
2018-01-25 07:57:19 +02:00
Konstantinos Sideris
1fad9398fc
Use more stl containers & minor refactorings
2018-01-24 20:46:37 +02:00
Konstantinos Sideris
9eedcd700a
Remove trailing whitespace from text messages
...
fixes #216
2018-01-23 18:14:13 +02:00
Konstantinos Sideris
2274642f12
Show the scroll-down button when showing the timeline
2018-01-23 17:34:57 +02:00
Konstantinos Sideris
48dabdfdc7
Don't dismiss the loading overlay by clicking
2018-01-22 16:47:08 +02:00
Konstantinos Sideris
72cba5d9eb
Disable minimize to tray except for the ChatPage
2018-01-22 16:33:47 +02:00
Konstantinos Sideris
4098cf6780
Fix ci
2018-01-22 14:52:54 +02:00
Konstantinos Sideris
64dd4c5985
Remove Accept-Encoding header
2018-01-22 12:02:07 +02:00
Konstantinos Sideris
c59cd0e80b
Load the initial cache data without blocking the UI
2018-01-21 21:43:21 +02:00
Konstantinos Sideris
c123bada94
Refactor avatar fetching in one function
2018-01-21 20:28:38 +02:00
Konstantinos Sideris
fc890f572c
Fix iterator crash
2018-01-21 18:25:58 +02:00
Konstantinos Sideris
e37c2e34ce
Use the Accept-Content header to enable response compression
...
fixes #86
fixes #89
2018-01-21 15:12:21 +02:00
Konstantinos Sideris
92a578f5e8
Convert 'if' to 'else if' to remove a no-op
2018-01-17 10:16:54 +02:00
Konstantinos Sideris
9de2db2fb8
Automatically focus on input when opening a dialog
2018-01-16 22:50:47 +02:00
Konstantinos Sideris
eea33062e3
Add some very useful commands
2018-01-16 22:34:31 +02:00
Konstantinos Sideris
26540bd120
Hack to work around layout flickering when adding new timeline items
2018-01-16 22:24:23 +02:00
Konstantinos Sideris
7792ca7149
Fix emoji as avatars issue for the receipts
2018-01-16 21:02:29 +02:00
Konstantinos Sideris
caf5b70994
Move the cursor to the start/end of the text before we move up/down in history
...
fixes #166
2018-01-16 20:51:46 +02:00
Konstantinos Sideris
af5663b6bc
Add borders
2018-01-15 21:04:49 +02:00
Konstantinos Sideris
020a842aef
Change cache format to not allow duplicate receipts
...
Convert list of receipts to map<userId, timestamp>
2018-01-14 23:37:38 +02:00
Konstantinos Sideris
4521837765
Add option to disable typing notifications
...
fixes #131
2018-01-14 15:57:58 +02:00
Konstantinos Sideris
c4fa8c844d
Add a checkmark to messages that have been received by the server ( #93 )
2018-01-14 12:54:17 +02:00
Konstantinos Sideris
dfeb0c833a
Move timestamps to the right
2018-01-14 12:29:54 +02:00
Konstantinos Sideris
d31a08f1d5
Keep syncing regardless of connectivity ( #93 )
2018-01-13 22:25:15 +02:00
Konstantinos Sideris
d3603606e7
Make some functions inline
2018-01-13 17:52:23 +02:00
Konstantinos Sideris
3929261a8e
Use QSharedPointer to save RoomStates
2018-01-13 17:15:47 +02:00
krombel
f87b8fe817
Upload filter automatically and use filter_id ( #201 )
...
When a custom filter is inserted into nheko.conf or there was no filter
defined yet the default filter gets automatically uploaded.
After a successful upload the server-side generated filter-id is used.
This is done async as it is just an enhancement and it is not required
to upload the filter before the first request.
2018-01-13 14:49:51 +02:00
Konstantinos Sideris
daabb40bed
Use Q_NULLPTR to be compatible with qt5.7
...
fixes #199
2018-01-12 11:27:24 +02:00
Konstantinos Sideris
5b09c8e652
Handle surrogate pairs in avatars
2018-01-12 10:21:53 +02:00
Konstantinos Sideris
8beef5e61f
Dismiss modal by clicking on the overlay
2018-01-11 18:10:18 +02:00
Konstantinos Sideris
9521efab7e
Lint
...
[ci skip]
2018-01-11 16:34:43 +02:00
krombel
0570135253
Filter out content in sync that is currently unhandled ( #198 )
...
I had a look at sync.cpp and checked which parts of the sync response
are currently handled and which not. As I think it is unnecessary to let the
unhandled data be transmitted without being handled I added these filters.
In the same term I increased the timeout server-side to 30s as Riot
defaults to this value as well. Especially now when a lots of presence-updates
are not send anymore this value is more relevant.
It is now also possible to use a filter that is defined in`client/sync_filter`.
Advanced users might want to set an own filter here.
[ci skip]
2018-01-11 16:33:50 +02:00
Konstantinos Sideris
82341247f7
Remove Connection header
2018-01-10 23:38:34 +02:00
christarazi
ddfce136ed
Add support for pasting images into a room ( #180 )
...
fixes #132
2018-01-10 09:52:59 +02:00
Konstantinos Sideris
53f670096c
Make group's sidebar visible through an option
2018-01-09 21:57:41 +02:00
Max Sandholm
312df6f3bb
Communities ( #195 )
2018-01-09 15:07:32 +02:00
Konstantinos Sideris
81a706bf20
Make usernames in timeline less bold
2018-01-08 11:27:37 +02:00
Konstantinos Sideris
953634c9b5
Enable read receipts on messages sent through nheko
2018-01-05 15:28:38 +02:00
Konstantinos Sideris
983aea7c76
Create widgets on demand for messages added to the end of the timeline
2018-01-05 00:27:32 +02:00
Konstantinos Sideris
a7e84b63ac
Remove an extra colon from the receipt time
...
[ci skip]
2018-01-04 10:52:49 +02:00
Konstantinos Sideris
eaf05748ff
Initial support for read receipts
2018-01-03 18:06:29 +02:00
Konstantinos Sideris
f7003ddeb5
Load last content from all rooms
...
fixes #175
2017-12-30 18:16:11 +02:00
Konstantinos Sideris
5e0fbe87a0
Use toMSecsSinceEpoch
to be compatible with qt < 5.8
2017-12-30 17:44:47 +02:00
Konstantinos Sideris
208f957911
Re-order room list based on activity
...
fixes #2
2017-12-30 17:29:57 +02:00
Konstantinos Sideris
d1d8b92b37
Use qobject_cast on TimelineItem
2017-12-30 11:59:55 +02:00
Konstantinos Sideris
1ab55d4732
Add date separator in the timeline
...
fixes #157
2017-12-25 23:02:33 +02:00
Konstantinos Sideris
6835a97b15
Use a better regex to identify URLs
2017-12-24 13:13:07 +02:00
Konstantinos Sideris
e57f5f848b
Restrict display name width to 500px
2017-12-23 14:06:59 +02:00
Konstantinos Sideris
9d763c4de9
Don't keep fetching history on non-visible timelines
...
If the user switched to another timeline before the current timeline
filled up with messages, nheko would keep fetching history.
Now it will check periodically if the timeline became visible so
it can decide whether or not to stop fetching history.
2017-12-23 13:50:11 +02:00
Konstantinos Sideris
de61663e42
Use the "state_key" to assign avatars
...
fixes #113
fixes #173
2017-12-22 16:02:08 +02:00
Konstantinos Sideris
33f534c6f8
Cache room avatars ( #139 )
...
fixes #107
2017-12-22 00:00:48 +02:00
Konstantinos Sideris
ece20dd917
Add rounded corners to inline images
2017-12-21 18:27:57 +02:00
Konstantinos Sideris
32377dc027
Remove the 'Video' prefix from video links
2017-12-21 16:02:54 +02:00
Konstantinos Sideris
1705273bb8
Fix font size inconsistencies
2017-12-21 14:36:05 +02:00
Konstantinos Sideris
ccbcfe9fa4
Bold room names
2017-12-21 13:41:05 +02:00
Konstantinos Sideris
aaa4d8c323
Prevent emoji selector for closing
...
fixes #176
2017-12-21 13:17:38 +02:00
Konstantinos Sideris
f11044b5eb
Handle incoming invites
...
fixes #128
2017-12-19 22:36:12 +02:00
Konstantinos Sideris
101bf47443
Remove minimum height limit ( #160 , #163 )
2017-12-17 17:49:22 +02:00
Konstantinos Sideris
b5e692bb28
Improve logging on event parsing failure
2017-12-16 19:31:07 +02:00
Konstantinos Sideris
65672d3dfb
Allow only one application instance
...
fixes #141
2017-12-14 21:55:00 +02:00
Konstantinos Sideris
1d285993f7
Valgrind run
...
- Fix a memory leak where a layout was created without being used.
- Fix uninitialized value.
2017-12-12 09:31:00 +02:00
Konstantinos Sideris
544b623512
Add dialog to create rooms
...
fixes #25
2017-12-11 23:00:37 +02:00
Konstantinos Sideris
ef0b0f6879
Add menu to invite users
2017-12-10 23:59:50 +02:00
Konstantinos Sideris
19bae2a2e6
Add gui option for joining rooms ( #25 )
2017-12-10 15:22:01 +02:00
Konstantinos Sideris
d872b1060b
Reset cache on breaking changes
...
fixes #154
2017-12-10 12:51:44 +02:00
Konstantinos Sideris
f176af0f7a
Catch deserialization exceptions on initial /sync
2017-12-06 21:25:56 +02:00
Konstantinos Sideris
c1d0bbaf0b
Prevent queue from getting blocked ( #142 )
...
Try sending a message when all the sent messages have been received
through /sync.
2017-12-06 02:59:15 +02:00
Konstantinos Sideris
6415c4125f
Add style colors for the ScrollBar
2017-12-05 14:13:26 +02:00
Konstantinos Sideris
b9c4a819ad
Fix travis errors
2017-12-04 18:49:25 +02:00
Konstantinos Sideris
a605e4486f
Migrate to matrix-structs for event and response parsing
2017-12-04 18:41:19 +02:00
Konstantinos Sideris
3ea2053b25
Use std::exception for the login response
2017-12-03 02:50:46 +02:00
Konstantinos Sideris
914bdecc0b
Initial integration with matrix-structs
2017-12-03 02:47:37 +02:00
Konstantinos Sideris
f4f78b1d8a
Add basic support for m.video messages
...
fixes #115
2017-12-01 18:28:26 +02:00
Konstantinos Sideris
5573548fb1
Allow audio clip uploads
2017-12-01 17:33:49 +02:00
Konstantinos Sideris
432a2e1354
Add inline audio clip player (m.audio) ( #143 )
2017-12-01 15:39:50 +02:00
Konstantinos Sideris
eae069ad93
Group emoji and dialogs with namespaces
2017-11-30 20:02:46 +02:00
Konstantinos Sideris
32c8340577
Create directories for related files
2017-11-30 13:53:28 +02:00
Konstantinos Sideris
5663c58dd9
Use templates for the TimelineItem generation
2017-11-30 13:19:34 +02:00
Konstantinos Sideris
deb1a6e292
Simplify timeline item creation
2017-11-30 12:55:30 +02:00
Konstantinos Sideris
fdb76bb5c1
Implement file uploads
...
fixes #24
2017-11-29 23:39:35 +02:00
Konstantinos Sideris
b21942a3e3
Add read support for m.file messages ( #24 )
2017-11-28 02:01:37 +02:00
Konstantinos Sideris
f1eb0bbac0
Remove another /messages call ( #139 )
2017-11-26 22:30:14 +02:00
Konstantinos Sideris
e4c8a555d6
Don't backfill messages automatically ( #139 )
2017-11-26 02:22:58 +02:00
Konstantinos Sideris
0dad256743
Reload theme without restart ( #137 )
2017-11-25 22:47:06 +02:00
Konstantinos Sideris
54cf3418bc
Paint RoomList's background ( #137 )
2017-11-25 22:20:34 +02:00
Konstantinos Sideris
f0ecf6eee6
Add dark theme
2017-11-25 18:19:58 +02:00
Konstantinos Sideris
f36e498503
Update system theme
2017-11-25 15:14:37 +02:00
Konstantinos Sideris
f4036f6f56
Use span tags to prevent html escaping
2017-11-25 14:01:01 +02:00
Konstantinos Sideris
0f363b5f44
Send read receipts
...
Automatically dismiss unread notifications when the window regains
focus.
fixes #111
fixes #68
2017-11-24 00:10:58 +02:00
Konstantinos Sideris
fc34f373df
Remove unnecessary comments
2017-11-22 21:13:22 +02:00
Konstantinos Sideris
56d8be5a27
Fix emoji picker's theme
2017-11-22 21:03:53 +02:00
Konstantinos Sideris
552941118b
Fix minor stylistic issues on the nheko theme
2017-11-22 19:52:38 +02:00
Konstantinos Sideris
929b2df6fb
Merge branch 'theme'
2017-11-22 19:09:19 +02:00
Konstantinos Sideris
937caddacd
Keep track of newly joined rooms in the settings manager
...
fixes #134
2017-11-21 17:34:32 +02:00
Max Sandholm
19b526d453
Use system color scheme (using a Qt stylesheet) #104
...
The color scheme of nheko obeys the default color theme of Qt
(i.e. the system theme). It uses a Qt stylesheet to accomplish this,
which means replacing the color theme with a custom theme would only
be a matter of writing a new style sheet and loading it into the app.
2017-11-16 16:33:52 +02:00
Konstantinos Sideris
21fdb26bd4
Don't send empty messages
2017-11-16 14:42:13 +02:00
Konstantinos Sideris
4166a863b4
Lint
2017-11-15 18:42:21 +02:00
Jani Mustonen
4e1c8dd663
Implement a per-room send queue. ( #118 )
...
[ci skip]
2017-11-15 18:38:50 +02:00
Konstantinos Sideris
e40dab9f98
Improve settings menu layout
2017-11-09 22:04:40 +02:00
Konstantinos Sideris
b586a2329c
Fix roomlist borders
2017-11-09 11:39:21 +02:00
Konstantinos Sideris
9c331905e6
Fix initial sidebar width
2017-11-09 00:17:08 +02:00
Konstantinos Sideris
a6b84fac45
Remove unnecessary layouts
2017-11-08 23:09:15 +02:00
Konstantinos Sideris
26904fe992
Remove obsolete artifact from appveyor
2017-11-07 09:16:39 +02:00
Konstantinos Sideris
dc0ffc26dd
Merge remote-tracking branch 'ralith/fix-newlines'
2017-11-07 09:15:30 +02:00
Konstantinos Sideris
24dd76ee0b
Parse unsigned key
2017-11-06 22:14:16 +02:00
Benjamin Saunders
097dac4f79
Fix wacky newline/linkification interaction
2017-11-05 16:23:19 -08:00
Benjamin Saunders
e19775443a
Fix newlines not being displayed ( #122 )
...
Fixes #64
2017-11-06 00:29:02 +02:00
Benjamin Saunders
d0d15f8f58
Fix a formatting issue that snuck in between PRs ( #123 )
2017-11-06 00:25:47 +02:00
Benjamin Saunders
5bd5555a51
Use C++11 braced list style ( #121 )
2017-11-05 23:04:55 +02:00
Benjamin Saunders
4ccb5ed81f
Add input history, enable multi-line input, refactor commands ( #119 )
...
This also fixes the transmission of mis-typed commands as messages,
fixes inability to send messages that start with a command, and does
some initial work towards automatically resizing the input field to fit
the input message.
2017-11-05 23:01:21 +02:00
Konstantinos Sideris
595d11cfa0
Exclude modifier keys from triggering typing notifications
...
fixes #116
2017-11-05 00:19:56 +02:00
Jani Mustonen
8c5a331c73
Simple SOCKS proxy support ( #110 )
2017-11-04 13:28:50 +02:00
Konstantinos Sideris
7e03ca4359
Reset the sender's name when paginating backwards
...
The first message of the timeline would have an avatar and
the rest of the messages would use the previous to be configured
(whether or not should have an avatar).
fixes #63
2017-11-03 14:25:01 +02:00
Jani Mustonen
13cb0521fa
Improvements to the quick switcher ( #109 )
...
- Ghetto disambiguation for the quick switcher
- Fix the Ctrl+K shortcut
- Fix keyboard focus when the quick switcher is closed
fixes #114
2017-11-03 08:54:17 +02:00