Commit graph

505 commits

Author SHA1 Message Date
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