Commit Graph

166 Commits

Author SHA1 Message Date
Christian Pauly a915cdacc8 feat: Display dummy event in timeline for sending files
For thumbnail generation, encrypting
and uploading it is not necessary
to block the UI. The given file
event should already be displayed
in the timeline. This placed it in
the UI and adds a additional
fileSendingStatus property so the
app can fetch the current status.
2022-03-30 10:27:42 +02:00
Krille Fear b5336cf589 Merge branch 'henri/event-getLocalizedBody-remove-markdown' into 'main'
feat: allow removing markdown formating from localized body

See merge request famedly/company/frontend/famedlysdk!979
2022-03-24 08:09:43 +00:00
Christian Pauly 657a332b03 refactor: Simplify relates to and make it more type safe
Everything in content is user generated
so we should never expect correct
types and return null instead.
2022-03-22 11:46:48 +01:00
h.carnot b47a5f8dff feat: added doc 2022-03-18 11:42:38 +01:00
h.carnot 77347a44ff feat: allow removing markdown formating 2022-03-18 11:40:10 +01:00
Krille Fear 3bce8b4489 refactor: Remove unnecessary type checks and imports 2021-12-23 11:46:45 +01:00
Krille Fear 58b36a67a3 refactor: Update matrix_api_lite and use SyncUpdate constructors 2021-11-10 10:04:03 +01:00
Krille Fear 9be87918f1 refactor: Make room in Event class not nullable 2021-11-04 14:21:04 +01:00
Krille Fear eb200afe18 refactor: download method should not return null
If the decryption fails, it should
throw an exception and not
return null.
2021-11-04 12:22:20 +01:00
Nicolas Werner 6e20c53b01
refactor: remove redundant null checks 2021-10-28 14:32:09 +02:00
Nicolas Werner 6abd9e7e22
refactor: nullsafe event test 2021-10-28 03:44:01 +02:00
Nicolas Werner ebd5bc3d24
refactor: make room nullsafe 2021-10-28 00:54:25 +02:00
Nicolas Werner fb0a84d7b2
refactor: make client nullsafe 2021-10-25 16:34:02 +02:00
Nicolas Werner 17fd1f22b3 refactor: make event nullsafe 2021-10-25 10:10:25 +00:00
Jindřich Pikora c6e0359522 refactor: Change event status to enum 2021-10-14 13:31:07 +00:00
Sorunome f811e45102 fix: events with unknown users having invalid mxids
This caused issues down the line where the sender id was assumed to
be a valid matrix identifier
2021-10-11 19:49:10 +00:00
Nicolas Werner 7dd176c278 fix: apply review feedback 2021-09-30 12:58:37 +00:00
Nicolas Werner 1c838e3be8 fix: Cleanup nullsafe encryption a bit 2021-09-30 12:58:37 +00:00
Jayesh Nirve 77ca7523d0 refactor: remove unused clientId 2021-09-24 16:05:05 +02:00
Jindřich Pikora 03f82d84b9 fix: only/number emotes in a reply 2021-09-14 09:21:49 +00: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
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
Jayesh Nirve 4af6763765
fix: missing null check in hideEdit condition 2021-08-27 21:11:06 +05:30
Lukas Lihotzki 9087f08775 chore: mxc url in Uri 2021-08-23 11:05:47 +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
Jayesh f0dd8ca061 feat: get new_content in getLocalizedBody 2021-08-17 15:24:53 +00:00
Christian Pauly 4ca69e3e1d fix: Missing required field `nextBatch` 2021-07-27 10:50:06 +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 36a9b53de1
fix: Adjust emoji ranges to have less false positives
Before too many characters, e.g. kanji, were incorrectly detected
as emoji
2021-07-09 20:53:49 +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 c0c7f68bf3 chore: Rename to matrix 2021-06-18 09:58:25 +02:00
Christian Pauly d0f67f914a refactor: Add sortOrderKey and check for this while Event creation
This makes it easier to write a store which just stores the Event json and
does not have a dedicated scheme for
each object like Moor has.
2021-06-01 12:55:45 +02:00
Christian Pauly c3d47b16c6 CI: Use correct image 2021-05-25 10:46:34 +02:00
Lukas Lihotzki c196610998 chore: operation names from OpenAPI spec 2021-05-12 13:56:16 +02:00
Lukas Lihotzki b4f755388a refactor: high-level loops 2021-04-19 18:58:59 +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 d413f54f10 refactor: use OpenSSL for file e2ee 2021-04-12 14:49:03 +02:00
Lukas Lihotzki f69acda419 refactor: use parameters in EncryptedFile constructor 2021-04-06 18:57:34 +02:00
Lukas Lihotzki 2a2a170609 refactor: upgrade http package 2021-04-01 13:43:24 +02:00
Lukas Lihotzki 08043c06f4 refactor: high-level loops 2021-04-01 12:51:45 +02:00
Christian Pauly 0ceb2b26df refactor: Constants names 2021-03-30 12:43:50 +02: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
Christian Pauly c9d3c327f6 refactor: Deprecate eventType in EventUpdate 2021-02-26 13:06:02 +01:00
Christian Pauly 03e17f890e change: Deprecate senderName 2021-01-15 14:24:30 +01:00
Sorunome c22615d8cd
fix: Prioritize specced replies over unspecced event aggregations 2021-01-05 15:32:47 +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 cd9f23d6c4
fix: Don't block file decrypting 2020-12-31 20:33:18 +01:00
Sorunome 58044be1ba
feat: Add animated property to thumbnails 2020-12-29 10:32:18 +01:00
Sorunome b1709ca8c3
feat: More advanced attchment handling methods 2020-11-18 14:56:14 +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 66e590073e refactor: Event Update Type 2020-10-22 13:01:35 +02:00
Sorunome c571fe4dd5 fix: don't assume msgtype is a string 2020-10-08 12:29:59 +00:00
Sorunome ae79af6ea8
fix: store timestamps in milliseconds to fix decrypt error 2020-10-04 12:12:03 +02: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
Sorunome ba7a01ddea
fix: emoji regex typo 2020-09-20 11:24:56 +02:00
Sorunome d9c4472cac
feat: Add emote helpers 2020-09-15 19:03:55 +02:00
Sorunome e08f35b5d0
fix: Don't trust the info block of events 2020-09-10 11:12:52 +02:00
Christian Pauly 8899f4c677 fix: Remove logs in event constructor trycatch 2020-09-08 09:19:26 +00:00
Christian Pauly 8a0cc70cfe fix: prev content error log in web 2020-09-07 11:16:52 +02: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
Christian Pauly 35e48f9641 Fix: prev_content error message 2020-08-25 09:40:30 +00:00
Christian Pauly a288216e03 Add call state localizations 2020-08-15 14:46:08 +02: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
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
Sorunome 2796ca613a Fix resending messages reusing an existing transaction id 2020-08-06 06:51:06 +00:00
Christian Pauly fe700b229c Fix prev_content bug 2020-08-04 08:26:33 +00: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 84a94f5c9d
format 2020-07-24 15:44:55 +02:00
Sorunome d4818bd677
forgot to ctrl+s 2020-07-24 15:37:40 +02:00
Sorunome ff2de35d28
test web 2020-07-24 14:53:06 +02:00
Sorunome c68487ac21 fix issue with sending messages 2020-07-23 08:09:00 +00:00
Sorunome 864151ec83
use prev_content to calculate displayname and avatar_url, if content unavailable 2020-07-17 12:02:43 +02:00
Christian Pauly 4790925929 Merge branch 'soru/no-contains-key' into 'master'
Better validate event contents

