Commit Graph

2020 Commits

Author SHA1 Message Date
Krille c194ddee66
refactor: Make markUnread a noop if unread is already as intendend and throw exception if room membership is not join 2025-02-28 11:24:46 +01:00
Krille fdbe95ba75
fix: Older state events overwrite newer ones on fetching history 2025-02-11 15:57:33 +01:00
Krille bf37bf82a0
refactor: Add missing versions to supportedVersions and use warning instead of blocking 2025-02-11 09:46:32 +01:00
Krille 2d3bfa64a7
refactor: Improve linebreak logic for html messages 2025-02-10 09:17:57 +01:00
Krille a352809a01
feat: (BREAKING) Make share keys with logic configurable 2025-02-05 14:18:49 +01:00
The one with the braid 86fa1f9203
feat: BREAKING improve command_extension
- unify behavior of all message sending related command
- add a StringBuffer as stdout-like output buffer for commands
- create a typedef for the command function signature
- create a common exception type for command execution
- enable commands to run on Client-level rather than Room-level
- BREAKING: Client.addCommand signature now takes an optional StringBuffer as second parameter
2025-02-04 16:19:57 +05:30
Krille 6cd40d3f91
fix: Megolm sessions become invalid after restarting client
This bug seems to be in the
sdk for 5 years already without
anyone noticing. The method
loadInboundGroupSession
seems to return the wrong
variable when loading the
session from the key. While
the outboundgroupsession
loading method relies on
an inbound group session, it
silently marks the outbound
group session as invalid on
every restart and creates a
new one. This means we never
reuse megolm sessions after
restarting the client.

