Commit Graph

266 Commits

Author SHA1 Message Date
Christian Pauly 0cd73e846d refactor: Null safe matrix localizations 2021-08-30 09:20:17 +02:00
Christian Pauly f311ca62e0 refactor: Make markedUnread null safe 2021-08-30 09:20:17 +02:00
Christian Pauly 5eb2d22207 refactor: Make eventupdate null safe 2021-08-30 09:20:17 +02:00
Christian Pauly d75b27a0cd refactor: Ignore import_of_legacy_library_into_null_safe 2021-08-30 09:20:17 +02:00
Christian Pauly 8f35683120 refactor: Make encryption utils null safe 2021-08-30 09:20:17 +02:00
Christian Pauly 4bee82dbe0 fix: uiaRequests send broken auth object at first try
We should just let the `auth` object null and dont send it at the
first try and wait for the servers response. This worked in the past
but now it is broken because of changes in the
matrix_api_lite. This could also be fault for some
bootstrap issues.
I have also removed an unnecessary check if a String is a String and just made it a
null check because this was intended at this point.

Because of that this blocks uiaRequests it is a hotfix and therefore directly bumps the version.
2021-08-30 08:31:20 +02:00
Sorunome ffb6fd426c
fix: Requesting history being funky
As it turns out, some of the code set the prev_batch for rooms too
early to an empty string. For synapse this means "request from the start",
for conduit it is just an error. This commit fixes that by never resolving
null --> empty string, but instead throw an error.
2021-08-29 12:56:16 +02:00
Sorunome 024e0de4b9
fix: Don't lag when sending messages in big rooms
The old mentionMap was very inefficient to build and scaled badly with
room member size. This resulted in noticable lag when sending any message
in a large room, no matter if it contained a message or not.
Now, the algorithm is severly optimized and mentions (and emotes) are
only loaded when actually used.
2021-08-29 11:43:46 +02:00
Sorunome f3f9b219e1 feat: Cleanup Event.plaintextBody and add [plaintextBody] to Event.getLocalizedBody
It appears that [hideEdit] in Event.getLocalizedBody was written in a way that it
assumes a valid event body. This was also fixed, while also adding tests for the
various parameters of Event.getLocalizedBody
2021-08-28 09:46:03 +00:00
Sorunome b849c828e3
fix: String.parseIdentifierIntoParts not working with unicode matrix.to links
Some clients do not uri-encode the identifier for matrix.to links, so we must
handle if we can't uri-decode them
2021-08-28 11:19:26 +02:00
Christian Pauly 93c689fd4d hotfix: Opt-out null safety for crypto files because of an error in web
`packages/matrix/src/utils/crypto/crypto.dart:19:1: Error: Null safe libraries are not allowed to export declarations from of opt-out libraries.
`
2021-08-20 13:56:15 +02:00
Christian Pauly 9b7474e2f2 refactor: Update to dart 2.12 and opt out in all files
This also adds some missing license headers, I have detected while
using license header search&replace to add the
null safety opt out
2021-08-18 08:09:39 +02:00
xenofem a1b95c0915
feat(events): add plain-text body representation from HTML
Co-Authored-By: Sorunome <mail@sorunome.de>
2021-08-17 18:33:45 +02:00
Sorunome fb16b96ea6 fix: Correctly parse the reason of a spoiler
Previously only the first child node of a spoiler was considered to
determine if there should be a spoiler reason. This was, unfortunately,
incorrect, as soon as e.g. the reason had more than one space. This is
fixed by properly iterating all child nodes to search for the reason.
2021-08-17 07:33:53 +00:00
Lukas Lihotzki 6d6830505f refactor: implement http timeouts in this package 2021-07-26 15:33:36 +02:00
Lukas Lihotzki 8665f092f4 chore: matrix_api_lite 0.4.0 2021-07-26 14:54:22 +02:00
Christian Pauly 209035ffbd refactor: Use official Dart isolates
The isolates package is discontinued and not compatible
with the newest Dart version.
dart:isolate is not an option because importing this
library makes it impossible to run the matrix
SDK on dart web native. It just won't
build. So we now just depend on
that the flutter app pass through the compute method.
2021-07-21 12:34:43 +02:00
Sorunome a1594fd9ac
feat: Add general image pack handling as per MSC2545
This also deprecates the old ways to access just emoticons, as the MSC
now covers both emoticons and stickers!
2021-07-18 18:46:32 +02:00
Sorunome ee287a09b9
feat: Add support for nicer mentions
This PR adds support for nicer mentions in markdown: You can now
fetch the mention string of a user with `user.mention` which is
human-friendly (typically contains the display name), which will get
properly pillified upon passing through the markdown parser.
2021-07-18 17:29:25 +02:00
Sorunome 44b7c96d73
fix: preserve homeserver port when creating thumbnail URIs 2021-07-11 13:15:57 +02:00
Sorunome cd5131daa5
fix: Add locking to sending encrypted to_device messages to prevent potential race conditions
Due to chunked lazy sending of megolm sessions it was in theory that we encrypted two olm
messages to the same device in different futures out-of-order. Introducing locking here should
fix this (increadibly rare, so far only theoretical?) race-condition
2021-07-11 13:06:39 +02:00
Christian Pauly c0c7f68bf3 chore: Rename to matrix 2021-06-18 09:58:25 +02:00
Christian Pauly 73db010db4 fix: Make QueuedToDeviceEvent store content as String OR Map
Temporary fix to stay compatible to Moor AND a key value store
2021-06-01 12:56:43 +02:00
Christian Pauly c3d47b16c6 CI: Use correct image 2021-05-25 10:46:34 +02:00
Christian Pauly c66e35c16c refactor: Create a clean database API 2021-05-20 07:36:03 +00:00
Lukas Lihotzki c196610998 chore: operation names from OpenAPI spec 2021-05-12 13:56:16 +02:00
Christian Pauly ffef732103 refactor: enable more linter rules
enable prefer_final_locals and prefer_final_in_for_each linter rules
2021-04-14 10:29:29 +02:00
Lukas Lihotzki 545ce26e39 style: fix format and lint 2021-04-12 14:49:03 +02:00
Lukas Lihotzki d413f54f10 refactor: use OpenSSL for file e2ee 2021-04-12 14:49:03 +02:00
Lukas Lihotzki 761138a56d refactor: use OpenSSL for AES 2021-04-12 14:49:01 +02:00
Lukas Lihotzki 7faf05fe90 refactor: selectable hash for pbkdf2 2021-04-12 14:48:38 +02:00
Lukas Lihotzki a25d1932ee fix: fast pbkdf2 with OpenSSL 2021-04-12 14:48:38 +02:00
Lukas Lihotzki 4f32168017 chore: upgrade to markdown 4.0.0 2021-04-12 14:48:38 +02:00
Christian Pauly fb0177ac5f feat: Implement spaces 2021-04-12 09:24:20 +02:00
Lukas Lihotzki 2a2a170609 refactor: upgrade http package 2021-04-01 13:43:24 +02:00
Christian Pauly 0ceb2b26df refactor: Constants names 2021-03-30 12:43:50 +02:00
Lukas Lihotzki 3d55abdd11 chore: upgrade to ffi 1.0.0 2021-03-29 16:37:29 +02:00
Christian Pauly 9012ce6b2c fix: Display errors from isolates in the logs 2021-03-17 09:46:13 +01:00
Krille Fear 9bef8452d3 docs: Clean up dart documentations
Changing to `code` blocks where it cant be resolved to [stuff] things.
2021-03-16 12:32:21 +00:00
Krille Fear 9626c64993 docs: Fix deprecation warning 2021-03-16 09:23:44 +00:00
Christian Pauly 1f8285c3e7 refactor: Room states 2021-03-09 17:28:55 +00:00
Krille Fear 44ca96e544 refactor: Update pedantic
This enforces to NOT use curly braces in Strings where not needed
and not await non-future variables.
2021-03-09 17:28:04 +00:00
Christian Pauly c9d3c327f6 refactor: Deprecate eventType in EventUpdate 2021-02-26 13:06:02 +01:00
Sorunome e7c8e754a1
chore: Update matrix scheme parsing to match updated MSC 2021-02-23 16:34:43 +01:00
Nicolas Werner ac1ad1b897 fix: escape attributes in markdown less aggressively 2021-02-17 22:56:31 +01:00
Sorunome 681b27e269
fix: Don't allow transitive trust unless it is for ouself 2021-02-15 12:19:05 +01:00
Christian Pauly fd05f642d8 feat: Implement cancel uiarequest 2021-02-10 13:41:09 +01:00
Sorunome fcb8d48bd7
feat: Add command parser 2021-02-09 18:19:38 +01:00
Sorunome 44a1bcfd57
fix: Accidental pills in URLs 2021-01-20 12:02:40 +01:00
Christian Pauly 03e17f890e change: Deprecate senderName 2021-01-15 14:24:30 +01:00
Christian Pauly 39b776716c refactor: Olm Exceptions 2021-01-07 12:53:49 +01:00
Christian Pauly 9ffecd845a chore: Update license header 2021-01-04 10:34:50 +01:00
Christian Pauly e450a09fb5 refactor: External matrix api 2021-01-04 10:26:29 +01:00
Sorunome 19d96595cc
feat: Add identifier string parsing 2021-01-01 15:28:25 +01:00
Sorunome 6723c01a31
feat: Lazy-send room keys, chunked and sorted by importance 2020-12-29 14:46:36 +01:00
Sorunome 58044be1ba
feat: Add animated property to thumbnails 2020-12-29 10:32:18 +01:00
Sorunome 768baa7602
chore: Implement a proper deep-copy function for json maps 2020-12-28 14:35:21 +01:00
Sorunome 48904b3a1b
fix: Cache the result of the self-signature check 2020-12-23 10:52:39 +01:00
Sorunome 6f9deb5ae2
fix: Verify device signatures before storing devices and block those with invalid signatures 2020-12-22 10:22:42 +01:00
Sorunome b00a9e8834
feat: Better determine which devices to encrypt to 2020-12-21 15:26:46 +01:00
Christian Pauly 57286d4c28 feat: Use logger package 2020-12-19 12:04:25 +00:00
Sorunome 405306f84e
feat: Add == operator to the Receipt, User and Room objects 2020-12-19 12:15:50 +01:00
Christian Pauly d3c44687f6 fix: Missing null check which F*cks me up! 2020-12-14 13:24:39 +00:00
Christian Pauly 6657e073a0 refactor: Follow up clean up bootstrap 2020-12-11 09:57:45 +01:00
Christian Pauly b563aec7bb refactor: Add secretstoragekeycontent 2020-12-10 11:03:45 +01:00
Sorunome 49f0679fbf feat: Add bootstrapping 2020-12-10 08:13:24 +00:00
Christian Pauly bec1761172 refactor: content parsing 2020-11-30 15:34:46 +01:00
Christian Pauly 9181701df0 fix: Display stateKey when changing displayname 2020-11-23 17:35:50 +01:00
Christian Pauly 411d29cc89 feat: Implement room tombstones 2020-11-21 15:28:05 +01:00
Sorunome 66572bd032
feat: Check if event type is known 2020-11-08 13:52:10 +01:00
Sorunome 5924e57cf1
feat: Add broadcast to-device verification 2020-10-30 11:40:19 +01:00
Sorunome ad0192e8e1
fix: Greatly improve latex markdown 2020-10-24 12:08:23 +02:00
Christian Pauly 66e590073e refactor: Event Update Type 2020-10-22 13:01:35 +02:00
Sorunome be6824b746
feat: Add LaTeX markdown rendering as per MSC2191 2020-10-21 11:20:19 +02:00
Sorunome 01bb3f5b50
fix: Make key backup work in web 2020-10-14 12:18:20 +02:00
Christian Pauly 84cc925b08 fix: Mimetype null 2020-09-28 12:43:23 +02:00
Sorunome 86a4f90a5a
fix: Run automated key requests in root zone 2020-09-21 18:11:14 +02:00
Christian Pauly b05e4da34f fix: Last event calculation 2020-09-16 10:23:37 +02:00
Sorunome c90e18b55d
fix: Handle domains with port or ipv6 addresses correctly 2020-09-15 12:40:29 +02:00
Sorunome bbc1b63695
feat: Auto-verify own master key, if there is a valid signature chain within the same account 2020-09-10 13:04:24 +02:00
Sorunome 99d536b14f
feature: Upload to online key backup 2020-09-09 09:53:26 +02:00
Sorunome f7e63097b4 chore: Update emotes to match MSC 2020-09-07 09:34:14 +00:00
Christian Pauly a288216e03 Add call state localizations 2020-08-15 14:46:08 +02:00
Sorunome 3d2476cfdb fix: Have matrix id string extension obay the proper grammar 2020-08-13 09:03:44 +00:00
MTRNord 26586b6f02
style: Change package:famedlysdk imports to relative imports
Changing the imports from `package:famedlysdk` to relative imports allows us to easier move the files

