Matthias Ahouansou
88c95d36a8
chore(crates): bump
2025-05-09 12:34:03 +01:00
Matthias Ahouansou
ec2c61e277
feat(sync): v4 -> v5
2025-05-08 23:02:25 +01:00
Matthias Ahouansou
a189b66ca6
feat(admin): show media command
2025-05-07 14:14:05 +01:00
Matthias Ahouansou
594fe5f98f
feat(media): blocking
2025-05-07 14:14:05 +01:00
Matthias Ahouansou
3171b779c6
feat(media): save user id of uploader
2025-05-06 20:44:03 +01:00
Matthias Ahouansou
66a14ac802
feat: freeze unauthenticated media
2025-05-06 20:44:02 +01:00
Matthias Ahouansou
70d7f77363
feat(media): use file's sha256 for on-disk name & make directory configurable
...
In addition, metadata about the file, such as creation time, last access, and
file size, are stored in the database
2025-05-06 20:44:02 +01:00
Matthias Ahouansou
7b9ba62b67
correct path on federated media endpoint doc comment
2025-03-24 12:29:05 +00:00
Matthias Ahouansou
2dce87546a
ci: check for typos
2025-03-24 03:01:57 +00:00
Matthias Ahouansou
dc5abd6f3b
feat(appservice): pinging
2025-03-08 13:29:18 +00:00
Matthias Ahouansou
b726ccaab8
chore(ruma): upgrade
2025-03-08 13:29:18 +00:00
Matthias Ahouansou
4dc15a4605
refactor: set send_request matrix versions in a single constant
2025-03-08 13:29:12 +00:00
Matthias Ahouansou
42d8e88c74
Merge branch 'membership-refactor' into 'next'
...
feat: leaving over federation & knocking
Closes #54 , #56 , and #431
See merge request famedly/conduit!728
2025-03-03 19:16:05 +00:00
Matthias Ahouansou
21af83ea72
feat: knocking
...
You may notice that we do no database migration for populating the state cache for knocking.
This is because that in all the places where we use the state cache, it doesn't make a difference:
- For local users, the clients wouldn't have been able to knock on rooms, as the `/knock`
endpoint wasn't implemented yet, and I am not aware of any client which tries to knock over
`/state`, as it would fail if the server is not currently in the room
- It is not used for remote users
2025-03-03 18:07:21 +00:00
Matthias Ahouansou
f4d90e9989
refactor: move duplicate code and some other small optimizations
2025-03-03 16:25:43 +00:00
Matthias Ahouansou
8acacdebc8
chore: bump ruma & rust
2025-03-03 16:25:43 +00:00
Matthias Ahouansou
d0c1b920ae
feat(federation): implement /make_leave and /send_leave
2025-03-03 16:25:43 +00:00
Matthias Ahouansou
ca76e92abd
refactor federation membership handshake endpoints, reducing duplication
2025-03-03 16:25:43 +00:00
Matthias Ahouansou
be3187fda7
fix: check that keys uploaded by clients are valid
...
clients uploading invalid keys can cause errors later when trying to add signatures
2025-02-27 00:38:21 +00:00
Matthias Ahouansou
55ec39c47e
feat(federation): support /make_join and /send_join for restricted rooms
2025-02-26 16:04:07 +00:00
Matthias Ahouansou
4942cc8e55
refactor: remove unecessery async
2025-02-25 14:08:57 +00:00
Matthias Ahouansou
2a7aa6242f
chore: upgrade ruma
2025-02-24 23:56:12 +00:00
Matthias Ahouansou
406367b4f2
chore: upgrade rust
...
this is needed for recent versions of ruma
2025-02-23 16:22:34 +00:00
Matthias Ahouansou
e20dd1469a
Merge branch 'error-parse-image-thumbnail' into 'next'
...
fix(media): return an error when content is failed to be parsed as an image
See merge request famedly/conduit!734
2025-02-04 16:37:26 +00:00
Matthias Ahouansou
30855cef81
fix(media): return an error when content is failed to be parsed as an image
2025-02-04 16:21:14 +00:00
Matthias Ahouansou
7963a9d23f
Merge branch 'turn-config' into 'next'
...
feat(turn): move config to table & error when no config is set
See merge request famedly/conduit!733
2025-02-04 15:43:14 +00:00
Matthias Ahouansou
dbc1daaefb
feat(turn): move config to table & error when no config is set
2025-02-04 14:37:30 +00:00
Matthias Ahouansou
56a51360e0
feat(spaces): hierarchy over federation
...
fix(spaces): deal with hierarchy recursion
fix(spaces): properly handle max_depth
refactor(spaces): token scheme to prevent clients from modifying max_depth and suggested_only
perf(spaces): use tokens to skip to room to start populating results at
feat(spaces): request hierarchy from servers in via field of child event
2024-10-11 00:04:54 +01:00
Timo Kösters
fea85b0894
fix: Migration typo for media
2024-09-24 23:07:19 +02:00
Timo Kösters
a7405cddc0
fix: Matrix media repo
2024-09-24 19:43:26 +02:00
Timo Kösters
3df21e8257
fix: old media used spaces in content disposition without quotes
2024-09-24 16:46:32 +02:00
The one with the braid
a6797ca0a2
fix: add missing msc3916 unstable feature in version response
...
Fixes : #473
Signed-off-by: The one with the braid <info@braid.business>
2024-09-21 10:54:01 +02:00
Matthias Ahouansou
cbd3b07ca7
feat(media): use authenticated endpoints when fetching remote media
2024-08-28 11:25:28 +01:00
Matthias Ahouansou
27d6d94355
feat: add support for authenticated media requests
2024-08-28 11:25:28 +01:00
Matthias Ahouansou
a3716a7d5a
chore: upgrade request client matrix version
...
this is needed so that new endpoints use stable paths
2024-08-28 11:25:28 +01:00
avdb13
423b0928d5
use ruma content disposition type in place of string
...
Co-Authored-By: Matthias Ahouansou <matthias@ahouansou.cz>
2024-08-22 19:03:32 +01:00
Matthias Ahouansou
00c9ef7b56
Merge branch 'send-invalid-pdu-correction' into 'next'
...
fix: don't fail the entire request if any PDU's format is invalid
See merge request famedly/conduit!709
2024-07-07 21:13:38 +00:00
Matthias Ahouansou
6455e918be
fix: don't always assume ruma can generate reference hashes
2024-07-07 21:40:56 +01:00
Matthias Ahouansou
ea3e7045b4
fix: don't fail the entire transaction if any PDU's format is invalid
2024-07-07 21:40:37 +01:00
Matthias Ahouansou
d95345377b
fix: remove TLS name override when no SRV record is present (but properly)
...
The previous attempt only did so when no IP could be resolved, which isn't enough
2024-07-06 17:31:31 +01:00
Matthias Ahouansou
11187b3fad
fix: remove TLS name override when no SRV record is present
...
this could have been an issue in cases where there was previously a SRV record, but later got removed
2024-07-06 17:06:11 +01:00
Matthias Ahouansou
1f313c6807
Merge branch 'finite-servername-cache' into 'next'
...
fix: don't cache server name lookups indefinitely
See merge request famedly/conduit!702
2024-07-01 09:52:18 +00:00
Matthias Ahouansou
e70d27af98
Merge branch 'timestamped-messaging' into 'next'
...
feat(appservice): support timestamped messaging
See merge request famedly/conduit!703
2024-07-01 09:36:14 +00:00
Matthias Ahouansou
ba8429cafe
fix: don't cache server name lookups indefinitely
2024-07-01 10:17:01 +01:00
Matthias Ahouansou
62f1da053f
feat(appservice): support timestamped messaging
2024-06-25 10:25:58 +01:00
Matthias Ahouansou
602c56cae9
chore: bump ruma
2024-06-25 10:10:53 +01:00
Matthias Ahouansou
fd19dda5cb
ci: use nightly rustfmt
...
we were using this before, but it broke when refactoring the flake out into separate files
2024-06-16 17:28:05 +01:00
Matthias Ahouansou
c453d45598
fix(keys): only use keys valid at the time of PDU or transaction, and actually refresh keys
...
Previously, we only fetched keys once, only requesting them again if we have any missing, allowing for ancient keys to be used to sign PDUs and transactions
Now we refresh keys that either have or are about to expire, preventing attacks that make use of leaked private keys of a homeserver
We also ensure that when validating PDUs or transactions, that they are valid at the origin_server_ts or time of us receiving the transaction respectfully
As to not break event authorization for old rooms, we need to keep old keys around
We move verify_keys which we no longer see in direct requests to the origin to old_verify_keys
We keep old_verify_keys indefinitely as mentioned above, as to not break event authorization (at least until a future MSC addresses this)
2024-06-12 19:41:43 +02:00
Matthias Ahouansou
144d548ef7
fix: permission checks for aliases
2024-06-12 19:41:31 +02:00
Benjamin Lee
7b259272ce
fix: do not return redacted events from search
2024-06-12 19:41:02 +02:00