Fixing this will probably reduce
the amount of megolm sessions
used in a conversation by a lot
which could improve the
performance and make the
key backup more reliable.
2025-02-04 10:12:58 +01:00
Krille 86038f8c94
refactor: Use .toSet() instead of Set.from()
When using Set.from() then
it becomes a Set of
dynamics which disables the
Type checking.
By just changing this to
.toSet() it keeps the type.
2025-02-04 09:40:18 +01:00
Krille eb9bd0620f
fix: PushNotification fromJson - toJson fails 2025-02-04 09:23:31 +01:00
Krille 776e941b6e
refactor: Make converting linebreaks in markdowntohtml optional
Element actually does not do
this and use the linebreaks
inside of their <p> tags. It
works for our new html
rendering as well which is
already in FluffyChat.
2025-02-03 11:48:10 +01:00
The one with the braid 4edae55852
fix: priorize direct chat users over empty hero user list
Signed-off-by: The one with the braid <info@braid.business>
2025-02-01 13:34:15 +01:00
Krille 1484e6770f
chore: Add tests for converting event types 2025-01-14 12:49:15 +01:00
Krille 83f993a2ff
fix: Add missing redacts parameter when transforming to Event type 2025-01-14 10:12:22 +01:00
td 020438f698
chore: (BREAKING CHANGE) spec v1.13 autogen 2025-01-13 09:26:59 +01:00
Krille 3f04532ffe
refactor: Remove BasicRoomEvent type
We actually never use the
roomId of this type and the
matrix spec has changed in
a way that the roomId is
never sent there actually. So
it was super easy to just
replace all BasicRoomEvent
with BasicEvent. The roomId
became nullable anyway.
2025-01-09 11:05:01 +01:00
Karthikeyan S 64030693c9
chore: add transactionId getter to Event class 2025-01-08 23:07:32 +05:30
Krille 50ac4b55b2
fix: No roomId in BasicRoomEvent stores roomaccountdata silently wrong 2025-01-08 15:03:35 +01:00
Krille 2e8bae85c8
refactor: (BREAKING) Push Notification helper class make all fields optional and migrate dynamics to Object? 2025-01-08 09:43:09 +01:00
Krille bc328aab5c
refactor: Use Event instead of EventUpdate for storing in db 2025-01-07 14:56:04 +01:00
Krille 5ac6c940a9
refactor: Update rooms by event not event update 2025-01-07 12:36:49 +01:00
Krille e7065afe31
refactor: Do not use eventupdate type for verification requests 2025-01-07 12:36:49 +01:00
Karthikeyan S 83003c86c7
fix: clear cache when clearing DB in MatrixSdkDatabase 2025-01-07 16:36:37 +05:30
Karthikeyan S 05ee4031bf
chore: BREAKING rename timeCreated to latestEventReceivedTime in Room 2024-12-31 22:16:31 +05:30
Krille 632ecbed7e
chore: Follow up store unable to decrypt information correctly 2024-12-31 13:36:11 +01:00
Krille 2c42c12e72
refactor: Handle Room Account Data outside of Room Event Updates
This also makes sure that
room account data does not
get unnecessarily serialized
and deserialized before
storing it in the database.
For this it changes the
code flow at multiple
places.
2024-12-31 10:58:09 +01:00
Krille 135face535
refactor: (BREAKING) Remove deprecated Hive Database 2024-12-31 09:00:47 +01:00
Krille ce0dfc77ff
fix: Also load room account data in getSingleRoom() 2024-12-30 12:49:14 +01:00
Krille 2d2bbc60cd
refactor: Do not unnecessarily serialize and deserialize json for every account data object
This changes the database
api a little bit so that it does
not unnecessarily serialize
and deserialize all
account data objects. Should
improve the performance of
the SDK.
2024-12-30 12:00:29 +01:00
Krille 9fc7f4a3b4
refactor: Do not handle ephemerals as EventUpdates
This handles room ephemerals
directly and not as room
event updates, which saves
one unnecessary step to json serialize and
deserialize. Handling those
as room event updates had
no benefit anyway so this
should speed up performance.
2024-12-30 11:38:53 +01:00
Krille 017a39c792
refactor: Use Event instead of EventUpdate for pending decryption event queue and for decrypt events in general
This should removes an
unnecessary step of
json serialization and deserialization and should
therefore improve performance.
Gets rid of some unnecessary
code as well.
2024-12-27 13:12:44 +01:00
Karthikeyan S 239a39e2cb
feat: support push rule conditions event_property_is & event_property_contains 2024-12-23 15:21:01 +05:30
Krille 957b4241ad
refactor: Replace enhanced enum with native dart enum 2024-12-18 15:14:20 +01:00
Krille e33a32e4fe
fix: Use MB and KB instead of MiB and KiB for file sizes 2024-12-18 11:35:23 +01:00
Karthikeyan S f3e25596ac
fix: BREAKING! missed initial updates for stream listener callbacks in P2P & mesh calls 2024-12-17 18:11:13 +05:30
Konrad Pozniak c5532b8923
fix: don't reset wellknown cache on initialization 2024-12-17 13:09:10 +01:00
Krille c58f55c012
chore: Make parse version error less sound 2024-12-17 12:55:56 +01:00
Krille bc7b987772
refactor: Remove unnecessary roomId parameter from decryptRoomEvent method 2024-12-17 11:23:58 +01:00
Krille 04a46226cb
refactor: Fix new lints from flutter 3.27 2024-12-15 12:21:26 +01:00
Karthikeyan S 9ded85e786
fix: clear legacy db on logout properly 2024-12-11 07:54:05 +05:30
Krille ce7838e72a
refactor: BREAKING Store room states as triple keys 2024-12-09 12:36:39 +01:00
Krille 29aa28eecf
feat: (BREAKING) Replace onMigration with advanced callback onInitStateChanged
This makes it possible to track
the process of initialization in the
client by just enhancing what
the onMigration callback already
does.
2024-12-09 12:33:15 +01:00
Krille a26653a098
refactor: Clarify Room.join() behavior and make sure DM link is purged if room not found 2024-12-09 12:29:45 +01:00
Mohammad Reza Moradi 08e1e714e7
Merge branch 'main' into reza/send-reaction-on-only-admin-can-send-message-room 2024-12-06 15:36:51 +01:00
Karthikeyan S 9b800db175
fix: rejecting a call doesn't send m.call.reject event 2024-12-06 12:38:58 +05:30
Mohammad Reza Moradi ba9c3e7fc9
Merge branch 'main' into reza/send-reaction-on-only-admin-can-send-message-room 2024-12-05 13:17:53 +01:00
Mohammad Reza Moradi 04612a2296
fix: throw error on failed reaction send 2024-12-05 13:13:47 +01:00
Krille 812c7dde82
refactor: Do not set default timeout for initialSync 2024-12-02 10:48:48 +01:00
Johannes Nevels 7515ff6dbe
feat: support filtering events when requesting events history or future 2024-11-26 13:43:21 +01:00
Krille 989a1cd504
refactor: Do not set the deprecated dont_notify action in push rules
This has been deprecated since
https://spec.matrix.org/v1.7/client-server-api/#actions
An empty list of actions should now
be equal to a list with the entry
"dont_notify". Clients should
ignore this action and use
empty lists instead. A good
explaination can be found
https://github.com/matrix-org/matrix-spec-proposals/blob/main/proposals/3987-push-actions-clean-up.md
2024-11-25 14:08:45 +01:00
Krille 60d500956c
feat: Add deleteFile() endpoint to database 2024-11-12 08:32:32 +01:00