Commit Graph

2034 Commits

Author SHA1 Message Date
Nicolas Werner b73bd2859c
Protect against replay attacks 2021-08-07 23:54:35 +02:00
kamathmanu 2dfccda73c
Merge branch 'master' into nhekoRoomDirectory 2021-08-07 21:20:43 +00:00
kamathmanu 14f8f4d61b Fix Duplicate fetched chunk 2021-08-07 17:13:18 -04:00
kamathmanu 4ec0c8c9bb make lint 2021-08-07 17:00:28 -04:00
kamathmanu d3d7844106 Made only unjoined rooms joinable 2021-08-07 17:00:28 -04:00
kamathmanu 04d0d413e3 Linted code 2021-08-07 17:00:28 -04:00
kamathmanu 0d700d9933 Implemented Room Directory model to store and provide QML view with public room data from mtxclient 2021-08-07 17:00:12 -04:00
Nicolas Werner 72bbad7485
Show encryption errors in qml and add request keys button 2021-08-07 22:51:09 +02:00
DeepBlueV7.X 9f742fe23d
Merge pull request #664 from govynnus/token-registration
Reorganise src/RegisterPage.cpp
2021-08-07 00:27:39 +00:00
Nicolas Werner cc22309c5b
this is not needed for translations 2021-08-06 04:43:56 +02:00
Nicolas Werner e5a6b2b6ef
Allow creating new packs 2021-08-06 04:31:53 +02:00
Nicolas Werner 16d0190f4e
Allow uploading additional stickers 2021-08-06 04:31:53 +02:00
Nicolas Werner a57a15a2e0
Basic sticker pack editor 2021-08-06 04:31:53 +02:00
Callum Brown bd31726f2f Allow all characters when checking server input
So IDNs are not rejected. Invalid server names will be caught later.
2021-08-05 17:25:37 +01:00
Callum Brown bb6a57644c Make things private slots 2021-08-05 16:12:36 +01:00
Nicolas Werner 87e81498b7
Fix window placement on wayland and add close buttons
We explicitly set a parent. We can't assign to
ApplicationWindow.transientParent though, only to
Window.transientParent, so we just call setTransientParent in C++.
2021-08-04 02:27:50 +02:00
Callum Brown 041d8fb56c Reorganise src/RegisterPage.cpp 2021-08-02 20:08:55 +01:00
DeepBlueV7.X 619525e62f
Merge pull request #662 from LorenDB/qml-all-the-things
QML all the things, part 3: Raw message dialog
2021-08-01 10:51:21 +00:00
Nicolas Werner 25e7a985b8
Add option to only send encrypted messages to verified devices
fixes #636
2021-08-01 00:59:46 +02:00
Loren Burkholder dab1c9068a QML the raw message dialog 2021-07-31 12:11:15 -04:00
Nicolas Werner 760f675792
Ensure the encrypted rooms db is always created 2021-07-31 17:59:03 +02:00
DeepBlueV7.X 5b5a89b522
Merge pull request #655 from LorenDB/qml-all-the-things
QML all the things, part 2: Read receipts dialog
2021-07-30 22:08:51 +00:00
Loren Burkholder f48f244dcb Use correct date format 2021-07-30 08:44:07 -04:00
Loren Burkholder 7dcdd51a8b make lint 2021-07-30 08:19:05 -04:00
Loren Burkholder 3cb4209d7b
Reformat dates
Co-authored-by: DeepBlueV7.X <nicolas.werner@hotmail.de>
2021-07-30 07:56:25 -04:00
Nicolas Werner e7877ae5af
Fix crash when we don't have keys for other device when receiving an olm message from it 2021-07-30 12:44:08 +02:00
Nicolas Werner e4cd8b1c11
Log how many rooms we loaded 2021-07-30 03:31:49 +02:00
Nicolas Werner 6409462a96
Rate limit olm session creation 2021-07-30 03:31:29 +02:00
Loren Burkholder 368e13fac3 Use built-in sorting so that dynamic updates work 2021-07-29 21:07:52 -04:00
Loren Burkholder 7e538851d6 Use a QSortFilterProxyModel instead of resetting the model 2021-07-29 21:07:52 -04:00
Loren Burkholder 1777a1b52f Reset model instead of doing weird convoluted updates 2021-07-29 21:07:52 -04:00
Loren Burkholder 2fe010c04a Dynamically update read receipts 2021-07-29 21:07:52 -04:00
Loren Burkholder 2be91b591d make lint 2021-07-29 21:07:52 -04:00
Loren Burkholder 9c7bde22d1 Remove unused headers
Why didn't I see these earlier?
2021-07-29 21:07:52 -04:00
Loren Burkholder 8a329d6517 Remove Avatar class
RIP
2021-07-29 21:07:52 -04:00
Loren Burkholder 0d42909e40 Simplify read receipt storage 2021-07-29 21:07:52 -04:00
Loren Burkholder 774a9fdc3a Remove outdated comment 2021-07-29 21:07:52 -04:00
Loren Burkholder 4dd994ae00 QML the read receipts list
There are probably a few things wrong with this, but I'm going to call it good enough for an initial commit
2021-07-29 21:07:16 -04:00
Nicolas Werner d955444dc1
Port to explicit connect syntax
Also fix a lot of warnings.
2021-07-27 22:35:38 +02:00
Nicolas Werner 6222ae88ce
Fix crash on invalid utf8 in decrypted events 2021-07-26 18:59:21 +02:00
Nicolas Werner e8e48305c8
Remove version checks for unsupported Qt versions 2021-07-26 18:59:20 +02:00
Nicolas Werner 570d00b000
Fix crash when storing secrets
Nested QEventLoops are scary. Ultimately we shouldn't use them, but I
have no better solution right now.

