Commit Graph

148 Commits

Author SHA1 Message Date
Krille 5b46ae6e31
refactor: Use strippedstatevent as base for room state and user class
Before we have used the Event class for all
state events while for invite rooms those
actually were StrippedStateEvent objects. This
created some problems like we needed to set a
fake originServerTs (usually to DateTime.now()).
Actually we don't need the additional keys for
state events most of the time so just using
StrippedStateEvent for all states and typecasting
them to event where needed is not much of a
hassle while we benefit from a more clear
structure.
This also now uses StrippedStateEvent as a base
class for the User class which makes the User
class more minimal as keys like event_id and
origin_server_ts are no longer necessary. As we
create a lot of fake User objects where we had to
put fake values in it, it brings more benefits
than problems to just get rid of those fields.
2024-05-03 14:06:49 +02:00
Romain GUILLOT 22df8b39a8
feat: add fromLocalStoreOnly to Event.downloadAndDecryptAttachment
Signed-off-by: Romain GUILLOT <romain.guillot@arche-mc2.fr>
2024-03-06 12:13:07 +01:00
Nicolas Werner 5ffa99d994
fix: Do not assume a missing timestamp means "now"
This causes issues with state handling as we prefer the newer event. It
also has knock-on effects in other places. Instead set such events to
have an obviously invalid timestamp, which makes issues easier to
identify.

This may break invites showing a timestamp or the timestamps for just
sent events, if you rely on the timestamp getting set to "now".
2024-03-04 17:49:50 +01:00
Nicolas Werner 8b8a647cf9
chore: enable discarded_futures lint
BREAKING CHANGE: This changes the runInRoot method to not return a
future. As a user, if you need the result of an async computation passed
to runInRoot, please await it directly. Also the KeyVerification start
and a few call methods now return a future.
2023-11-17 12:59:27 +01:00
Nicolas Werner 82492f92e1
chore: upgrade lints 2023-11-02 10:20:33 +01:00
Krille b5b5cfee5e
fix: Convert linebreaks into br tags on markdown parsing
Removes two test cases in the markdown test which do not work anymore.
Reason for this is that just parsing a word inside of $$ word $$
katex is not valid anyway because katex is only made for mathematical
things. So the output is undefined behavior anyway.
2023-09-29 09:24:50 +02:00
Krille dd64f4702a
fix: Has new messages is never true 2023-08-10 08:44:07 +02:00
td d042f9e6ae
chore: pass event to redactedAnEvent and removedBy 2023-07-04 17:09:23 +05:30
Malin Errenst 395ef0eb8e
refactor: Use tryGet for type casts whenever possible 2023-06-21 15:04:46 +02:00
Malin Errenst 5943576b1b
refactor: Added type casts to match refactored matrix_api_lite 2023-06-16 12:42:10 +02:00
Reza 153005f4a7
chore: calculate unlocalized body 2023-05-17 08:37:41 +02:00
Krille c714574c3f
refactor: Check correct if null
This checks it in a more consistent way
and also makes developing new
databases easier as they
might set the json key but
set it null.
2023-05-11 12:17:53 +02:00
Nicolas Werner 663ab11ec5
feat: Support private read receipts
You can either set them to private on the client or overwrite the
behaviour for that on each readMarker call. This also handles incoming
thread receipts and tries its best to figure out what is the latest
receipt. This however breaks the old m.receipt account data event.
2023-04-21 18:31:15 +02:00
Nicolas Werner 7f519b5619 Merge branch 'main' into 'main'
Implement Thread creating/sending + added neccessary tests

Closes #351

See merge request famedly/company/frontend/famedlysdk!1262
2023-04-17 13:15:36 +00:00
Dmitriy Bragin 203fc25d7a feat: allow sending messages inside threads 2023-04-17 14:39:11 +03:00
Philipp Grieshofer 00cb292781 fix: Use MatrixLocalizations to calculate fallback user displayname 2023-03-13 15:49:05 +00:00
Nicolas Werner 6f6f6b5d10 Merge branch 'kushal/http-call-issue-fix' into 'main'
fix: http api call replaced with httpClient

See merge request famedly/company/frontend/famedlysdk!1189
2023-03-03 15:21:28 +00:00
m_kushal d48542a023 fix: http api call replaced with httpClient
Signed-off-by: m_kushal <kushalmahapatro@gmail.com>
2023-03-03 01:16:10 +04:00
Christian Pauly c5898f62b9 fix: Fake User object 2023-02-13 15:32:01 +01:00
Christian Pauly 411cf3d4ec fix: Redact originalSource on redaction 2022-10-28 12:30:27 +02:00
Christian Pauly 403824b261 feat: Store original event 2022-09-19 09:40:42 +02:00
Nicolas Werner 6555f36d6d feat: switch from pedantic to lints 2022-08-15 14:15:51 +00:00
Lanna Michalke 05ff61ac86 chore: introduce native implementations
- adds Client.nativeImplementations
 - deprecates Client.compute

Allows to properly implement accelerated native operations in web

Signed-off-by: Lanna Michalke <l.michalke@famedly.com>
2022-07-28 13:30:22 +02:00
Christian Pauly 7885281c72 refactor: Use import sorter and ci templates 2022-07-21 15:44:04 +02:00
Christian Pauly 0ab2b7e443 refactor: add calcLocalizedBodyFallback method 2022-06-09 08:48:37 +02:00
Christian Pauly 58cfd1f688 refactor: Rename methods and get rid of all Future getter 2022-06-08 08:30:05 +02:00
Christian Pauly f1751a0744 refactor: Use single quotes 2022-06-07 08:53:14 +02:00
Henri Carnot fb18843b08 refactor: make sender getter async 2022-06-02 08:13:21 +00:00
Christian Pauly bce45cbf2b refactor: Remove old deprecations
They have been lived long
enough and the next version
will have breaking changes
anyway.
2022-04-22 12:44:45 +02:00
Krille Fear 2f4d455eee fix: Retry sending a file event 2022-04-08 08:41:55 +02:00
Krille Fear 6f977b7c9d fix: Store sending files in database and fix retrying to send them 2022-04-01 14:26:57 +02:00
Christian Pauly 6a57f99c00 feat: Pass through a custom image
resize function to the client

This allows the use of the
native imaging package in a more
easy way.
2022-03-30 11:15:04 +02:00
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