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