fixes #656
2021-07-25 17:07:10 +02:00
Nicolas Werner 80b9d4528e
Remove SSSS requests on the UI thread
might fix #656
2021-07-25 15:39:49 +02:00
Nicolas Werner 8b3d0c14d0
Properly verify OTK signature 2021-07-25 14:10:38 +02:00
Nicolas Werner 8444683271
Don't send encrypted olm messages to ourselves 2021-07-25 13:51:21 +02:00
Nicolas Werner f4e670d8d5
Fix SSSS unlock without a password set
fixes #657
2021-07-25 12:13:24 +02:00
Joe fb3c443ce0 Remove additional key requests preference code 2021-07-24 18:27:59 -04:00
Joe 3f567a8da7 Merge master and fix conflicts 2021-07-24 18:26:25 -04:00
Nicolas Werner a61678242b
Fix edge case that could lead to no new one time keys being uploaded 2021-07-24 14:59:14 +02:00
Nicolas Werner bef2cbbd7f
Try to avoid more olm loops 2021-07-23 19:08:44 +02:00
Nicolas Werner dba2fb525a
Remove unused this capture 2021-07-23 18:21:55 +02:00
DeepBlueV7.X ca3d17dc22
Merge pull request #651 from LorenDB/qml-all-the-things
Fix a few UI things
2021-07-23 16:17:43 +00:00
Nicolas Werner eafbab6ae1
Add menu to enable or disable stickers globally 2021-07-23 17:43:17 +02:00
Nicolas Werner 0c798554b5
Rename image pack model 2021-07-22 20:05:25 +02:00
Loren Burkholder 0ce7d02abe make lint 2021-07-22 07:55:12 -04:00
Nicolas Werner 5ae73bf8fd
Add trailing newline to session export to make gomuks happy 2021-07-22 12:00:14 +02:00
Loren Burkholder bbecadf1a8 Add functionality for loading global user profile where needed
This is so viewing profiles from the invite dialog will work as expected.
2021-07-21 20:38:18 -04:00
DeepBlueV7.X 1d3579196a
Merge pull request #650 from LorenDB/qml-all-the-things
Open room members when member info label clicked
2021-07-21 23:18:21 +00:00
Loren Burkholder 44be4c1f4a Move various room auxiliary functions to TimelineManager 2021-07-21 18:56:20 -04:00
Loren Burkholder b17002929c Open room members when member info label clicked 2021-07-21 12:36:02 -04:00
Nicolas Werner f401ed16ac
Tweak rainbows slightly 2021-07-21 17:44:29 +02:00
Nicolas Werner 8a300f7333
Fix some media not being cached properly
Most noticeable in the goose chooser.
2021-07-21 16:55:28 +02:00
Loren Burkholder 6458614ea1 make lint 2021-07-20 21:48:10 -04:00
Loren Burkholder efda94ca50 Modify message to be more accurate 2021-07-20 21:48:10 -04:00
Loren Burkholder 77c636f3d3 Insert user before loading avatar/display name 2021-07-20 21:48:10 -04:00
Loren Burkholder 44d2818e0c Add property for plain room name 2021-07-20 21:48:10 -04:00
Loren Burkholder 21eb312f69 Only run spinner while loading members 2021-07-20 21:48:03 -04:00
Loren Burkholder a9ed83a1ce Remove size_t property stuff 2021-07-20 21:48:03 -04:00
Loren Burkholder 48669302ec make lint 2021-07-20 21:48:03 -04:00
Loren Burkholder 10c6f2b43f Use Nico's favored formatting (*shrugs*) 2021-07-20 21:48:03 -04:00
Loren Burkholder 4384554587 Only invite if there is something/someone to invite 2021-07-20 21:48:03 -04:00
Loren Burkholder f30c3db860 Fix loaded member count 2021-07-20 21:47:54 -04:00
Loren Burkholder baa9dfe110 Clean up code 2021-07-20 21:47:46 -04:00
Loren Burkholder 913d0fd139 Make macOS CI happy (again) 2021-07-20 21:47:37 -04:00
Loren Burkholder d2d5229ede make lint 2021-07-20 21:47:32 -04:00
Loren Burkholder db8af24bea Don't emit signal in constructor 2021-07-20 21:47:32 -04:00
Loren Burkholder 60b3c34d78 Permissions only needs a roomid to function 2021-07-20 21:47:32 -04:00
Loren Burkholder c566a62541 Clean up code 2021-07-20 21:47:22 -04:00
Loren Burkholder a176de5f11 Make sure to use the default room id if none is specified 2021-07-20 21:47:22 -04:00
Loren Burkholder f0c88fc474 Get member info loading working 2021-07-20 21:47:22 -04:00
Loren Burkholder a76fc7d200 Add a fancy loading spinner to the member list 2021-07-20 21:47:22 -04:00
Loren Burkholder e1acf5d324 make lint 2021-07-20 21:47:22 -04:00
Loren Burkholder 6c57fa6c5b QML the invite dialog
This also adds a property `roomId` to TimelineModel.
2021-07-20 21:47:22 -04:00
Loren Burkholder 77a0c574bf QML the room member list 2021-07-20 21:47:05 -04:00
Nicolas Werner 88ed0fade7
Explicitly reload data in delegates, if related events got loaded 2021-07-20 14:09:19 +02:00
Nicolas Werner 3b56ff2d85
Fix replying and editing stickers 2021-07-19 16:14:09 +02:00
Nicolas Werner 9f416f1fc9
Fix only first 7 stickers showing up 2021-07-19 12:43:16 +02:00
Nicolas Werner 56b44a85b5
Fix unused state key when iterating room stickers 2021-07-19 03:29:48 +02:00
Nicolas Werner 9d5ba4f681
Move sticker parsing and enable room stickers 2021-07-19 03:02:30 +02:00
Nicolas Werner 8a1666bc88
Basic sticker support 2021-07-19 01:28:07 +02:00
Nicolas Werner aa84cf24f6
Disable unchecked key sharing to trusted users by default 2021-07-17 21:43:25 +02:00
Nicolas Werner 3f0aa13cb6
Share historical keys
We share all keys with our devices and ones created by us to other
users.
2021-07-17 02:14:44 +02:00
Nicolas Werner 9fadd14871
Store megolm session data in separate database 2021-07-17 01:27:37 +02:00
Nicolas Werner 0b864d9485
Fix replies not reloading after fetching them 2021-07-16 11:47:49 +02:00
Joseph Donofry 19f2c02eda
Remove 'respond to key requests' functionality 2021-07-15 18:08:59 -04:00
Nicolas Werner be0576f6a1
Add workaround for TextEdit not rerendering after image loaded
fixes #541
2021-07-15 00:26:39 +02:00
Nicolas Werner 47899ee7ed
Switch to room after joining invite 2021-07-13 03:13:52 +02:00
Nicolas Werner 0a4e95a1db
Don't allow switching to current room
fixes #634
2021-07-13 02:57:16 +02:00
Nicolas Werner d81e3f94e7
Try to fix crash in setCurrentIndex
fixes #607
2021-07-13 02:45:03 +02:00
Nicolas Werner c600827f78
Strip reply fallback from roomlist
fixes #630
2021-07-13 02:36:10 +02:00
Nicolas Werner 40a3ee6eb2
Fix verification requests showing up on startup 2021-07-12 23:02:26 +02:00
Nicolas Werner 9d6bc706ff
Don't use full dump for replies 2021-07-12 22:28:01 +02:00
Nicolas Werner 801af1864c
Fix off-by-1 in insertRows when loading room list from initial sync 2021-07-12 01:07:10 +02:00
Nicolas Werner bd26624ed8
Prepare for reuseItems in timeline
The actual reuseItems is still blocked on a few upstream bugs.
2021-07-12 00:24:33 +02:00
Nicolas Werner b064eb34aa
Fix lint 2021-07-10 16:14:24 +02:00
Nicolas Werner c755d54243
Remove db bottleneck by caching ro txn for 100 requests 2021-07-10 16:12:38 +02:00
Nicolas Werner f38650edf0
Add additional device verification logging 2021-07-10 16:11:33 +02:00
Nicolas Werner d163809551
Fix blurhash discoloration on decode 2021-07-09 23:35:27 +02:00
Nicolas Werner 2f08f5181c
Redesign invites and room preview joins 2021-07-09 11:36:34 +02:00
Joseph Donofry d25f020d79
Fix linter issue 2021-07-08 21:07:45 -04:00
Joe d05253a740 Add missing include to Utils 2021-07-08 00:39:11 -04:00
Joe 82088fa0d7 Fix cmake template define issue 2021-07-07 09:48:13 -04:00
Joe 478c3b3e0b Fix Backtrace define error for Windows 2021-07-07 00:26:20 -04:00
Nicolas Werner f23fd5f822
Fix a few embarrassing bugs with device list updates 2021-07-06 11:39:29 +02:00
Nicolas Werner 9540d704e0
Show previews for space rooms 2021-07-04 23:06:50 +02:00
Nicolas Werner f6f5d2615a
Make emoji picker follow theme 2021-07-03 22:45:36 +02:00
Nicolas Werner 683a24d2aa
Fix community sidebar toggle 2021-07-02 12:36:33 +02:00
Nicolas Werner d2ba0b6603
Update translations 2021-07-02 09:47:43 +02:00
Nicolas Werner 5b016cbc68
Remove dead code to calculate last message 2021-07-01 12:45:47 +02:00
Nicolas Werner 66e69d7f2b
Ignore return value of write() in signal handler 2021-06-30 15:48:54 +02:00
Nicolas Werner 9f7064676c
Get rid of boost dependency for stacktraces 2021-06-30 15:01:41 +02:00
Nicolas Werner 590395a08b
Fix too many newlines in reply fallback 2021-06-30 12:22:22 +02:00
Nicolas Werner 2c307a4dee
Fix error message for /sync 2021-06-30 12:21:57 +02:00
Nicolas Werner 00f251753e
Use coeurl for networking
Something is still wrong on shutdown, need to debug that.
And CI will fail.
2021-06-30 02:43:36 +02:00
Nicolas Werner 78c69a8f7b
Fix tags going missing if you join communities 2021-06-26 23:56:34 +02:00
Stuart Mumford 7fab2925b4
Apply suggestions from code review 2021-06-25 15:44:15 +01:00
Stuart Mumford 9194b87bdc
Update src/timeline/TimelineModel.cpp 2021-06-25 15:21:04 +01:00
Stuart Mumford d60ea38cb8
Add another regex to match inline img tags using single quotes
Signed-off-by: Stuart Mumford <stuart@cadair.com>
2021-06-25 12:14:45 +01:00
Nicolas Werner 4a5414975d
fix sort by unread not getting persisted 2021-06-25 11:35:27 +02:00
Nicolas Werner 6a807894b4
Increase contrast of dark theme secondary colors slightly 2021-06-25 11:35:26 +02:00
Nicolas Werner f8dfc72625
Fix spaces showing up with world filter 2021-06-25 11:35:26 +02:00
Nicolas Werner d30446a8b3
Don't spam key requests directly after startup 2021-06-25 11:35:24 +02:00
Nicolas Werner 884fb74d2d
Add a basic 'Space page' 2021-06-25 11:34:19 +02:00
Nicolas Werner c69d2ef648
Fix off by 1 in previousRoom condition 2021-06-25 11:34:19 +02:00
Nicolas Werner f349b0cce0
Hide spaces by default, unless they are in the current space filter 2021-06-25 11:34:18 +02:00
Nicolas Werner 0ec7be3090
Fix hiding rooms from a space 2021-06-25 11:34:18 +02:00
Nicolas Werner 6bfa6c4c79
Allow filtering by space 2021-06-25 11:34:18 +02:00
Nicolas Werner 12ce7686ce
Show some spaces in the community sidebar 2021-06-25 11:34:17 +02:00
Alexander Bantyev 358a39e6d2
fixup! Allow editing unsent messages 2021-06-19 23:26:21 +03:00
Alexander Bantyev 42bf8799ee
fixup! Allow editing unsent messages 2021-06-19 23:11:34 +03:00
Alexander Bantyev f8d2564e46
fixup! Allow editing unsent messages 2021-06-18 20:25:44 +03:00
Alexander Bantyev 9f798e76ed
Allow editing unsent messages
As of 0db4d71ec2 (Prevent edits of
unsent messages), messages that are edits of (or replies to) unsent
messages were not allowed. This change was made because otherwise
the edits were discarded due to use of txnid rather than mxid in the
"m.relates_to" object. Remove this restriction and fix the issue by
replacing txnid with mxid in all related events when the message is
sent (and we obtain mxid from the server).
2021-06-18 16:38:55 +03:00
Nicolas Werner 84434433f2
Fix wrong tags in context menu 2021-06-14 23:40:06 +02:00
Nicolas Werner 019bcf5f5c
Fix copy and paste fail for low prio avatar 2021-06-14 23:23:46 +02:00
Nicolas Werner e6878ee298
Don't read avatarUrl from local profile, if no global avatar is set 2021-06-12 16:05:45 +02:00
Nicolas Werner 7d5e82c888
Merge branch 'master' into qml-roomlist 2021-06-12 15:05:07 +02:00
Nicolas Werner 4985e1f536
Persist sidebar sizes 2021-06-12 14:09:08 +02:00
Nicolas Werner 1d80f5d0b4
Remove useless capture 2021-06-11 21:25:21 +02:00
Nicolas Werner a5291605a9
Reenable tag hiding 2021-06-11 17:54:05 +02:00
Nicolas Werner 8d2d8dc267
Enable toggling tags 2021-06-11 14:51:29 +02:00