Commit Graph

1455 Commits

Author SHA1 Message Date
Matthias Ahouansou
45861f8e4a fix(key_value): return a map of algorithms instead of key ids for count_one_time_keys
this regession was introduced in 2a7aa6242f
2025-05-11 12:38:14 +01:00
Matthias Ahouansou
a566a5687b fix(config): attempt to deserialize deep directory structure before flat
This meant that if you had set the directory structure, than it would
always deserialize as "Flat".
We also migrate the newly migrated media to the deep directory structure,
if configured.
2025-05-09 18:23:16 +01:00
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
fd16e9c509 feat(admin): list & query information about media 2025-05-07 14:14:05 +01:00
Matthias Ahouansou
c3fb1b0456 feat(media): retention policies 2025-05-07 14:14:05 +01:00
Matthias Ahouansou
594fe5f98f feat(media): blocking 2025-05-07 14:14:05 +01:00
Matthias Ahouansou
d76637048a feat(admin): commands for purging media 2025-05-07 14:14:05 +01:00
Matthias Ahouansou
33b02c868d chore(rust): upgrade to 1.83.0
This is needed for std::io::ErrorKind::DirectoryNotEmpty
2025-05-06 20:44:03 +01:00
Matthias Ahouansou
3171b779c6 feat(media): save user id of uploader 2025-05-06 20:44:03 +01:00
Matthias Ahouansou
19d0ea408c feat(media): deep hashed directory structure 2025-05-06 20:44:02 +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
937521fcf1 refactor: allow for post-processing on the config 2025-03-24 12:29:05 +00: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
d0607b6459 chore(ruma): bump 2025-03-15 00:30:12 +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
a3386f405e Merge branch 'restricted-make-send-join' into 'next'
feat: support /make_join and /send_join for restricted rooms

Closes #393 and #380

See merge request famedly/conduit!618
2025-02-26 20:47:23 +00:00
Matthias Ahouansou
86b6551dee make error if content disposition migration fails clearer, as well as logging the name of the responsible file 2025-02-26 16:42:02 +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
3686f6d260 remove unused backends
they have been disabled for a long time, and are unlikely to ever make a comeback
2025-02-23 15:49:29 +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
12ada1c86a Merge branch 'federation-hierarchy' into 'next'
feat(spaces): hierarchy over federation

Closes #410 and #394

See merge request famedly/conduit!598
2024-10-11 13:32:26 +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
Matthias Ahouansou
de323cbecb re-add well-known table, while still allowing individual values to be set with env vars without double underscores 2024-10-10 16:02:39 +01:00
Laurențiu Nicola
a2b72f48b9 fix: remove content-disposition debug prints 2024-10-08 19:41:04 +03:00
Timo Kösters
65fe6b0ab5 fix: Empty content dispositions could create problems 2024-09-25 09:06:43 +02: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
Timo Kösters
e4d6202840 Merge branch 'config-env-var-split' into 'next'
feat(config): split on __, allowing for setting individual values in a table

See merge request famedly/conduit!706
2024-09-21 14:51:39 +00:00
Timo Kösters
c4810a3a08 Merge branch 'well-know-fix' into 'next'
Fix parsing of CONFIG_WELL_KNOW_* env variables

See merge request famedly/conduit!718
2024-09-21 14:50:25 +00: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