See merge request famedly/famedlysdk!353
2020-06-29 12:02:18 +00:00
Sorunome fd406987c1 Better validate event contents 2020-06-29 12:02:18 +00:00
Lukas Lihotzki 842581699c MatrixFile refactoring for thumbnails 2020-06-29 12:00:26 +00:00
Christian Pauly ee2974e51e Fix send again 2020-06-19 14:05:53 +02:00
Sorunome 7ddb6be30e
Allow requesting and updating of session keys with lower index and lower forwarded chain 2020-06-10 10:44:22 +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 011e427056 Hopefully fix room list sorting 2020-05-26 06:39:51 +00:00
Sorunome 384e5962d6 properly persist decryption of events 2020-05-22 11:15:48 +00:00
Christian Pauly 27b4a620e5 Add code formatting CI job 2020-05-22 10:12:18 +00:00
Sorunome 9b67992a3a Automatically request for keys from other devices, if not found 2020-05-19 09:34:11 +00:00
Christian Pauly 81b9d79518 Merge branch 'soru/fix-lazy-session-keys' into 'master'
lazy-load group session keys

See merge request famedly/famedlysdk!293
2020-05-17 07:54:34 +00:00
Sorunome 06b601c41b lazy-load group session keys 2020-05-17 07:54:34 +00:00
Christian Pauly e66a904ee0 Add tombstone enum 2020-05-16 09:47:19 +02:00
Sorunome f71826739c Switch to moor 2020-05-15 18:40:17 +00:00
Christian Pauly 9944844cc3 Implement localized String represantions 2020-05-06 10:13:30 +00:00
Christian Pauly fae6661b04 Fix downloadanddecrypt 2020-05-05 09:07:09 +02:00
Christian Pauly 28a6ffaf24 Make MAX_FILE_SIZE overrideable and reduce to 1mb 2020-04-28 11:55:36 +00:00
Christian Pauly 6f5ebe4681 [MxContent] Switch to Uri Extension 2020-04-24 09:24:06 +02:00
Christian Pauly 81c12c81f2 [Client] Implement thumbnails 2020-04-17 14:11:13 +00:00
Christian Pauly aba692ba81 [Event] Fix download 2020-03-31 17:47:19 +02:00