Commit Graph

517 Commits

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