Commit graph

305 commits

Author SHA1 Message Date
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
Konstantinos Sideris
beda0db543 Update issue template 2017-11-02 22:02:31 +02:00
Jani Mustonen
84741adc16 Implement a setting for the tray icon (#108) 2017-11-02 22:00:43 +02:00
Konstantinos Sideris
886edd03fb Add dummy settings menu 2017-11-02 00:41:13 +02:00
Thomas Herzog
287b5aa4c0 Implemented sending of typing notifications (#105) 2017-10-31 20:11:49 +02:00
Konstantinos Sideris
91b8427795 Add missing headers 2017-10-28 21:24:42 +03:00
Konstantinos Sideris
e224440f5d Display user avatar changes 2017-10-28 21:11:40 +03:00
Konstantinos Sideris
c18a49915b Save the changes between syncs in cache
- Fixes high cpu issues caused by the serialization of the whole
  in-memory state.
- Display name changes are now visible in the timeline.
2017-10-28 20:46:34 +03:00
Konstantinos Sideris
a17b6dffaf Clean up headers 2017-10-28 15:46:39 +03:00
Konstantinos Sideris
845228ac6a Add scroll-down button 2017-10-27 22:20:33 +03:00
Konstantinos Sideris
8e15a5080d Adjust scrollbar only after pagination (#94)
The scrollbar will stay in the same position if new messages
are added to the bottom of the timeline.
2017-10-27 13:36:26 +03:00
Konstantinos Sideris
c6e1068e0e Lint 2017-10-23 00:19:35 +03:00
Konstantinos Sideris
143ed5176a Use callbacks on MatrixClient 2017-10-22 22:51:50 +03:00
Konstantinos Sideris
c0e55378c3 Remove extra inline keywords 2017-10-22 19:03:55 +03:00
Konstantinos Sideris
160fe1d668 Remove cache updates from the main thread 2017-10-21 21:17:01 +03:00
Konstantinos Sideris
3cae6c3983 Remove ui flickering when adding new timeline events 2017-10-21 18:53:15 +03:00
Konstantinos Sideris
47d1546adf Clean unread count when the user logs out
fixes #60
2017-10-21 16:46:11 +03:00
Konstantinos Sideris
13e526c27d Retry initial sync (#19) 2017-10-20 22:32:48 +03:00
Konstantinos Sideris
8a9a513ecd Move ctrl-k callback to the MainWindow 2017-10-20 21:39:05 +03:00
Konstantinos Sideris
9b60fdd620 Remove sync timer 2017-10-20 21:21:04 +03:00
Rokas Kupstys
3205e5fdd3 Make sidebar topic expand on click and fix html formatting of elided text. (#96)
Fixes #95
2017-10-20 20:58:23 +03:00
Konstantinos Sideris
8299a74775 Elide room topic 2017-10-19 19:04:51 +03:00
Konstantinos Sideris
8390ff253d Fix icons for retina displays 2017-10-15 22:08:51 +03:00
Konstantinos Sideris
513f69e88a Scroll to the bottom on new messages
Bug introduced on the last commit
2017-10-09 13:59:44 +03:00
Konstantinos Sideris
ac8e42b926 Reduce timeline flickering 2017-10-09 01:32:25 +03:00
Konstantinos Sideris
76ddfb792b Add /join command support 2017-10-08 22:38:38 +03:00
Konstantinos Sideris
ac525970b0 Add snackbar 2017-10-08 22:01:18 +03:00
Konstantinos Sideris
ebe36b5713 Drop the loading screen if consensus can't be achieved 2017-10-08 21:35:37 +03:00
Konstantinos Sideris
6e1285bb0e Prevent FOUC 2017-10-07 20:51:35 +03:00
Konstantinos Sideris
bc4b47a5e3 Use shared pointer for the modals 2017-10-07 20:51:35 +03:00
Konstantinos Sideris
985530e99b Resume sync when connectivity is established 2017-10-05 18:13:11 +03:00
Konstantinos Sideris
1fc68c5b7f Use string timeout parameter 2017-10-05 08:47:29 +03:00
Konstantinos Sideris
11a3282136 Remove full_state from initial sync 2017-10-04 22:11:55 +03:00
Konstantinos Sideris
28b3a3fde0 Put typing notifications above the text input 2017-10-04 22:00:26 +03:00
Konstantinos Sideris
d60c2b76e3 Receive typing notifications (#88) 2017-10-04 11:33:34 +03:00
Konstantinos Sideris
88349eae90 Recover from corrupted cache data
Make Cache constructor exception free

fixes #74
2017-10-03 21:16:31 +03:00
Victor Berger
73222aa900 Fix unicode handling of replaceEmoji (#84) 2017-10-02 20:52:21 +03:00
Konstantinos Sideris
35355756e5 Build lmdb on appveyor 2017-10-01 22:38:46 +03:00
Max Sandholm
7ad45d8d64 React to externally left and joined rooms, and add "leave room" button in room menu (#75)
* Initial "join room" feature.
* React correctly to remotely joined rooms.
* Leaving rooms implemented both locally using the room menu
   in nheko, and reacting properly when leaving a room remotely 
   from another client.
2017-10-01 19:49:36 +03:00
Konstantinos Sideris
6e0ae807d5 Update badge counter only on change 2017-10-01 18:15:23 +03:00
Konstantinos Sideris
0c0ac68bc2 Remove extra clang-format options 2017-10-01 12:51:29 +03:00
Rokas Kupstys
da6e7c11dc Fixes #50.
On KDE desktop icon failed to appear because TrayIcon requested a zero-size rect. Implementing MsgCountComposedIcon::availableSizes() method fixes that.

After icon became visible it was not transparent, and places that should have been transparent contained artifacts likely due to uninitialized memory. Implementing MsgCountComposedIcon::pixmap() which returns a pixmap with alpha channel fixes that.
2017-10-01 12:15:38 +03:00
Konstantinos Sideris
775d2e88f5 Don't move scrollbar to the bottom when it's active
fixes #55
2017-09-30 22:26:33 +03:00
Konstantinos Sideris
96562c078d Add custom logging format 2017-09-30 21:36:40 +03:00
Konstantinos Sideris
748f480077 Add missing update calls 2017-09-30 20:44:18 +03:00
Konstantinos Sideris
41a85832b3 Remove unnecessary animations 2017-09-30 17:05:05 +03:00
Konstantinos Sideris
ff1bc797de Refactor the welcome page 2017-09-30 16:39:24 +03:00
Konstantinos Sideris
b9521b0809 Stop sync timer after logout
Silence errors from redacted events
2017-09-30 15:52:14 +03:00
krombel
4c00e64f3f Allow handling of incomplete /sync responses (#67)
matrix-org/synapse#2358 proposes a change to only contain objects
in the sync stream where values get updated.
The current behavior leads nheko to fail when that is used.
2017-09-29 21:10:11 +03:00
Konstantinos Sideris
2f488bd9e3 Don't mangle bot's display name 2017-09-28 22:26:24 +03:00
Konstantinos Sideris
03da01423d Use a valid value for setWeight 2017-09-28 14:42:16 +03:00