Nicolas Werner
b8c6c716be
Make inline images work a bit better
2021-02-17 22:14:19 +01:00
Nicolas Werner
c9393fe3f6
Fix crash from logging unset indices (leftover after debugging)
2021-02-17 18:47:59 +01:00
Jedi18
0b6c82dfff
added bool to choose between showing only rooms with aliases and all of the rooms
2021-02-17 19:58:41 +05:30
Jedi18
19dbbb2c6c
add rooms model, add room delegate for completer
2021-02-16 00:50:28 +05:30
Akhil Nair
8400540428
Merge branch 'master' into room_settings_qml
2021-02-14 00:04:27 -05:00
Nicolas Werner
d43607d01c
Fix hover handling in the timeline
2021-02-14 01:28:28 +01:00
Jedi18
1a406f79e6
replaced with togglebutton using qtquickcontrols2
2021-02-13 23:59:42 +05:30
Nicolas Werner
7ddcab3902
Mark messages as read, when Nheko gets focused
...
fixes #235
2021-02-13 01:41:09 +01:00
Nicolas Werner
3c91b5b47b
Fix crash when editing an edited message pointing to itself
2021-02-12 16:11:11 +01:00
Jedi18
35aa0126ac
added changing of name through edit modal, removed old roomsettings
2021-02-12 12:48:12 +05:30
Jedi18
f044e2d2a1
fix avatar update on timeline sync
2021-02-11 23:50:45 +05:30
Jedi18
7401bd13b2
added notifications and encryption for the new roomsettings
2021-02-11 19:54:09 +05:30
Nicolas Werner
0db4d71ec2
Prevent edits of unsent messages
2021-02-10 21:13:57 +01:00
Jedi18
b70f37194f
ui almost looks the same, midway between transition from old room settings to new room settings
2021-02-10 21:22:42 +05:30
Nicolas Werner
2606568376
Fix messages sometimes not being rendered, when they are too large
2021-02-10 15:24:00 +01:00
Nicolas Werner
a62276c289
Fix UI allowing edits of foreign messages in some cases
2021-02-10 14:32:16 +01:00
Nicolas Werner
bdb6e6b79e
Fix stuck notifications because of edits
...
Does not fix the read status yet, for that we need to compare read
receipts for all events after the last visible event.
2021-02-10 01:03:20 +01:00
Nicolas Werner
9b7d33e847
Implement message editing
...
The UI still looks ugly, but I have no good idea atm.
fixes #134
2021-02-09 20:22:53 +01:00
Nicolas Werner
00fd4eecec
Display edits correctly
2021-02-09 20:22:49 +01:00
Nicolas Werner
faeaf9dc6b
Fix edited replies
2021-02-09 20:22:02 +01:00
Nicolas Werner
d6504812c7
Render edits
2021-02-09 20:22:02 +01:00
Nicolas Werner
2e77a1554f
Switch to new relations format
2021-02-09 20:22:02 +01:00
Jedi18
37679ac57e
added room settings qml
2021-02-09 23:11:39 +05:30
DeepBlueV7.X
23a9306383
Merge pull request #459 from Jedi18/minor_fixes
...
Fix emoji related issues
2021-02-09 16:25:37 +01:00
Nicolas Werner
375e20462b
Native rendering breaks kerning
2021-02-07 02:01:44 +01:00
Jedi18
4aefac08a4
focus message input on adding emoji/reacting to a message
2021-02-05 22:42:08 +05:30
DeepBlueV7.X
a7150b5666
Merge branch 'master' into avatar_username_feature
2021-02-03 03:17:28 +01:00
Jedi18
cd3f719e43
add loading indicator
2021-02-02 17:24:08 +05:30
Jedi18
d535cc5e75
add error message and update avatars on avatar change in timeline and user profile dialog
2021-02-02 13:30:47 +05:30
Joseph Donofry
53c653a228
Merge remote-tracking branch 'nheko-im/master' into privacy_screen
2021-02-01 18:42:38 -05:00
DeepBlueV7.X
2b7bd09ad3
Merge pull request #431 from Jedi18/avatar_username_feature
...
Username editing (room specific and global)
2021-02-01 19:14:57 +01:00
Loren Burkholder
c3fa592018
make lint
2021-01-29 18:17:44 -05:00
Loren Burkholder
cd998d1c35
Center user info dialog on the screen
2021-01-29 18:16:50 -05:00
Jedi18
9b5a287d14
made requeste changes
2021-01-29 11:55:24 +05:30
Jedi18
fa7ad4f234
Shifted fetching of global username fom timeline model to user profile
2021-01-29 00:09:11 +05:30
Jedi18
3b82b2ff97
fix linting
2021-01-28 23:53:56 +05:30
Jedi18
b3f29f592b
Changed edit method from double clicking to an edit button
2021-01-28 23:35:02 +05:30
Jedi18
87490c29cd
Username can be edited by double clicking on text, added global user profile menu action in user info widget
2021-01-28 20:03:50 +05:30
Nicolas Werner
50564985cc
Fix crash, when keys for no events were requested
2021-01-27 21:30:06 +01:00
Nicolas Werner
5fbf17f6ec
Fix request key loops
2021-01-27 20:29:06 +01:00
Jedi18
5e3f513655
update room specific username from userprofile
2021-01-27 11:03:08 +05:30
Joseph Donofry
bfeb766a91
Implement Privacy Screen
...
* Add handles for window focus gained / focus lossed and connect to timer
* Clean up some of the PrivacyScreen.qml code
* Connect settings to PrivacyScreen visibility
2021-01-26 17:23:28 -05:00
Nicolas Werner
f0102c1e55
Fix old messages being played back after limit reset
2021-01-24 20:02:24 +01:00
DeepBlueV7.X
a5944ab047
Merge pull request #406 from rnhmjoj/open-in
...
Add "open in external program" action
2021-01-24 05:52:44 +01:00
rnhmjoj
c569ab24bc
Add "open in external program" action
2021-01-24 01:50:23 +01:00
Nicolas Werner
7bc57f76f7
Request unknown message indices
2021-01-23 20:08:59 +01:00
DeepBlueV7.X
a082a98ede
Merge pull request #393 from LorenDB/mdCommands
...
Markdown setting override commands
2021-01-23 02:02:59 +01:00
DeepBlueV7.X
f956d012a9
Remove useless parentheses
2021-01-23 00:51:29 +00:00
Nicolas Werner
97340bed13
Fix font tags showing up in playable media messages
2021-01-23 00:49:28 +01:00
Loren Burkholder
06f6a5bcca
Clarify how markdown is determined
2021-01-20 21:12:07 -05:00
Loren Burkholder
1d93570814
Make lint
2021-01-20 18:22:24 -05:00
Loren Burkholder
91155bf803
Add commands to override Markdown setting
2021-01-20 18:22:24 -05:00
Nicolas Werner
32a20a5f8c
Simplify section handling a bit
2021-01-19 23:58:40 +01:00
Nicolas Werner
42b08257ec
Make read markers a bit less confusing
2021-01-16 13:54:56 +01:00
Nicolas Werner
31881e14d9
Make it easier to understand, what button to click for verification from profile
2021-01-12 15:00:59 +01:00
Nicolas Werner
2a19783f99
Fix timeline becoming corrupted on backfill
...
Fixes #273
2021-01-12 00:02:18 +01:00
trilene
3572c111f3
Fix call invite declined on another device
2021-01-10 12:23:58 -05:00
trilene
9bbade37de
Fix call answered on another device
2021-01-07 14:04:54 +01:00
trilene
07ac7b7e85
Port PlaceCall dialog to Qml
2021-01-07 14:04:50 +01:00
trilene
7124024977
Make call invites less intrusive
2021-01-07 14:04:21 +01:00
trilene
ac410f46f2
Move call-related properties to CallManager
2021-01-07 14:04:21 +01:00
Nicolas Werner
4b4c321397
Allow inline replies from notifications on linux
2021-01-07 10:44:59 +01:00
Nicolas Werner
3a41bb9fff
Fix typing notifications flickering sometimes
2021-01-05 22:38:21 +01:00
Nicolas Werner
904cafcd39
lint
2020-12-25 04:11:47 +01:00
Nicolas Werner
01e38d12ed
Fix some compiler warnings
2020-12-25 00:08:06 +00:00
Nicolas Werner
7b46aa2a6e
Store secrets in keychain
2020-12-16 22:10:09 +01:00
Nicolas Werner
7abeb1f1a4
React with arbitrary strings via /react
2020-12-13 16:23:04 +01:00
DeepBlueV7.X
95667edb14
Merge pull request #347 from kamathmanu/avatarFullViewSupport
...
Add support for viewing avatar images in full size
2020-11-30 21:25:42 +01:00
kamathmanu
69997a3d74
Lint code
2020-11-30 15:10:59 -05:00
kamathmanu
0edd75949b
Lint code
2020-11-30 14:56:39 -05:00
kamathmanu
e36b090c5b
Add support for viewing avatar images in full size
2020-11-30 10:05:24 -05:00
Nicolas Werner
2ce129e6b6
Properly share and rotate sessions on member and device changes
2020-11-30 01:54:53 +01:00
Nicolas Werner
c24f9a22a5
Load sessions lazily from db
2020-11-30 01:54:53 +01:00
Nicolas Werner
233a8a5dad
Fix variable shadowing
2020-11-26 16:09:53 +01:00
Nicolas Werner
c31b9e2793
Fix race when reading members from db
2020-11-25 23:54:25 +01:00
Nicolas Werner
08e9461611
Fix input focus when pressing reply button
2020-11-25 19:05:12 +01:00
Nicolas Werner
c74077a41f
Implement Qml drag and drop
2020-11-25 19:05:12 +01:00
Nicolas Werner
c2eea5cb55
Fix mimetype of media messages
2020-11-25 19:05:12 +01:00
Nicolas Werner
094c0b09ab
Qml emoji completer
2020-11-25 19:05:12 +01:00
Nicolas Werner
add5903fb0
Working User completer
2020-11-25 19:05:12 +01:00
Nicolas Werner
cabeb1464c
WIP Qml completer
2020-11-25 19:05:12 +01:00
Nicolas Werner
d14a5f8067
Reimplement message history
2020-11-25 19:05:12 +01:00
Nicolas Werner
921379a4cc
Send typing updates from QML
2020-11-25 19:05:12 +01:00
Nicolas Werner
d1af1a8669
Move calls to new input bar
2020-11-25 19:05:12 +01:00
Nicolas Werner
a31d3d0816
Add file uploading
2020-11-25 19:05:12 +01:00
Nicolas Werner
0bb4885632
Basic text input in qml
2020-11-25 19:05:12 +01:00
Nicolas Werner
7a74b86340
Pasteable textinput
2020-11-25 19:05:11 +01:00
DeepBlueV7.X
27bf654d92
Merge pull request #320 from trilene/webrtc-video
...
Video calls: add local webcam view
2020-11-09 21:49:26 +01:00
trilene
d391404b79
Video calls: add local webcam view
2020-11-09 10:51:17 -05:00
DeepBlueV7.X
5fb3d4ede8
Merge pull request #310 from MayeulC/fix-typo
...
Improve wording in multiple strings.
2020-10-31 22:28:40 +01:00
Mayeul Cantan
eea7aecc04
Wording: replace "encrypted room" with "encrypted private chat"
...
This is for consistency with "Start a private chat", and is more
specific.
2020-10-31 22:23:55 +01:00
trilene
fd479a91be
Merge remote-tracking branch 'upstream/master' into webrtc-video
2020-10-28 16:08:17 -04:00
Nicolas Werner
70f35de449
Don't pass around empty timeline
2020-10-28 13:06:28 +01:00
trilene
d9ca5309ac
Merge remote-tracking branch 'upstream/master' into webrtc-video
2020-10-27 15:29:53 -04:00
trilene
d1f3a3ef40
Support video calls
2020-10-27 13:14:06 -04:00
Nicolas Werner
12fff7408e
Optimize build
2020-10-27 17:45:28 +01:00
Nicolas Werner
4797b9fa96
Fix infinite pagination properly now.
2020-10-23 19:42:23 +02:00
Nicolas Werner
cea7f4574f
Clean up key requests + autoreload
2020-10-20 19:46:37 +02:00
Nicolas Werner
983690c94f
Share code for sending encrypted olm messages
2020-10-20 18:10:09 +02:00
Nicolas Werner
aa9b453f81
Store timestamp with olm sessions
2020-10-20 13:46:05 +02:00
Nicolas Werner
bd0deb7213
Fix crash on exit
2020-10-17 00:57:29 +02:00
Nicolas Werner
392d7d5568
Try to fix windows build
2020-10-08 20:07:43 +02:00
Nicolas Werner
e5fb9a25ea
Try to please the CI gods
2020-10-08 18:16:30 +02:00
Nicolas Werner
08d5a84cbd
Fix issues with old qt and bump to 5.10
2020-10-08 17:26:07 +02:00
Nicolas Werner
99ba1f17d3
Merge remote-tracking branch 'origin/master' into cross-signing
2020-10-08 16:57:03 +02:00
Nicolas Werner
7b6fab3373
Calculate verification status from cross-signing sigs and update dynamically
2020-10-08 00:20:12 +02:00
Nicolas Werner
64d5a193f1
Fix in room verification
2020-10-06 17:02:41 +02:00
Nicolas Werner
8a4d85f801
Show different verification errors
2020-10-05 22:58:07 +02:00
Nicolas Werner
bca29a4227
Make steps in verification flow explicit
2020-10-05 22:12:10 +02:00
Nicolas Werner
2a79cd2b6b
Don't fail on missing key for a device and /rotate-megolm-session command
2020-10-03 18:38:28 +02:00
Nicolas Werner
abff61bb6c
Fix nullopt when iterating reactions
2020-10-03 17:23:59 +02:00
Nicolas Werner
94690ebd4c
Clean up verification and key cache a bit
2020-10-02 01:14:42 +02:00
trilene
3f73853e4b
Move ActiveCallBar Qml to separate file
2020-09-25 10:26:36 -04:00
Nicolas Werner
4802c34009
Merge remote-tracking branch 'origin/master' into cross-signing
2020-09-24 21:36:43 +02:00
trilene
44cfc8d22a
clang-format
2020-09-22 12:14:15 -04:00
trilene
da27670cbe
Port ActiveCallBar to Qml
2020-09-22 12:07:36 -04:00
Nicolas Werner
54db9c89ed
Simplify outbound session setup
...
Don't send inbound session to self and claim and send all keys at once.
2020-09-20 23:07:02 +02:00
Nicolas Werner
4b36585e47
Fix typo in encryption error message
2020-09-19 15:45:23 +02:00
Nicolas Werner
b05c101021
Fix null errors in qml
2020-09-16 23:49:17 +02:00
Nicolas Werner
77e241b9e5
Reenable top bar room settings menus on avatar or title clicks
...
Also fixes a bug with an empty room settings window introduced in the
port.
2020-09-16 23:49:17 +02:00
Nicolas Werner
640b0ee405
Port top bar to Qml
...
Also fixes some resize issues with stupid workarounds to our resize
logic. This really needs to be cleaned up at some point!
2020-09-16 23:49:17 +02:00
CH Chethan Reddy
8eb74daf76
Split qml part of Device Verification
2020-09-14 17:27:49 +05:30
Chethan2k1
2b5deabbdc
Fix breaking while using qmlRegisterSingletonInstance
2020-09-10 14:50:10 +05:30
Chethan2k1
898be090af
Add support non-encrypted room-verification messages
2020-09-10 11:08:39 +05:30
Chethan2k1
e8eeb480d5
Fix Wrong Emojis Issue in Room Verification
2020-09-04 12:02:24 +05:30
DeepBlueV7.X
657f4073e9
Merge branch 'master' into device-verification
2020-09-03 18:11:17 +00:00
CH Chethan Reddy
5358854de3
Add support for Encrypted to-device verification messages
2020-09-03 09:37:16 +05:30
Nicolas Werner
8d14a058c6
Fix endless pagination, when old history is inaccessible
2020-09-02 19:38:07 +02:00
CH Chethan Reddy
b174bd9380
Merge remote-tracking branch 'upstream/master' into device-verification
2020-08-30 22:27:14 +05:30
CH Chethan Reddy
0d1dd29b19
Small Fixes
2020-08-29 13:37:51 +05:30
CH Chethan Reddy
8a4bd37fea
[WIP] Room Verification Works!
2020-08-18 11:29:02 +05:30
Nicolas Werner
7f7108161e
Hide CallCandidates again in new store
2020-08-17 23:30:36 +02:00
Nicolas Werner
de7ec4d2b3
Merge remote-tracking branch 'origin/master' into new-event-store
...
Conflicts:
CMakeLists.txt
io.github.NhekoReborn.Nheko.json
src/Cache.cpp
src/timeline/TimelineModel.cpp
src/timeline/TimelineModel.h
src/timeline/TimelineViewManager.cpp
2020-08-17 20:40:33 +02:00
Nicolas Werner
14a0aac748
Add /clear-timeline command
2020-08-09 23:36:47 +02:00
CH Chethan Reddy
2e20049b36
[WIP] Room-Verification Messages
2020-08-09 08:35:15 +05:30
Nicolas Werner
b972d827cb
Try to fix issue of pagination interfering with limited: true
2020-08-07 13:12:45 +02:00
Nicolas Werner
1f9215a5be
Split error messages from event decryption
2020-08-06 21:46:16 +02:00
trilene
e527da052b
Reset TLVM initial sync flag on logout
2020-08-01 14:39:06 -04:00
trilene
e3e7595bab
clang-format
2020-08-01 14:31:10 -04:00
CH Chethan Reddy
3635c185e9
Add Room Verification Messages
2020-07-30 22:10:27 +05:30
CH Chethan Reddy
1fcd768f88
Adding Room Key Verification Stuff
2020-07-30 22:10:27 +05:30
CH Chethan Reddy
1103cc15cf
Adding icons to UserProfile
2020-07-30 22:10:27 +05:30
Nicolas Werner
08028d5c57
Refactor UserProfile
2020-07-30 22:10:27 +05:30
CH Chethan Reddy
ffa61095b8
Error Handling and some fixes
2020-07-30 22:10:27 +05:30
Nicolas Werner
4862be06be
Fix presence indicator
2020-07-30 22:10:27 +05:30
CH Chethan Reddy
1633650303
Some more changes
...
- remove unnecessary field sender in userprofile.qml
- cover user facing string with qsTr to get picked by translations
- add spacing and fix theming issue
- increase and add color to username
- change back to QVector from QLinkedList cause I have mistaken
better time complexity to give better benchmark
red
2020-07-30 22:10:27 +05:30
CH Chethan Reddy
d49ab15656
Some Improvements
...
- DeviceVerificationList change to LinkedList to improve time
complexity while deleting
- Downgrade the flow to not use key.verification.done and
key.verification.ready
2020-07-30 22:10:27 +05:30
CH Chethan Reddy
ce013e67a6
Add some more slots and mac
2020-07-30 22:10:27 +05:30
CH Chethan Reddy
67367d0004
Shared secret with decimal and emoji works!
2020-07-30 22:10:27 +05:30
CH Chethan Reddy
41b6ef0c32
Add DeviceVerificationList to keep track of all flows and Popup on
...
recieving start or request
2020-07-30 22:10:27 +05:30
CH Chethan Reddy
f9c0f4dd54
Add C++ Model for DeviceList
2020-07-30 22:10:27 +05:30
Chethan2k1
a54a973ad6
Adding DeviceList for userprofile
2020-07-30 22:10:27 +05:30
Nicolas Werner
707248fea3
Add DeviceVerificationFlow dummy and verification test button
2020-07-30 22:10:27 +05:30
Nicolas Werner
2088053d26
Add DeviceVerificationFlow dummy and verification test button
2020-07-30 22:10:27 +05:30
Nicolas Werner
ade905c881
Fix shadowing variable
2020-07-26 13:07:36 +02:00
Nicolas Werner
a00b11def7
Rename EventStore::event to get to remove ambiguity with QObject::event
2020-07-26 12:33:30 +02:00
Nicolas Werner
4e7bd20e0c
Reset fetch in progress when fetch failed
2020-07-25 19:38:56 +02:00
Nicolas Werner
b294430fe5
Return to redacted messages instead of just storing the redaction
2020-07-25 19:38:27 +02:00
trilene
aec24efbe2
Specify call type on timeline
2020-07-24 13:30:12 -04:00
Nicolas Werner
147ae68c31
Don't send url, if we send an encrypted file
...
Fix issues when sending images to some clients.
2020-07-23 14:33:07 +02:00
Nicolas Werner
19f27236ea
Fix reactions
2020-07-20 00:42:48 +02:00
Nicolas Werner
6f2bc908ba
Fix reaction display
2020-07-19 12:22:54 +02:00
Nicolas Werner
8261446f83
Fix reply scrolling
2020-07-18 21:14:45 +02:00
Nicolas Werner
046b3f4da6
Mark own events as read again after sending
2020-07-18 20:39:31 +02:00
Nicolas Werner
36e4405f25
Fix flickering of encrypted messages when sending using new store
2020-07-18 19:15:50 +02:00
Nicolas Werner
a5dda86a6c
Fix encryption indicator
2020-07-18 17:59:59 +02:00
Nicolas Werner
56ea89aa11
Reenable sending messages
2020-07-18 17:43:49 +02:00
trilene
16209ce073
Hide incoming CallCandidates in encrypted rooms
2020-07-14 07:34:40 -04:00
trilene
195ba5e5ee
Remove comments
2020-07-13 20:47:34 -04:00
trilene
774d864096
Hide CallCandidates events from the timeline
2020-07-13 19:45:41 -04:00
Nicolas Werner
9ae7d0dce3
Readd pagination and fix redactions
2020-07-13 00:08:58 +02:00
trilene
c73cfe1810
Merge remote-tracking branch 'upstream/master' into voip
2020-07-10 19:39:44 -04:00
trilene
7a206441c8
Support voice calls
2020-07-10 19:19:48 -04:00
Nicolas Werner
3421728898
Fetch missing events
2020-07-10 01:37:55 +02:00
Nicolas Werner
530c531c4b
WIP: Event Store split out
2020-07-09 23:15:22 +02:00
Nicolas Werner
8d3ab300b6
Open url using QDesktopServices from Qml
...
This fixes some weirdness on some platforms, where Qt.openUrlExternally
does weird stuff.
2020-07-09 00:45:37 +02:00
Nicolas Werner
21a1f249f9
Fix Qt 5.9 build
2020-06-27 03:15:36 +02:00
Nicolas Werner
f6fa494666
Make connections across threads queued in any case
2020-06-26 13:36:21 +02:00
Nicolas Werner
cded494cb5
Try to make text rendering in qml sharper
2020-06-19 19:34:03 +02:00
Joseph Donofry
7afb164244
Merge remote-tracking branch 'origin/master' into presence
2020-06-11 22:27:30 -04:00
Joseph Donofry
b9626f0c69
Additional code cleanup
2020-06-11 21:59:21 -04:00
Joseph Donofry
12c46e86b4
Fix linting
2020-06-11 00:37:54 -04:00
Joseph Donofry
5e355c36fd
Fix build issue on some versions of clang
2020-06-10 22:34:14 -04:00
Joseph Donofry
6bb73f84a3
Merge master and fix conflicts
2020-06-09 20:51:36 -04:00
Nicolas Werner
96f4169be9
Show presence and set custom status messages
2020-06-08 01:59:05 +02:00
Nicolas Werner
9eddcfc42f
Remove some redundant functions
2020-05-30 16:38:11 +02:00
Nicolas Werner
6b60ff7713
Rename settings to be more consistent
2020-05-26 22:54:51 +02:00
Nicolas Werner
f452bdf2b0
Make settings update immediately in qml and allow limiting timeline width
...
Limiting improves readability on wide monitors.
The immediate update of the settings is done by just exposing settings
as properties and then setting the settings as a context property.
2020-05-26 22:54:51 +02:00
Nicolas Werner
937b35ca8a
Fix some join messages showing as empty
2020-05-26 22:54:51 +02:00
Joseph Donofry
5228861b88
Add reaction/redaction for in-line Reactions
2020-05-21 21:21:35 -04:00
lkito
d8b89e2ef0
Added an optional feature to show bigger emoji-only messages with 3 or less emoji
2020-05-21 16:31:27 +04:00
Nicolas Werner
5abdad308d
Fix crash when reacting to messages from /sync
...
Messages on /sync don't have a room_id
2020-05-17 02:36:04 +02:00
Nicolas Werner
f0757a6426
Fix local echo for reactions
2020-05-16 22:48:43 +02:00
Joseph Donofry
6d2789f4d5
Merge master into reactions
2020-05-14 20:53:01 -04:00
Joseph Donofry
18f934efad
Add un-encrypted warning icon for messages in encrypted rooms
2020-05-14 20:35:29 -04:00
Nicolas Werner
279bcd1bf2
Show inline images
...
(This is such a hack and will probably break, but it works for now for
most cases...)
2020-05-14 00:41:10 +02:00
Joseph Donofry
ee4dcef90f
Add new QML-based emoji picker (work in progress)
...
This is necessary to support having a picker within QML.
Eventually, this should replace the existing widget-based one.
2020-05-13 00:36:41 -04:00
Joseph Donofry
8984661187
Initial support for sending reactions
2020-05-09 22:39:25 -04:00
Nicolas Werner
000ab4853a
Translation updates
2020-05-10 01:38:40 +02:00
Joseph Donofry
a1661f7006
merge master into reactions
2020-05-07 20:53:24 -04:00
DeepBlueV7.X
7beaf868ef
Merge pull request #192 from Nheko-Reborn/reactions
...
Reactions
2020-05-08 00:13:24 +02:00
Nicolas Werner
a942ae9b93
Fix messages being immediately read again
2020-05-06 19:21:31 +02:00
Nicolas Werner
0b1d3a40f4
Remove unused binding name
2020-05-06 13:45:38 +02:00
Nicolas Werner
e5a5a66716
Fix reaction redaction for real this time
2020-05-06 12:52:13 +02:00
Nicolas Werner
ff54ce9334
Fix rooms with a lot of reactions not paginating correctly
2020-05-06 11:37:40 +02:00
Nicolas Werner
e045e3eb1c
Show displayname on reactions
2020-05-06 11:28:24 +02:00
Nicolas Werner
8348a6c35d
Fix reaction count
2020-05-06 11:15:45 +02:00
Nicolas Werner
692c6119b4
Fix joined rooms dropping to the bottom at first
2020-05-05 19:08:59 +02:00
Nicolas Werner
54013e4a00
Basic, broken reaction display
2020-05-04 13:14:54 +02:00
DeepBlueV7.X
38417a374d
Merge pull request #184 from shocklateboy92/features/backlog-progress
...
Add visual indication that data is being fetched
2020-05-01 10:19:32 +02:00
Lasath Fernando
166ed0674d
Run linter
2020-04-30 22:40:27 -07:00
Nicolas Werner
e6fcccc8bd
Don't store pending receipts in cache
...
We don't get notified for every message. Sometimes we only get a read
receipt for the newest message, which means old read receipts accumulate
in the database. This least to some considerable CPU overhead, when
checking if the timeline should be notified for new read receipts.
Instead just always notify, since that has far less overhead in the
worst case and doesn't need complicated cache cleanup.
The old pending_receipts db is not removed for now. It should still have
minimal storage overhead and we don't have a good mechanism for cache
format upgrades atm.
2020-04-30 22:42:56 +02:00
Nicolas Werner
0716bbafff
Strip reply fallback from plain text body
2020-04-30 00:04:30 +02:00
Lasath Fernando
1f9d3024b1
Add visual indication that data is being fetched
...
This turns `paginationInProgress` field of `TimelineModel` into a `Q_PROPERTY`, so the Ui can bind to it.
For the moment, I'm showing the same spinner as we do during initial sync. It's not ideal, on the count of being giant and in the middle but it's better than nothing. We can make it more subtle later.
2020-04-29 13:52:39 -07:00
Joseph Donofry
5893365439
Change decrypt setting again
2020-04-23 19:21:20 -04:00
Joseph Donofry
994edb836c
Change how decrypt value is retrieved from settings
2020-04-23 19:05:44 -04:00
Nicolas Werner
b00e624fb0
Fix own messages not showing as encrypted
2020-04-23 15:28:46 +02:00
Joseph Donofry
b298f01d92
Add signal/slot for decryption changes in last patch
2020-04-22 19:52:30 -04:00
Joseph Donofry
a4c280a4f9
Add ability to toggle sidebar messages for encrypted rooms
2020-04-21 22:40:58 -04:00
Nicolas Werner
0e1bb5137b
Add menu entry to show decrypted source
...
Also make hidden entries not consume space in Menus with some qml
styles.
2020-04-21 22:32:45 +02:00
Nicolas Werner
e8271acd99
Fix own encrypted images not showing up after sending
2020-04-21 09:03:36 +02:00
Nicolas Werner
eff8af6fac
Try to fix messages getting stuck by sometimes sending them twice and never failing them
2020-04-19 15:07:23 +02:00
Nicolas Werner
a70044e67b
Cache decrypted events
2020-04-14 20:15:11 +02:00
Nicolas Werner
c739a0422d
Fix encrypted event indicator
2020-04-14 19:29:22 +02:00
Nicolas Werner
dcddea6fb8
Fix reply not closing
...
fixes #124
2020-04-13 16:22:30 +02:00
Nicolas Werner
d68b24188f
Size reply background by contents
2020-04-10 08:48:30 +02:00
Nicolas Werner
8bf25f3d80
Set palette globally
2020-03-30 21:48:28 +02:00
Nicolas Werner
d35cc3dda4
Use palette for qml code for theming
...
Can't do it for QtWidgets code. We need to fully transition, before we
can fully switch over probably.
2020-03-29 22:11:33 +02:00
Emi Simpson
a9bbea881e
Removed double-sanitization of ... is typing names
2020-03-24 18:06:19 -04:00
Adasauce
d0a1e81f43
Better image overlay handling when downloading
...
- hides the overlay when prompting for download location
- cancel re-shows the dialog
- success closes the overlay
- would be nice to have a return code from the download fn in
mtxclient.
Closes #140
2020-03-20 10:10:53 -03:00
Pushpam Choudhary
71ba8cb284
Add periods to terminate non-user messages in the timeline
2020-03-13 00:48:41 +05:30
DeepBlueV7.X
fc2f08a186
Merge pull request #137 from Nheko-Reborn/blurhash
...
Experimental Blurhash support
2020-03-05 21:07:18 +00:00
Adasauce
ed4bb1a576
Add support for more room events in timeline
2020-03-03 15:06:52 -04:00
Nicolas Werner
0fc98b2692
Experimental blurhash implementation (MXC2448)
2020-03-03 02:34:26 +01:00
Nicolas Werner
b1eff0a37f
Improve link theming
2020-02-27 00:34:58 +01:00
Nicolas Werner
6bdc75d073
Reset user colors on theme change (in qml timeline)
2020-02-20 20:51:07 +01:00
Nicolas Werner
2895162971
Clear user colors on theme change
2020-02-20 20:28:23 +01:00
Nicolas Werner
fcaec0d099
Fix html messages sent as just plain text
2020-02-20 18:27:29 +01:00
Adasauce
b24165371c
Paginationg != Paginating in debug message
2020-02-17 17:13:28 +01:00
Nicolas Werner
65bd099372
Don't delete messages received out of order (fixup the flickering fix)
2020-02-16 18:58:38 +01:00
Nicolas Werner
ec9da9f42a
Try to fix flickering, if sync return event before send completes
2020-02-16 00:20:41 +01:00
Adasauce
cb36050822
use QStandardPaths locations for all file dialogs.
2020-02-14 21:35:26 -04:00
Adasauce
17b5cc32dc
use the standard system download path for downloads
...
QFileDialog's dir arg (which was set to the incoming file name from the
Matrix download) can take a full path to suggest. By prepending
QStandardPaths::DownloadLocation, it opens to the system's download
folder and proposes the filename as the download name.
Using QStandardPaths should make this work on other platforms, and from
what I read, its possible for this to return an empty string on
platforms where it doesn't support it, so this should essentially
revert to the previous functionality if Qt can't determine the system's
download location.
2020-02-14 16:24:53 -04:00
Nicolas Werner
a2566b870e
show image dialog fullscreen instead of resizing to the size of the first desktop
2020-02-13 15:11:43 +01:00
Nicolas Werner
c5af3543e6
fix c++11 range-loop might detach Qt container
2020-02-07 02:56:03 +01:00
Joseph Donofry
096db389d1
Make closing the reply popup actually clear the reply message
2020-02-04 18:17:14 -05:00
Nicolas Werner
9d90467e6a
Select first room on startup
2020-02-04 21:16:04 +01:00
Nicolas Werner
7ccc120f63
modernize: use nullptr
2020-02-04 04:58:43 +01:00
Nicolas Werner
d330020fdd
Improve styling a bit
2020-02-03 19:21:03 +01:00
Nicolas Werner
96e3a7735d
Fix <displaynames>
2020-02-02 15:15:00 +01:00
Nicolas Werner
4cd260bfcf
Optimize includes a bit
2020-01-31 15:11:21 +01:00
Joseph Donofry
d6d4076d36
Merge branch '0.7.0-dev' of ssh://github.com/Nheko-Reborn/nheko into 0.7.0-dev
2020-01-28 19:20:51 -05:00
Joseph Donofry
d205952fc8
Change tooltip palette settings for QML
2020-01-28 19:20:39 -05:00
Nicolas Werner
75c5c01189
Merge branch 'plain-text-messages' into 0.7.0-dev
2020-01-29 00:42:46 +01:00
DeepBlueV7.X
247af99399
Merge pull request #111 from Nheko-Reborn/better-build
...
Improve build system and dependency bundling.
2020-01-28 23:38:16 +00:00
Joseph Donofry
2b8b04a04b
Add initial QML Reply Popup
2020-01-27 23:28:11 -05:00
Nicolas Werner
760d4ddef9
Fix newlines in plain text messages again
2020-01-27 18:36:34 +01:00
Nicolas Werner
e81a4e8f9a
Don't send useless formatted_bodies
2020-01-27 17:25:09 +01:00
Nicolas Werner
9c368fa7f4
Fix reply rendering without markdown in riot
2020-01-27 17:05:40 +01:00
Nicolas Werner
e2f547149a
Allow sending messages as plain text
2020-01-27 15:59:25 +01:00
Nicolas Werner
f755550418
Add missing thread include
2020-01-26 16:38:31 +01:00
Nicolas Werner
cbd428c584
Switch around dark theme colors again (after looking at some screenshots)
2020-01-23 21:28:17 +01:00
Nicolas Werner
e9267ffc76
Show event type string in placeholder
2020-01-23 20:59:17 +01:00
Nicolas Werner
86960e67ec
Implement display of membership events
2020-01-23 20:34:04 +01:00
Nicolas Werner
c95f4d8276
Fix colors in typing display, when username contains emoji
2020-01-21 20:41:09 +01:00
Nicolas Werner
dc44ac50a3
Linkify links before sending
2020-01-21 03:36:26 +01:00
Nicolas Werner
fe912240bc
Move typing display to qml
2020-01-17 01:25:14 +01:00
Nicolas Werner
4eb0e11740
Try to match old theme better
2020-01-14 20:44:11 +01:00
Nicolas Werner
54a16ae2d7
Fix duplicate messages in timeline after sending
2020-01-14 20:43:35 +01:00
Nicolas Werner
3f02b0bf56
Escape blacklisted html tags
2020-01-14 17:47:30 +01:00
Nicolas Werner
62f17dffbd
Fix replies in encrypted rooms
...
The relation needs to be unencrypted...
2020-01-13 12:37:02 +01:00
Nicolas Werner
4ca8da9a89
Allow replying with an image
2020-01-12 17:07:22 +01:00
Nicolas Werner
4727f1c2bb
Fetch missing events for replies
2020-01-11 18:53:32 +01:00
Nicolas Werner
2b3dc3d8b9
Implement fancy reply rendering
...
This currently assumes the event, that is replied to, is already
fetched. If it isn't, it will render an empty reply. In the future we
should fetch replies before rendering them.
2020-01-11 14:07:51 +01:00
Nicolas Werner
51d7e64992
Simplify read message logic with inverted timeline
2020-01-06 18:29:08 +01:00
Nicolas Werner
5af6f6528b
Use fetchMore for native lazy loading of item model data
2020-01-06 18:29:08 +01:00
Nicolas Werner
946ab4d0f2
invert timeline
2020-01-06 18:29:08 +01:00
Nicolas Werner
e084543cc0
Move visitors out of TimelineModel
2019-12-27 21:50:37 +01:00
Nicolas Werner
37fbcaf07b
Reduce includes of MatrixClient.h, as it is the most expensive header
2019-12-15 03:19:33 +01:00
Nicolas Werner
5fc1f3bd67
Reduce overhead of Cache.h
2019-12-15 02:56:04 +01:00
Nicolas Werner
13df852479
Reduce some include of Cache.h since it needs 11s on average
2019-12-14 23:40:32 +01:00
Nicolas Werner
659e36b113
Update to c++17
2019-12-14 18:59:38 +01:00
Nicolas Werner
9c1912ed93
Fix preview of sent encrypted images
2019-12-13 01:31:14 +01:00
Nicolas Werner
e98a61fea6
Show topic and name changes in timeline
2019-12-10 14:46:52 +01:00
Nicolas Werner
362efbf5b9
Restore linkification of messages
2019-12-06 02:57:08 +01:00
Nicolas Werner
43d7fe0d35
Implement sending encrypted files
2019-12-05 15:31:53 +01:00
Nicolas Werner
5bfdaff778
Implement decryption of images
...
It is a bit of a hack, but it works...
2019-12-03 23:34:16 +01:00
Nicolas Werner
a689118d71
lint
2019-12-03 19:49:56 +01:00
Nicolas Werner
b8f6e4ce64
Add encrypted file download
2019-12-03 02:48:29 +01:00
Nicolas Werner
6c2ec3fe67
Rename qml namespace from com.github.nheko to im.nheko
2019-11-30 01:43:39 +01:00
Nicolas Werner
9fd279c020
Show encryption enabled and use a non zero size for zero size vide
2019-11-23 20:07:15 +01:00
Nicolas Werner
7bd875004f
Only mark messages as read, when room is active
2019-11-23 20:07:15 +01:00
Nicolas Werner
5429b425e9
Lint
2019-11-23 20:07:15 +01:00
Nicolas Werner
cf88499ccb
Fix replies to encrypted events
2019-11-23 20:07:15 +01:00
Nicolas Werner
001c94865c
Fix windows build
...
No idea, why apply visitor doesn't work with temporaries?
2019-11-23 20:07:15 +01:00
Nicolas Werner
c424e397b0
Add loading spinner and restore message send queue
2019-11-23 20:07:15 +01:00
Nicolas Werner
562169965c
Show only messages in room list
2019-11-23 20:07:15 +01:00
Nicolas Werner
91d1f19058
Remove old timeline
2019-11-23 20:07:15 +01:00
Nicolas Werner
2dd636456c
Add basic sections and button placeholders to qml timeline
2019-11-23 20:06:14 +01:00
Nicolas Werner
52056a79fa
Try to reduce memory usage by reusing avatar pixmaps
2019-08-26 08:51:56 +02:00
Nicolas Werner
0398c846f6
Add 'and' to typing display
2019-07-28 18:13:16 +02:00
Nicolas Werner
b28115eb37
Fix message_type not being initialized correctly
...
Fixes "sent an audio file" replies, that were actually replies to text
messages.
2019-07-28 16:50:10 +02:00
Nicolas Werner
50c3d4ed3a
Add decryption error messages to translations
2019-07-28 13:16:13 +02:00
Nicolas Werner
1c9cc33902
Try to localise timestamps
...
I'm not sure, if that is the right way, but Qt doesn't really have a way
to format custom localised dates, so I tried to find the closest
approximations to what we currently have.
Relates to #69
2019-07-28 12:55:08 +02:00
Joseph Donofry
9fc079a4a9
Remove uneeded log message
2019-07-26 17:47:34 -04:00
Joseph Donofry
86888ee713
Fix bug with emoji font setting and clean linting
2019-07-26 17:44:44 -04:00
Joseph Donofry
778921be8a
Add emoji text selection option for non-mac
2019-07-26 17:31:59 -04:00
Joseph Donofry
4c0d4f35fe
Fix support for Qt versions < 5.11
2019-07-04 22:58:56 -04:00
Joseph Donofry
2484e0c118
Fix formatting issues
2019-07-04 21:31:28 -04:00
Joseph Donofry
c0a010acbb
Fix deprecated function call issues with Qt 5.13
...
Update to mtxclient 0.3.0
2019-07-04 21:20:19 -04:00
Joseph Donofry
cfd6c5703a
Further UI Updates to Rich Replies
2019-06-14 20:45:37 -04:00
Joseph Donofry
129beb57c9
Further Improve Reply Functionality
...
Quoted replies now include matrix.to links for the event and the user.
UI Rendering has been (slightly) improved... still very WIP.
Restructured the reply structure in the code for future usability
improvements.
2019-06-13 22:33:04 -04:00
redsky17
1d4966d5fd
Add style for reply popup. Fix ALL of the linting issues
2019-06-11 23:36:46 -04:00
redsky17
71c1cbcfd1
Fix lambda capture and lint issues
2019-06-11 22:34:15 -04:00
Joseph Donofry
756c7d1671
Fix linting issue
2019-06-11 21:06:18 -04:00
Joseph Donofry
b9dde957a8
Add initial support for rich replies to nheko
2019-06-09 19:03:18 -04:00
redsky17
9671b1c0d6
Fix linting issues
2019-05-27 16:06:28 -04:00
redsky17
7c630b1363
Add reply and menu buttons to TimelineItem
2019-05-27 16:04:35 -04:00
redsky17
13663ad5f8
Improve color generation performance
...
Colors are generated asynchronously now and the TimelineItem is
updated when the color generation finishes. This allows the UI
to stay responsive while new colors are being generated.
2019-02-08 01:58:00 +00:00
redsky17
6d629f1c90
Add download button to ImageOverlay
...
When opening images in the full-screen overlay, there is now
a download button next to the close button. This button utilizes
the same functionality as the right-click->save image button.
2019-01-30 18:01:36 -05:00
redsky17
f7255b7b49
Restore Emoji Picker, but remove forcing EmojiOne
...
Restored the emoji picker, but it now falls back to the system
instead of forcing Emoji One. The allows users to user the
picker for convenience, but doesn't enforce the emoji style on them.
2019-01-26 21:02:22 +00:00
redsky17
df5d24c87f
Revert "Remove built-in emoji picker"
...
This reverts commit 4b807229aa
.
2019-01-26 18:17:08 +00:00
redsky17
22a08ba6a4
Fix lint issue
2019-01-26 06:09:51 +00:00
redsky17
f869ff5ded
Fix inconsistent user color updates.
2019-01-26 06:03:52 +00:00
redsky17
2ba51c821e
Update user colors to use Cache vs Utils
...
User colors are now stored in cache. This is consistent
with other similar variables. I think there's a bug
right now where it doesn't properly refresh colors
for the TimeLineItem when the theme is changed.
2019-01-26 02:55:07 +00:00
redsky17
237c7ad114
Author Color Fixes
...
Author color is now cached so that it will not be re-calculated
each time a new message is posted. This cache gets cleared when
the theme is changed.
Additionally, the author color is now automatically refreshed
when the theme is changed, fixing the issue where you had to
change rooms before the colors would switch.
2019-01-20 04:43:48 +00:00
redsky17
50e382f554
Modified the code that generates user's colors so that it will
...
work regardless of the theme choices the user makes. The code
now incorporates the contrast between the background color and the
color generated by the user_name when picking colors. It currently
has two 'big' issues:
1. Colors are not cached. I am planning on adding a QHash for this
a little later. This should improve performance by not calculating
the color for the same users over and over and over again.
2. Theme changes do not trigger the colors to get refreshed.
Currently, you will have to switch to a different room and back
to get the colors to refresh.
2019-01-18 17:17:25 +00:00
redsky17
1882198e4b
Make the author text slightly large.
...
Add author color generated based on user id.
2019-01-18 04:09:42 +00:00
Konstantinos Sideris
4b807229aa
Remove built-in emoji picker
2018-10-07 13:13:14 +03:00
Konstantinos Sideris
3fdfc9b69f
Remove Scrollbar
2018-10-06 18:39:11 +03:00
Konstantinos Sideris
844443a324
Adjust the widget size of the room list items
2018-10-06 17:21:03 +03:00
Konstantinos Sideris
420937ab83
Derive widget sizing from the font size
2018-10-04 00:32:13 +03:00
Konstantinos Sideris
be1478183e
Remove some unnecessary calls
2018-10-02 13:16:44 +03:00
Konstantinos Sideris
4b1b062388
Enable debug logs
2018-09-30 14:33:54 +03:00
Konstantinos Sideris
9038c950ae
Remove pixel value from fonts
2018-09-30 13:24:36 +03:00
Konstantinos Sideris
c64a1bf759
Move TextLabel into its own file
2018-09-26 15:17:14 +03:00
Konstantinos Sideris
9bc7b6305e
Lint
2018-09-26 12:06:30 +03:00
Konstantinos Sideris
c9427c7f17
Clear text selection when focus is lost
...
fixes #409
2018-09-25 18:06:11 +03:00
Konstantinos Sideris
1716502eff
Improvements on the system theme
2018-09-19 22:42:26 +03:00
Konstantinos Sideris
8767ea181d
Mark unread rooms as such in the room list
...
fixes #313
2018-09-13 19:15:58 +03:00
Konstantinos Sideris
9f3de8679d
Temporary fix to work with mx-reply tags
2018-09-13 16:10:45 +03:00
Konstantinos Sideris
bf4d559523
Strip paragraph tags
...
fixes #438
2018-09-13 11:02:54 +03:00
Konstantinos Sideris
e88cfa1b20
Use <em></em> for m.emote messages
2018-09-12 21:46:33 +03:00
Konstantinos Sideris
7a6816a9f6
Remove italics from m.notice messages
2018-09-12 20:59:27 +03:00
Konstantinos Sideris
9c06ba5d25
Open user profile on matrix.to links
2018-09-12 20:54:44 +03:00
Konstantinos Sideris
e9ee29978d
Add context menu option to show the raw message
...
fixes #437
2018-09-12 16:27:25 +03:00
Konstantinos Sideris
bc38fcec6c
Move some info logs to debug
2018-09-12 14:28:54 +03:00
Konstantinos Sideris
dd73a4b278
Trim whitespace from text messages
2018-09-12 14:20:12 +03:00
Konstantinos Sideris
4565f2cf00
Don't break the layout on empty text messages
2018-09-12 13:12:24 +03:00
Konstantinos Sideris
245a3735e5
Remove debug prints
2018-09-07 20:31:47 +03:00
Konstantinos Sideris
9e8f0b7409
Initial support for sending markdown formatted messages
...
fixes #283
2018-09-07 20:05:30 +03:00
Konstantinos Sideris
a21db789e7
Fix double href links on username pills
2018-09-07 14:52:29 +03:00
Konstantinos Sideris
896fe069b6
Use proxy objects on lambdas instead of raw pointers
...
When the object is destroyed the connections will be removed
automatically by Qt.
fixes #433
2018-09-07 12:24:09 +03:00
Konstantinos Sideris
a1af99becb
Put back removed links
2018-09-06 22:41:02 +03:00
Konstantinos Sideris
8ad01f520a
Add initial support for displaying formatted messages
2018-09-06 22:34:41 +03:00
Konstantinos Sideris
990a3a97c7
Merge matrix-structs into the client lib
2018-09-01 13:35:10 +03:00
Konstantinos Sideris
e9a8e51208
Guard against flickering for items added to the top of the timeline
2018-08-31 18:34:54 +03:00
Konstantinos Sideris
28dda237c2
Don't block on empty from token
2018-08-31 14:56:55 +03:00
Konstantinos Sideris
641364c105
Handle some more edge cases in timeline
2018-08-31 10:47:27 +03:00
Konstantinos Sideris
d608950bea
Stop calling /messages if the prev_batch token is empty
2018-08-31 09:57:04 +03:00
Konstantinos Sideris
56ee290b03
Add the ability to change the room avatar
...
fixes #418
2018-08-29 16:00:07 +03:00
Konstantinos Sideris
db9c37d336
Call adjustSize before showing the timeline widget
2018-08-28 00:19:39 +03:00
Konstantinos Sideris
7e16730692
Remove unnecessary height setting for timeline messages
...
This will remove some minor flickering (hopefully for good)
2018-08-27 21:32:24 +03:00
Konstantinos Sideris
aa2f6ce77d
Simplify dialog creation
2018-08-11 13:50:56 +03:00
Konstantinos Sideris
d4c3dac28f
Remove the reserved space gap for the typing notifications
2018-08-09 18:20:17 +03:00
Konstantinos Sideris
3fb57ac049
Add tooltips for the message indicators ( #377 )
2018-08-08 12:57:50 +03:00
Konstantinos Sideris
b5b5faa5ec
Consider the scale ratio when scaling down images
...
fixes #393
2018-08-01 21:10:03 +03:00
Konstantinos Sideris
069f0a1fbd
Use native scrollbar in the timeline
2018-07-25 18:48:11 +03:00
Konstantinos Sideris
bfdbd49e3e
Align timeline widgets to the bottom
2018-07-25 16:46:57 +03:00
Konstantinos Sideris
6583686a7c
Remove spacer & set sizePolicy on the timeline view & widgets
...
This was causing some flickering when many messages were added.
Mostly visible on macOS.
2018-07-23 21:54:13 +03:00
Konstantinos Sideris
9d718fccf4
Clear timeline widgets when they exceed a certain limit ( #158 )
...
That's a fix to deal with long running sessions which will end
up taking more & more memory given enough time.
2018-07-21 12:09:23 +03:00
Konstantinos Sideris
d7e5171bfa
Create user profile modal
2018-07-20 12:02:35 +03:00
Konstantinos Sideris
5540fc0737
Add user avatar after the 'encryption is enabled' message
...
fixes #378
2018-07-19 18:46:36 +03:00
Konstantinos Sideris
e4dedbcaba
Mark own read messages with a double checkmark ( #377 )
2018-07-17 23:50:18 +03:00
Konstantinos Sideris
0e814da91c
Move all files under src/
2018-07-17 16:37:25 +03:00
Konstantinos Sideris
31d09dbd68
De-duplicate the m.room.encryption event
2018-07-15 20:32:22 +03:00
Konstantinos Sideris
a9f02128a2
Use the http link for video messages
...
Add method to convert matrix content URIs to http links
2018-07-15 20:05:31 +03:00
Konstantinos Sideris
33490eddab
Remove the v2 namespace from the http client
2018-07-15 19:09:08 +03:00
Konstantinos Sideris
e6b45263bc
User reverse iterator instead of while loop
2018-07-15 18:58: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
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
ccc6cd8dab
Mark encrypted messages with a lock icon
2018-07-01 19:40:53 +03:00
Konstantinos Sideris
5b5d35fd1f
Add basic support for replies ( #292 )
2018-06-30 15:13:15 +03:00
Konstantinos Sideris
4344b6964f
Save timeline messages in cache for faster startup times
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
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
4514d13948
Improve logging a bit
2018-06-18 12:29:24 +03:00
Konstantinos Sideris
66249ed126
Correctly mark received messages whose response came after /sync
2018-06-17 02:29:19 +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
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
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
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
3cf7ab9f04
Fix line break issue on timeline with long words
...
fixes #193
2018-05-23 16:33:30 +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
8dd21b1dae
Remove the extra top margin from timeline widgets
2018-05-04 15:47:04 +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
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
3f80725c33
Add support for displaying m.sticker events
...
fixes #291
2018-04-27 22:15:44 +03:00
Konstantinos Sideris
31f5fbf891
Improve the date separator widget
2018-04-25 15:38:25 +03:00
Konstantinos Sideris
2f00fc51bf
Cache refactoring
2018-04-21 16:35:03 +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
72d5d6d286
Show avatars in the completion popup
2018-03-25 15:59:47 +03: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
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
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
511c58d608
Add context menu option to save images
...
fixes #265
2018-03-14 21:31:09 +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
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
7f7f3a805b
Remove dead code & small refactorings using the std library
2018-03-03 22:08:56 +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
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
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
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
Konstantinos Sideris
ba8faa357f
Remove empty destructors
2018-02-10 16:29:09 +02:00
Konstantinos Sideris
ddcc0f7f60
Generate a date separator before local messages
2018-02-10 01:09:30 +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
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
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
26540bd120
Hack to work around layout flickering when adding new timeline items
2018-01-16 22:24:23 +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
daabb40bed
Use Q_NULLPTR to be compatible with qt5.7
...
fixes #199
2018-01-12 11:27:24 +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
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
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
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
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
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
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
a605e4486f
Migrate to matrix-structs for event and response parsing
2017-12-04 18:41:19 +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