Christian Kußowski
c618baae70
refactor: (BREAKING) Make database required
2025-05-16 08:28:08 +02:00
Christian Kußowski
65f1b68f97
feat: Add logout command
2025-05-13 13:38:19 +02:00
Christian Kußowski
e94ef4ab82
fix: Correct filename when downloading thumbnail
2025-05-13 10:26:22 +02:00
Christian Kußowski
c6ff6ebc76
fix: Add missing copy json in updateInboundGroupdSessionAllowedAtIndex method
2025-05-13 10:04:53 +02:00
krille-chan
f3bb654ac2
feat: Switch to github flavor markdown to render checkboxes
...
Also fixes a bug where a room pill was not rendered as link.
2025-05-10 15:45:31 +02:00
Krille
4ee0fb021c
feat: Add localization for voice message type
2025-05-09 12:33:09 +02:00
Krille
35b352e8c1
feat: Support fallback for threads in Event.getReplyEvent()
2025-05-09 07:29:47 +02:00
krille-chan
fc79d7142b
fix: Fetch well-known from domain from userId, not from homeserver domain
2025-05-08 18:55:05 +02:00
Karthikeyan S
a6999255d6
fix: incorrect Event status update in constructor
2025-05-08 19:18:17 +05:30
Krille
5ec745915e
refactor: (BREAKING) Remove hive database and hive dependencies
2025-05-08 14:29:52 +02:00
Krille
05f03e00d9
refactor: Remove unused event status roomState
2025-05-08 09:17:10 +02:00
Karthikeyan S
3e29240e30
chore: prev_batch update after a limited timeline follow-up
2025-05-06 16:03:13 +05:30
td
ec855ee525
fix: sanity if room prev_batch null, populate it
2025-05-06 11:31:38 +02:00
td
4721adde22
fix: make sure prev_batch is updated after a limited timeline
2025-05-06 11:26:15 +02:00
Krille
1275f752f3
fix: Do not load timeline while sync is processed
...
This sometimes lead to the
problem that the timeline misses
the newest messages. Especially
when opening the app from a
notification this can happen.
2025-05-05 07:17:55 +02:00
td
7e41b01176
fix: make sure to keep track of aggregated events after requesting history or future
2025-04-30 17:43:55 +02:00
Yash-Garg
2738451ff6
fix: handling of existing calls in `onCallInvite`
2025-04-23 22:10:03 +05:30
Yash-Garg
470c3026ae
fix: add proper description for `User` class
2025-04-13 21:21:12 +05:30
Mohammad Reza Moradi
defe47a198
fix: deleting last message is edited
2025-04-10 11:49:35 +02:00
Krille
39ce0bf4a4
feat: Make dehydrated device name configurable
2025-04-02 09:27:52 +02:00
krille-chan
1f93193190
fix: Trim plaintext after removeMarkdown
2025-03-29 08:38:21 +01:00
td
8b3776aed2
fix: use macv2 for correct base64 encoding
2025-03-28 13:06:42 +01:00
td
ffd68a6acc
chore: add v1.14 to supported versions
2025-03-28 12:55:23 +01:00
td
06a1594609
feat: endpoints for spec v1.14 (BREAKING CHANGE)
2025-03-27 22:50:35 +01:00
Karthikeyan S
77ec2e0604
feat: ensure direct chats have only 2 members before sending verification requests
2025-03-21 15:54:18 +05:30
Karthikeyan S
a3aede19e8
fix: set prev_batch first time from sync response correctly
2025-03-19 17:09:28 +05:30
Karthikeyan S
7899f598a2
feat: export timeline events
2025-03-18 22:48:59 +05:30
td
f4c6c8d203
fix: set prev_batch when seen in sync
2025-03-17 19:13:48 +01:00
td
3a9e65d375
feat: allow skipping existing chat when calling startDirectChat
...
feat: also allow specifying timeout duration in oneShotSync
2025-03-17 15:27:43 +01:00
Krille
f89e9f575b
refactor: Add file info to placeholder before sending file event
2025-03-13 08:15:59 +01:00
Karthikeyan S
0d084d8824
fix: room prev_batch set incorrectly follow-up
2025-03-13 10:05:05 +05:30
Karthikeyan S
27c8e43dca
fix: incorrect filename when caption is used in body of event
2025-03-12 08:21:01 +05:30
Karthikeyan S
e11878eef6
fix: room prev_batch set incorrectly
2025-03-11 17:32:43 +05:30
Karthikeyan S
563629142d
fix: incorrect mimeType for files when downloading
2025-03-11 17:00:12 +05:30
Krille
70dc9c6ef9
feat: Add command to upgrade room
2025-03-07 12:47:13 +01:00
Krille
662dac4142
feat: Add parameter for allow condition for restricted rooms
2025-03-07 12:36:03 +01:00
Krille
297c4a6a25
chore: Export event localizations
2025-03-07 09:08:47 +01:00
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
Krille
f46e76295c
fix: BREAKING! Cache members for encrypted rooms in database
...
This fixes a huge performance
leak as for every encrypted room
the whole member list is loaded
every time you start the client.
This also changes the default value of `cache` in
this method to if the room is encrypted or not.
For encrypted rooms we always want a complete
member list locally.
2024-11-11 11:58:18 +01:00
Mohammad Reza Moradi
9c32193dff
chore: add require trailing comma lint
2024-11-07 16:13:37 +01:00
Krille
3116650210
feat: Optional authentication for profile requests
2024-10-23 12:18:36 +02:00
Krille
9918c5ab8f
feat: Add additional properties for LoginFlow type
2024-10-22 15:03:38 +02:00
Krille
b1198f7b80
fix: AsyncCache is not invalidating on error
...
This fixes for example that if a
fetch from an asynccache once
failed it never gets retried. So we
only want to cache results, not
exceptions/errors
2024-10-21 14:53:52 +02:00
td
7605b1de31
feat: v1.12 spec endpoints support (BREAKING CHANGE)
2024-10-21 13:58:33 +02:00
Nicolas Werner
434ef9b880
chore: Upgrade dependencies
...
The library annotations are a new lint and we have no need to specify a
custom library name anywhere. The JS annoation on the library also did
nothing, since it doesn't default to the library name in dart and only
modifies the prefix of functions if you pass in a custom name.
The sqflite_common_ffi I removed the upper constraint, which allows us
to use a newer version if our dart version is new enough, but I left it
at the original version because there is no need to require a higher
minimum currently.
2024-10-21 13:04:47 +02:00
td
b2e747bb3a
feat: add equality and hashCode overrides for autogenerated models (BREAKING CHANGE)
2024-10-18 14:02:55 +02:00
The one with the braid
0be79a9ee9
chore: update Emote-only expressions
...
- update the emote base regex
- update documentation about emote computation
- add source for the emote regex
- explain use of regex replace instead of `calcUnlocalizedBody`
Signed-off-by: The one with the braid <info@braid.business>
2024-10-18 12:54:38 +02:00
Krille
2d73192a40
refactor: Use Object.hash instead of hashCode ^
2024-10-16 15:13:30 +02:00
Nicolas Werner
e3d41bb449
fix: properly remove reply fallback from (un)localized body
2024-10-16 13:59:12 +02:00
Nicolas Werner
e1f0d9c0ad
fix: edge cases when calculating (un)localized body
...
We used to randomly return an empty string when the formatted body was
empty, even though we never return an empty string usually. Similarly we
used to return the original formatted body in an edit, when the new
event has no formatted body.
2024-10-16 13:59:12 +02:00
Nicolas Werner
a497a66012
chore: Add more (un)localized body tests
...
Covers a few edge cases that still fail. Changes to the unlocalizedBody
function shouldn't cause behavioural changes apart from fixing a few
edge cases.
2024-10-16 13:59:11 +02:00