Took 2 minutes
2020-08-13 10:40:39 +02:00
Christian Pauly fb9b505988 Krille/make client extend matrixapi 2020-08-11 16:11:51 +00:00
Christian Pauly 6170c79fe1 Improve logging 2020-08-06 09:35:02 +00:00
Christian Pauly 938540eca5 Detect the file message type 2020-08-01 13:04:03 +00:00
Sorunome 31614364d3 add update filters 2020-07-25 14:46:36 +00:00
Sorunome 6cd745bd1a
Add data-mx-emote to emotes 2020-07-24 17:59:39 +02:00
Lukas Lihotzki 842581699c MatrixFile refactoring for thumbnails 2020-06-29 12:00:26 +00:00
Sorunome dbcdb6883d
better set verified 2020-06-21 21:48:06 +02:00
Sorunome 18f8d0db63
add deviceDisplayName 2020-06-21 21:38:26 +02:00
Sorunome 0e0fd61c65
remove unneded print 2020-06-15 10:27:28 +02:00
Sorunome e874a5e00b
add signature verification tests 2020-06-15 10:26:50 +02:00
Sorunome 6a36bb2d01
fix pipeline 2020-06-12 16:25:26 +02:00
Sorunome 51584ad748
fix signature upload 2020-06-06 15:43:18 +02:00
Sorunome 45232be3a0
simplify key signing a tad 2020-06-06 15:19:44 +02:00
Sorunome b4e83caa89
requestify cross-signing endpoints 2020-06-06 15:17:05 +02:00
Sorunome e1679d59be
better smoothen out keys 2020-06-06 14:28:18 +02:00