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
Sorunome
4735d2d0a8
fix: Sending of the to_device key
...
With the switch to hive a regression of sending the to_device key was
introduced: When popping elements .deleteAt(), so deleting at the index,
was used, instead of .delete(), so deleting of the key. As the new events
pushed onto the queue used hives auto increment key, a .delete() is
appropriate here.
2021-07-09 19:43:48 +02:00
Christian Pauly
ebc9be250d
fix: Mark unsent events as failed
...
In Moor this was implemented but forgotten in Hive.
Events with status 0 (not sent yet) should be marked as failed on restart.
In fact they should be marked as failed if older than 1 minute. To not have a big startup job which iterates through all events in the database
we just do a time check when opening a room where we iterate through all events anyway.
The new implementation is now in the constructor of the Event and therefore
independent from the database implementation.
2021-07-05 08:37:46 +02:00
Christian Pauly
a7ffe4835d
feat: Also migrate inbound group sessions
...
For users who do not use the chat backup this could be useful.
2021-06-19 11:03:52 +02:00
Christian Pauly
c0c7f68bf3
chore: Rename to matrix
2021-06-18 09:58:25 +02:00
Christian Pauly
14ee16fe16
feat: Implement new Hive Database
...
The hive database now implements the whole API except for storing files which
should be better done by the flutter_cache_manager package inside of the
flutter app. All tests already run with Hive now but the Moor database is still
tested too. We needed to change some wait jobs in the tests because the Hive
database is not 100% in memory for the tests like Moor.
For now both database implementations are equal and the developer can pick
which one to use but we plan to get rid of Moor in the future.
2021-06-16 08:43:33 +02:00
Christian Pauly
967712adfe
feat: Implement database migration
...
This allows the user to give a legacyDatabaseBuilder to the client object
and in the init proccess the client checks by itself if there is old data in the legacy
database. If yes then it migrates them and
then deletes the old database. This uses the database_api and is agnostic to
the database implementation.
2021-06-11 10:10:18 +02:00
Lukas Lihotzki
ae2aafbd52
test: use setUp and tearDown
2021-06-09 17:12:14 +02:00
Christian Pauly
0e1e72d3ab
fix: Minor test glitches
2021-06-01 15:27:57 +02:00
Christian Pauly
c387b33e9f
refactor: Make support for file storing optional in database API
2021-06-01 15:27:18 +02:00
Christian Pauly
26261ecd5e
feat: Add fromJson method for Room
...
This also included to move the room summary to a dedicated object inside
of the Room object because so it is easier to convert this to and from json.
2021-06-01 12:54:16 +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
Christian Pauly
aa4b0a25fa
refactor: Update matrix_api_lite and remove no longer necessary dep override
...
The logger package has been removed too because the matrix_api_lite no longer
depends on it. It was a unnecessary import anyway because it was transitive in the past.
2021-05-17 07:50:54 +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
761138a56d
refactor: use OpenSSL for AES
2021-04-12 14:49:01 +02:00
Lukas Lihotzki
b9df73989b
test: fix test on web
2021-04-12 14:47:59 +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
Christian Pauly
97daae3419
refactor: Update to matrix_api_lite 0.2.0
...
This introduces a minor breaking change in the login method.
It now uses correctly the AuthenticationIdentifier
and deprecates the user, medium and address parameter.
2021-03-09 19:14:53 +01:00
Krille Fear
5cf97886b4
Merge branch 'soru/strip-at-room' into 'main'
...
feat: Escape @room in the reply fallback when replying
See merge request famedly/famedlysdk!667
2021-03-09 18:12:47 +00:00
Sorunome
6d171542af
feat: Escape @room in the reply fallback when replying
2021-03-09 18:29:13 +01: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
Krille Fear
0d8bddf708
Merge branch 'soru/fallback-keys' into 'main'
...
feat: Add fallback keys support
Closes #136
See merge request famedly/famedlysdk!653
2021-03-03 07:38:32 +00:00
Sorunome
498c7825a5
feat: Add fallback keys support
2021-03-02 16:17:32 +01:00
Christian Pauly
5c35799e18
refactor: Request user
2021-03-01 10:32:04 +01:00
Sorunome
885141968c
Merge branch 'krille/refactor-event-update' into 'main'
...
refactor: Deprecate eventType in EventUpdate
See merge request famedly/famedlysdk!661
2021-02-26 16:11:57 +00:00
Christian Pauly
b8659213ae
feat: Implement can request history calculation
2021-02-26 13:48:29 +01: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
Christian Pauly
72a7bc1637
feat: Implement upload sync filters
2021-02-18 14:03:58 +01:00
Nicolas Werner
ac1ad1b897
fix: escape attributes in markdown less aggressively
2021-02-17 22:56:31 +01:00
Sorunome
6c2fc1679a
feat: Auto-selfsign and auto-cache when opening ssss keys
2021-02-13 14:55:09 +01:00
Sorunome
fcb8d48bd7
feat: Add command parser
2021-02-09 18:19:38 +01:00
Christian Pauly
d362d6db23
fix: Request history on limited timeline
2021-02-09 15:02:48 +01:00
Sorunome
d373a06aa2
fix: Add to_device queue to prevent olm session corruptions
2021-02-08 14:57:19 +01:00
Sorunome
0c4db25d05
feat: Add a way to string-encode a recovery key
2021-02-03 11:34:56 +01:00
Sorunome
21a5854fbf
fix: Attempt event decryption on fetching replied events
2021-02-02 12:51:43 +01:00
Krille Fear
c701268d71
feat: Do well known by default in check homeserver
2021-01-20 13:21:51 +00:00
Sorunome
a35266f1e4
feat: Replay last sent olm message on olm session recovery from other device
2021-01-20 12:50:52 +01:00
Sorunome
44a1bcfd57
fix: Accidental pills in URLs
2021-01-20 12:02:40 +01:00
Sorunome
9d6005ca2a
fix: Smoothen up sending to rooms with extremely many devices
2021-01-14 18:47:51 +01:00
Sorunome
88f8a57863
fix: Correctly generate reply fallbacks
2021-01-14 13:51:17 +01:00
Christian Pauly
c94da38438
fix: Hide verification timeline events in lastEvent
2021-01-13 13:30:47 +01:00
Christian Pauly
39b776716c
refactor: Olm Exceptions
2021-01-07 12:53:49 +01:00
Sorunome
c22615d8cd
fix: Prioritize specced replies over unspecced event aggregations
2021-01-05 15:32:47 +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
Krille Fear
03b9c6e2ee
Merge branch 'soru/animated-thumbnail' into 'main'
...
feat: Add animated property to thumbnails
See merge request famedly/famedlysdk!590
2020-12-29 09:38:47 +00:00
Sorunome
58044be1ba
feat: Add animated property to thumbnails
2020-12-29 10:32:18 +01:00
Sorunome
68afe362ce
feat: Start megolm sessions while typing
2020-12-28 16:14:07 +01:00
Sorunome
768baa7602
chore: Implement a proper deep-copy function for json maps
2020-12-28 14:35:21 +01:00
Marcus Hoffmann
54fc29f203
clear cache fix
2020-12-22 17:34:50 +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
Sorunome
dfd88277b9
Merge branch 'soru/autoreply-more-key-requests' into 'main'
...
feat: Auto-Share megolm sessions with other users we know for a fact are...
Closes #127
See merge request famedly/famedlysdk!570
2020-12-21 14:08:17 +00:00
Sorunome
df1c249011
feat: Auto-Share megolm sessions with other users we know for a fact are allowed to see said message
2020-12-21 14:41:44 +01:00
Christian Pauly
cd4dafcd45
chore: Nicer logs in tests
2020-12-21 14:21:12 +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
Sorunome
d1ce075b5b
feat: Automatically cache storable files on upload
2020-12-17 11:59:31 +01: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
5167e92913
feat: Update room api
2020-12-04 12:23:40 +01:00
Christian Pauly
bec1761172
refactor: content parsing
2020-11-30 15:34:46 +01:00
Christian Pauly
323b203718
refactor: algorithm types
2020-11-30 14:26:31 +01:00
Marcus Hoffmann
9b3f9e4ef7
feature: allow marking rooms as unread
2020-11-25 12:03:19 +01:00
Christian Pauly
01ce832aaa
fix: 3pid api bugs
2020-11-24 13:48:57 +01:00
Christian Pauly
0697d47cc2
refactor: Minor init refactoring
2020-11-19 17:02:07 +01:00
Sorunome
b1709ca8c3
feat: More advanced attchment handling methods
2020-11-18 14:56:14 +01:00
Sorunome
588d7eb1a6
fix: Set new state events by sortOrder, rather than originServerTs
2020-11-08 15:13:02 +01:00
Sorunome
66572bd032
feat: Check if event type is known
2020-11-08 13:52:10 +01:00
Sorunome
5aec7aab32
fix: Properly handle redacted events in event.getDisplayEvent
2020-11-07 11:40:47 +01:00
Christian Pauly
f9f18641e3
refactor: Connection error handling
2020-10-29 10:42:05 +01:00
Sorunome
412da6ae0c
fix: Properly rotate megolm session on device changes
2020-10-26 11:55:47 +01:00
Christian Pauly
5381c3935c
refactor: Check server
2020-10-26 08:33:25 +00:00
Sorunome
343c26b3ed
fix: Decrypt last message on received megolm key
2020-10-26 07:49:02 +00: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
Christian Pauly
4d62a79e96
fix: CI
2020-10-08 12:29:18 +00:00
Sorunome
74bd1d331b
fix: Messages being encrypted for too many devices
2020-10-04 14:20:17 +02:00
Sorunome
ae79af6ea8
fix: store timestamps in milliseconds to fix decrypt error
2020-10-04 12:12:03 +02:00
Christian Pauly
5019ebfeb5
feat: Auto retry send events
2020-09-21 16:51:40 +00:00
Sorunome
0ff971faa9
fix: Obay variant selectors for emoji regex
2020-09-21 08:45:12 +02:00
Sorunome
d42979da12
fix: Emoji regex incorrectly using multiline
2020-09-20 19:09:32 +02:00
Christian Pauly
864cbfa906
fix: Hotfix ignored user list
2020-09-20 10:37:36 +02:00
Christian Pauly
a77e776479
feat: Implement ignore list
2020-09-19 12:39:19 +02:00
Sorunome
053585852e
Merge branch 'send-location' of gitlab.com:JohnAZoidberg/famedlysdk into main
2020-09-18 09:43:10 +02:00
Christian Pauly
0871e218d1
refactor: Json signature check
2020-09-16 12:29:21 +00:00
Sorunome
d9c4472cac
feat: Add emote helpers
2020-09-15 19:03:55 +02:00
Sorunome
c90e18b55d
fix: Handle domains with port or ipv6 addresses correctly
2020-09-15 12:40:29 +02:00
Sorunome
cb1ec86b32
feat: Periodically fetch ssss secrets from other devices
2020-09-10 14:46:30 +02:00
Sorunome
b5ac500136
fix: Handle failed to send messages in low network significantly better
2020-09-10 13:19:58 +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
Sorunome
54a128d2c5
fix: Properly detect sicket message types
2020-09-06 15:40:12 +02:00
Sorunome
089ce88b57
chore: Add tests to Event.downloadAndDecryptAttachment
2020-09-04 11:00:56 +02:00
Sorunome
ea59c4bd94
refactor(keybackup): Update database for stored megolm keys to prepare for proper online key backup
2020-08-17 09:10:51 +02:00
Sorunome
20d72eb8d7
fix: Event statuses progress and are saved correctly
2020-08-17 08:54:16 +02:00
Christian Pauly
cbc66ea308
Fix unencrypted calls
2020-08-17 08:46:04 +02:00
Christian Pauly
215563ab92
Fix wrong call types
2020-08-15 15:17:17 +02: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
Christian Pauly
fb9b505988
Krille/make client extend matrixapi
2020-08-11 16:11:51 +00:00
Sorunome
574fe27101
feat: Add Event.getDisplayEvent, which fetches an event based on all edits etc.
2020-08-11 13:44:42 +02:00
Christian Pauly
6170c79fe1
Improve logging
2020-08-06 09:35:02 +00:00
Christian Pauly
6779ab6624
Deprecate debug mode
2020-08-06 07:09:32 +00:00
Daniel Schaefer
ede4fd1416
Implement function to send m.location event
...
Allows to share the location with a room.
2020-08-05 23:01:03 +02:00
Christian Pauly
dc1ed0c6e2
Use SyncUpdate for pending messages
2020-07-30 08:48:47 +00:00
Sorunome
f48f6bca12
Properly imlement event aggregations
2020-07-27 07:39:48 +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
Sorunome
c68487ac21
fix issue with sending messages
2020-07-23 08:09:00 +00:00
Sorunome
a46942a140
Merge branch 'soru/fix-members-requests' into 'master'
...
try to load members from database first and cache them in-memory
Closes app#596
See merge request famedly/famedlysdk!382
2020-07-21 08:05:48 +00:00
Christian Pauly
4f2a8febf9
Fix request history
2020-07-21 07:34:30 +00:00
Marcel
7690c4ef9c
[Fake API] Further reduce amount of returns
...
Took 5 minutes
2020-07-20 15:21:46 +02:00
Marcel
0647df37e3
[Test] Properly encode fake api responses as utf8. Also remove not needed returns as they do the same as the last return.
...
Took 15 minutes
2020-07-20 15:16:23 +02:00
Sorunome
8b3e2e6c86
fix tests
2020-07-14 11:46:37 +02:00
Christian Pauly
c87450dafb
Remove deprecated contactlist method
2020-07-02 10:41:23 +00:00
Christian Pauly
0ac7aec071
Merge branch 'matrixfile-refactor-all' into 'master'
...
MatrixFile refactoring for thumbnails
See merge request famedly/famedlysdk!371
2020-06-29 12:00:26 +00:00
Lukas Lihotzki
842581699c
MatrixFile refactoring for thumbnails
2020-06-29 12:00:26 +00:00
Christian Pauly
7e9c8f88f3
Implement calcDisplayname without local part
2020-06-29 08:40:16 +00:00
Sorunome
e3241558f5
Fix CI
2020-06-25 10:15:38 +02:00
Sorunome
62f63ebf1f
Merge branch 'soru/olm-session-recovery' into 'master'
...
Adds olm session recovery
See merge request famedly/famedlysdk!355
2020-06-25 08:01:37 +00:00
Sorunome
5dda0c3623
Merge branch 'soru/cross-signing' into 'master'
...
Cross-Signing
See merge request famedly/famedlysdk!319
2020-06-25 07:53:30 +00:00
Christian Pauly
e6cf5cb927
Fix direct chats
2020-06-25 06:59:03 +00:00
Christian Pauly
13b3c0df4d
Add room tag support
2020-06-24 09:22:08 +00:00
Christian Pauly
2afd0bb3a8
Implement pinned events
2020-06-24 08:41:52 +00:00
Sorunome
b109e75962
also restore on broken olm session
2020-06-24 09:27:36 +02:00
Sorunome
48c03865a2
make auth_data just a json object
2020-06-23 08:30:50 +02:00
Sorunome
c4d09268a0
add key verification test
2020-06-15 13:12:59 +02:00
Sorunome
e2c358f319
format
2020-06-15 10:48:35 +02:00
Sorunome
c4491fe97b
fix
2020-06-15 10:42:10 +02:00
Sorunome
a88460b9d5
also test storing a decrytped room udpate
2020-06-15 10:39:26 +02:00
Sorunome
e874a5e00b
add signature verification tests
2020-06-15 10:26:50 +02:00
Sorunome
9b2952435f
add matrix api tests
2020-06-13 20:44:25 +02:00
Sorunome
c233d57f9f
add online key backup test
2020-06-13 19:48:38 +02:00
Sorunome
ef0a567401
finish ssss tests
2020-06-13 19:12:32 +02:00
Sorunome
7803dc4b93
add more tests
2020-06-13 10:56:39 +02:00
Sorunome
5334266529
Merge branch 'master' into soru/cross-signing
2020-06-10 16:25:08 +02:00