Christian Kußowski
31a32b0145
feat: Migrate to vodozemac
2025-06-08 10:18:15 +02:00
Krille-chan
6cf6171b35
refactor: disable benchmarks by global boolean ( #2104 )
...
Benchmarks are flooding the logs. We should disable them by default and allow having low debug level at the same time.
2025-06-06 17:15:13 +05:30
Christian Kußowski
ba38b1f97f
refactor: Do not store room update for leave rooms not cached anyway
...
This adds a check before the storeRoomUpdate() call
if the room is actually known. This has the effect
that the call of forgetRoom() is skipped.
The reason for this is an edge case in the database
implementation when calling getAllKeys(). This
somehow can corrupt the keys-cache and lead to
some problems. I wasn't able to fix this problem
yet so this refactoring is more a good-enough
workaround for now to not trigger it on an
initial sync. I plan to fix it with a different
approach which completely removes the keys-cache
in the future.
However this change leads to some problems in the
tests as they already rely on this edge case.
2025-06-02 10:08:19 +02:00
Christian Kußowski
bac29d959d
fix: no user feedback if client.getConfig() takes some time
...
When sending a file in an environment with bad internet
where Client.getConfig() takes some
seconds, the user does not get
any feedback at all.
This change now makes sure that
the user always sees the pending
event in the timeline before anything
else is done in the room.sendFileEvent method.
2025-06-01 18:01:21 +02:00
The one with the braid
ee51dfcca6
fix: fallback on homeserver is userID null
...
Signed-off-by: The one with the braid <info@braid.business>
2025-05-20 10:06:27 +02:00
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