Commit graph

56 commits

Author SHA1 Message Date
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
c6e1068e0e Lint 2017-10-23 00:19:35 +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
Konstantinos Sideris
8390ff253d Fix icons for retina displays 2017-10-15 22:08:51 +03:00
Konstantinos Sideris
76ddfb792b Add /join command support 2017-10-08 22:38:38 +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
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
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
b9521b0809 Stop sync timer after logout
Silence errors from redacted events
2017-09-30 15:52:14 +03:00
Konstantinos Sideris
3d13e1416a Use white as the background color 2017-09-20 23:17:11 +03:00
Konstantinos Sideris
edff71bc24 Implement image uploads (#24) 2017-09-10 12:58:00 +03:00
Konstantinos Sideris
b5ae84c3c3 Add write support for m.emote events
closes #41
2017-09-03 11:43:45 +03:00
Konstantinos Sideris
177dd6a5b0 Remove cache data when the user logs out 2017-08-26 14:31:23 +03:00
Konstantinos Sideris
7fbfe3af15 Update the cache state at once to avoid being in an invalid state 2017-08-26 13:49:16 +03:00
Konstantinos Sideris
2644e4acca Small style change 2017-08-20 13:47:22 +03:00
Konstantinos Sideris
8d81489e05 Ghetto room switcher 2017-08-15 21:06:27 +03:00
Konstantinos Sideris
69036967ff Focus on the text input when switching rooms 2017-08-14 18:25:43 +03:00
Konstantinos Sideris
146aaa8746 Display the most recent message instead of the topic
closes #11
2017-08-06 18:53:31 +03:00
Konstantinos Sideris
b1c7e58585 Remove extra exception catch 2017-08-05 16:27:30 +03:00
Konstantinos Sideris
af0f22fc91 Keep fetching history until the scrollbar gets activated 2017-08-05 15:59:24 +03:00
Konstantinos Sideris
8d05073547 Initial support for state cache
- Adds detection for duplicate events
2017-07-30 14:30:55 +03:00
Konstantinos Sideris
95c492bad8 Experimental support for user avatars in timeline 2017-06-05 02:14:05 +03:00
Konstantinos Sideris
af80c251d7 Add context menu on RoomList items 2017-05-31 19:42:07 +03:00
Konstantinos Sideris
c184362044 Add menu to toggle notifications 2017-05-31 17:06:03 +03:00
Konstantinos Sideris
0cd9e3b1e5 Resolve name and avatar on 1-on-1 rooms 2017-05-26 21:34:16 +03:00
Konstantinos Sideris
a45582585d Minimize to tray 2017-05-21 16:36:06 +03:00
Konstantinos Sideris
c480f8f4bc Snappy sidebar 2017-05-19 19:55:38 +03:00
Konstantinos Sideris
992af5611b Show user info even if the display name or avatar are missing 2017-05-16 15:43:29 +03:00
Konstantinos Sideris
49831a2390 Clear room state on logout 2017-05-16 15:23:31 +03:00
Konstantinos Sideris
f2ce910b16 Prefer non UserId as display names 2017-05-10 18:04:57 +03:00
Konstantinos Sideris
0834b246ad Initial support for display names 2017-05-08 19:44:01 +03:00
Konstantinos Sideris
1f90c58076 Use timeline to retrieve state events
- Rooms without any history will be shown.
- Room's state will be kept in sync and any updates will be visible.
2017-05-07 17:15:38 +03:00
Konstantinos Sideris
4b4035eebc Rename History to Timeline
In order to be compatible with the Matrix terminology
2017-04-27 03:14:12 +03:00
Konstantinos Sideris
e1d48367f8 Show the unread message count on the window title 2017-04-15 19:04:02 +03:00
Konstantinos Sideris
3b0ff1a4cd Add initial support for unread message count
- Add border width on Badge
2017-04-15 02:56:04 +03:00
Konstantinos Sideris
27f7142cd8 Initial implementation for local echo
Each HistoryView maintains a list of pending events. Each pending
message is validated from the homeserver with either the returned
EventId or the body of the message.

Currently there is no support to remove invalid messages.

Also some small refactoring:
    - ChatPage doesn't know about the message being sent. The message
      delivery is solely handled by HistoryViewManager.
    - Nick coloring function moved to HistoryViewManager.
2017-04-13 04:11:22 +03:00
Konstantinos Sideris
718562737c Don't use icons as room avatars 2017-04-12 17:14:53 +03:00
Konstantinos Sideris
e8aae26aea Small stylistic changes 2017-04-12 01:29:25 +03:00
Konstantinos Sideris
40722b7af7 Remove capitalization 2017-04-11 18:25:39 +03:00
Konstantinos Sideris
6468faa39e Use only a MatrixClient as a shared pointer 2017-04-11 17:45:47 +03:00