Lukas Lihotzki
5da26a6923
refactor: null safe commands_extension
2021-09-23 00:15:05 +00:00
Lukas Lihotzki
01c3b4d0bc
refactor: null safe MatrixFile
2021-09-22 23:40:21 +00:00
Lukas Lihotzki
7a3553839c
fix: remove unused parameter in VariableTimeoutHttpClient
2021-09-21 07:12:07 +00:00
Lukas Lihotzki
f491cfacc2
refactor: null safe http_timeout
2021-09-21 07:12:07 +00:00
Sorunome
6f0c7c5f64
feat: Add /discardsession command
2021-09-17 05:52:53 +00:00
Christian Pauly
e13b00d127
refactor: Make RoomUpdate class null safe by removing it
...
RoomUpdate came from a time where we had no data model for
SyncUpdates but now we have and therefore this class is just
code duplication. This removes the class
and uses the SyncRoomUpdate class from
the package matrix_api_lite instead.
It needed a lot of refactoring at some places
where I also have removed some unnecessary null or type checks.
2021-09-08 12:31:55 +00:00
Christian Pauly
5b13e0442e
refactor: Make Uri extension null safe
2021-09-08 12:31:55 +00:00
Christian Pauly
92755c07d3
refactor: Don't create dummy User object just to start a new chat
2021-09-08 12:31:55 +00:00
Christian Pauly
646d7e2640
fix: revert make bytes in EncryptedFile nullable
2021-09-06 09:35:53 +02:00
Christian Pauly
2cd32a8547
fix: Make bytes in encrypted file nullable
...
This was a mistake to make them non nullable. There are fields in the app where
we create this object without bytes.
2021-09-06 08:46:23 +02:00
Christian Pauly
9c1f79359e
refactor: Replace all logic regarding sortOrder
...
The current implementation of sortOrder can be made way more easier now
by just keeping the sortOrder of the list
and the timelineFragments in the hiveStore. This needed a huge
change but mostly removes a lot of code which can be done
way more easy now. This also needed some rewriting of the setState logic and changes to
the prevEvent calculation. This solution should also be more stable.
More information:
https://www.reddit.com/r/fluffychat/comments/pfnlhq/the_sort_order_of_matrix_timelines/
2021-09-02 07:13:38 +00:00
Christian Pauly
62694248b9
refactor: Make UIA Request null safe
2021-08-30 09:26:34 +02:00
Christian Pauly
efca583cf5
refactor: SyncUpdateExtension null safe
2021-08-30 09:20:17 +02:00
Christian Pauly
8ae77215b5
refactor: SpaceChild and SpaceParent null safe
2021-08-30 09:20:17 +02:00
Christian Pauly
dd48a379ec
refactor: runInRoot null safe
2021-08-30 09:20:17 +02:00
Christian Pauly
8621f82333
refactor: Null safe receipt
2021-08-30 09:20:17 +02:00
Christian Pauly
607658dcda
refactor: Null safe QueuedToDeviceEvent and fix CamelCase filename
2021-08-30 09:20:17 +02:00
Christian Pauly
4b9a2945f4
refactor: Null safe multilock
2021-08-30 09:20:17 +02:00
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
Sorunome
4154c7d0eb
format and some analyze
2020-06-06 13:47:37 +02:00
Sorunome
4c60369b8d
migrate to new thingy!
2020-06-05 22:03:28 +02:00
Sorunome
d29fb9abfe
Merge branch 'soru/modularize-e2ee' into soru/cross-signing
2020-06-05 18:59:58 +02:00
Sorunome
fcde6a2459
split encryption stuff to other library
2020-06-04 13:39:51 +02:00
Christian Pauly
c6bf098644
Init matrix_api library
2020-06-03 10:16:01 +00:00
Sorunome
9971e7377e
configurable verification methods
2020-05-30 13:55:09 +02:00
Sorunome
d7f2bbe2f9
smoothen out some stuffs
2020-05-30 13:22:34 +02:00
Sorunome
15be6c5244
stuff and things
2020-05-29 09:06:36 +02:00
Sorunome
c65b5948fc
Merge branch 'master' into soru/cross-signing
2020-05-29 08:54:33 +02:00
Sorunome
d672edf394
Make room key sharing requests (hopefully) more robust and spec-compliant
2020-05-29 06:49:37 +00:00
Sorunome
c779d39818
fix small stuffs
2020-05-27 21:40:58 +02:00
Sorunome
dda0b17724
in-room verification to verify users instead of devices
2020-05-27 21:35:00 +02:00
Sorunome
aefe029c0a
add ability to sign yourself based on ssss
2020-05-27 18:50:09 +02:00
Sorunome
e4e4386178
signed vs verified logic
2020-05-27 17:37:14 +02:00
Sorunome
8d75c2a0af
format
2020-05-27 10:33:42 +02:00
Sorunome
fabffea1cd
verification status by user, sign manually verified keys
2020-05-27 10:13:22 +02:00
Sorunome
1c9da050c0
smoothen out verification and signature uploading
2020-05-26 15:58:14 +02:00
Sorunome
c23e38a9c9
Merge branch 'master' into soru/cross-signing
2020-05-26 10:00:59 +02:00
Sorunome
2ecf4151b9
also send master key on verification and stuffs
2020-05-26 09:54:46 +02:00
Sorunome
8a289941eb
Fixes profile equality check
2020-05-26 06:40:13 +00:00
Sorunome
c13f66c85f
in theory sign others keys
2020-05-25 15:30:53 +02:00
Sorunome
97a10c7de1
Merge branch 'master' into soru/cross-signing
2020-05-25 13:22:13 +02:00
Christian Pauly
cbf5069e32
Add more tests
2020-05-25 09:34:43 +00:00
Christian Pauly
f7b29f3703
Ignore key requests from unknown devices
2020-05-25 07:31:17 +00:00
Sorunome
280cd4fc16
first SSSS stuff
2020-05-23 17:04:27 +02:00
Christian Pauly
c01f75bafa
Add olm error stream
2020-05-22 15:51:45 +02:00
Sorunome
1a8ddb2750
fixes
2020-05-22 13:22:28 +02:00
Sorunome
c9a0c5302a
format
2020-05-22 13:18:45 +02:00
Sorunome
29721f00a8
Merge branch 'master' into soru/cross-signing
2020-05-22 13:18:36 +02:00
Christian Pauly
27b4a620e5
Add code formatting CI job
2020-05-22 10:12:18 +00:00
Sorunome
74361fff0e
don't cache via db and properly handle invalid signatures
2020-05-22 11:04:27 +02:00
Sorunome
788353120b
accidental inifnite recursion
2020-05-21 16:55:30 +02:00