Commit graph

64 commits

Author SHA1 Message Date
Konstantinos Sideris
05585ff8cf Make explicit that MatrixClient & Cache are unique pointers 2018-05-11 13:41:46 +03:00
Konstantinos Sideris
4c4ea557b3 Replace shared pointers of MatrixClient with a single instance 2018-05-08 18:43:56 +03:00
Konstantinos Sideris
ed9501023a Add support for retrieving the notification events (#33) 2018-05-05 16:38:41 +03:00
Konstantinos Sideris
f1b355f7a7 Add missing header 2018-05-02 16:35:07 +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
2f00fc51bf Cache refactoring 2018-04-21 16:35:03 +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
72d5d6d286 Show avatars in the completion popup 2018-03-25 15:59:47 +03:00
Konstantinos Sideris
a0ae6cf5d5 Add ability to redact messages 2018-03-17 21:23:46 +02:00
Konstantinos Sideris
4659d0efc2 Implement user registration with reCAPTCHA
fixes #264
2018-03-12 22:23:26 +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
0f62cba498 Retry initial sync only on specific errors
fixes #233
fixes #89
2018-03-04 14:49:15 +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
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
Konstantinos Sideris
64dd4c5985 Remove Accept-Encoding header 2018-01-22 12:02:07 +02:00
Konstantinos Sideris
c123bada94 Refactor avatar fetching in one function 2018-01-21 20:28:38 +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
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
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
christarazi
ddfce136ed Add support for pasting images into a room (#180)
fixes #132
2018-01-10 09:52:59 +02:00
Max Sandholm
312df6f3bb Communities (#195) 2018-01-09 15:07:32 +02:00
Konstantinos Sideris
33f534c6f8 Cache room avatars (#139)
fixes #107
2017-12-22 00:00:48 +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
a605e4486f Migrate to matrix-structs for event and response parsing 2017-12-04 18:41:19 +02:00
Konstantinos Sideris
5573548fb1 Allow audio clip uploads 2017-12-01 17:33:49 +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
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
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
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
a17b6dffaf Clean up headers 2017-10-28 15:46:39 +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
13e526c27d Retry initial sync (#19) 2017-10-20 22:32:48 +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
985530e99b Resume sync when connectivity is established 2017-10-05 18:13:11 +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
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
2644e4acca Small style change 2017-08-20 13:47:22 +03:00
jansol
f5ba63946b Improve login flow (#35)
* Validate both inferred and explicitly entered server addresses by attempting to call the /versions endpoint
* If the domain from the mxid fails validation, try prefixing it with 'matrix'
* Only show server address field if address validation ultimately fails
2017-07-08 14:41:49 +03:00
Konstantinos Sideris
26dfbfd08c Lazy load initial timeline events 2017-06-05 19:54:45 +03:00