Jade Ellis
24b1e2ebe8
refactor(service): Use SyncRwLock and SyncMutex for in-memory services
...
Convert in-memory data structures in appservice, rooms::typing, and sync
wakers to use SyncRwLock and SyncMutex. Drop appservice locks before
making outbound network requests in room alias queries and federation
invites.
2026-10-28 21:48:22 +00:00
Erwan Leboucher
5185045cb6
feat(metrics): Record metrics with OpenTelemetry and export over OTLP
2026-10-12 10:03:14 +01:00
timedout
550dd0160a
fix: SEC8
...
Reviewed-By: Ginger <ginger@gingershaped.computer >
Reviewed-By: Jade <jade@ellis.link >
Reviewed-By: Jacob Taylor <jacob@explodie.org >
2026-09-28 02:00:37 +01:00
Ginger
9fbabe2210
chore: Reformat with latest nightly
2026-09-01 12:55:05 -04:00
Logan Devine
480e975877
chore: clean up unused imports of ClientIp
2026-07-21 14:31:16 +00:00
timedout
789589ef37
chore: Remove redundant client IP extractions on individual routes
2026-07-17 12:57:48 +00:00
Erwan Leboucher
3a74ce6151
fix(client-ip): Fall back to peer IP instead of returning 500
2026-07-17 12:46:11 +00:00
timedout
fbf81fcdeb
fix: Opportunistically re-use room format rules when parsing incoming PDUs
2026-07-12 02:11:50 +00:00
timedout
87030a3a22
fix: Ensure PDU returned by create_hash_and_sign_event is itself signed
2026-07-12 02:11:50 +00:00
timedout
aa7ed885c0
fix: Check correct field name when determining event type
2026-07-12 02:11:50 +00:00
timedout
efd07da0d7
feat: Give send_knock the invite treatment
2026-07-12 02:11:50 +00:00
timedout
f0590e882a
fix: Only run ACL checks when we know we have live state
...
Prevents a potential bug where we might inadvertently reject valid invites because we have a stale state cache that blocks the sender or even ourselves
Also fixes the banned remote server room check by using the create event instead of room ID
2026-07-12 02:11:50 +00:00
timedout
7225bf25ae
feat: Persist create events received during the invite process
2026-07-12 02:11:50 +00:00
timedout
e52bb5db69
style: Move invite validation into own functions
2026-07-12 02:11:50 +00:00
timedout
995726923b
feat: Enforce new federation invite checks
...
These were introduced in spec v1.16 however we didn't implement them until now for compatibility.
2026-07-12 02:11:50 +00:00
Ginger
3467dffd94
fix: Adjust sync watcher logic to be more explicit
2026-07-05 00:42:44 +00:00
Ginger
74841b6711
refactor: Represent route auth information in the type system
2026-05-26 18:26:02 +00:00
timedout and Ginger
4a99de0d28
fix: Store incoming federated invite membership events correctly
...
Co-Authored-By: Ginger <ginger@gingershaped.computer >
Reviewed-By: Ginger <ginger@gingershaped.computer >
2026-05-01 14:49:27 +01:00
Ginger
a8a8e1ea51
chore: Clippy fixes
2026-04-28 09:16:57 -04:00
Ginger
7f5f4df64e
refactor: Fix errors in api/server/invite.rs
2026-04-28 09:16:52 -04:00
Jade Ellis
0134f69bf9
chore: Update incompatible dependenceis
2026-04-23 20:02:48 +01:00
timedout
7d0686f33c
fix: Error response can leak appservice token
...
Reviewed-By: Ginger <ginger@gingershaped.computer >
Reviewed-By: Jade Ellis <jade@ellis.link >
2026-02-15 17:58:48 +00:00
timedout
5ac82f36f3
feat: Consolidate antispam checks into a service
...
Also adds support for the spam checker join rule, and Draupnir callbacks
2026-01-05 20:10:28 +00:00
timedout and Jade Ellis
0956779802
feat: Add Meowlnir invite interception support
...
Co-authored-by: Jade Ellis <jade@ellis.link >
2026-01-05 20:10:27 +00:00
Jade Ellis
aed15f246a
refactor: Clean up logging issues
...
Primary issues: Double escapes (debug fmt), spans without levels
2026-01-05 18:28:57 +00:00
timedout
7fa4fa9862
fix: Also check sender origin
2025-12-21 10:58:50 +00:00
timedout
b2bead67ac
fix: Apply additional validation to invites
2025-12-21 10:10:54 +00:00
Ginger
800ac8d1f1
fix(sync/v3): Fix invite filtering for federated invites
2025-12-07 19:58:24 +00:00
Ginger
3e6571a2b8
chore: Clippy fixes
2025-12-07 19:58:24 +00:00
Ginger
1c21e4af6e
fix: Properly sync left rooms
...
- Remove most usages of `update_membership` in favor
of directly calling the `mark_as_*` functions
- Store the leave membership event as the value in the
`userroomid_leftstate` table
- Use the `userroomid_leftstate` table to synchronize the
timeline and state for left rooms if possible
2025-12-07 19:58:24 +00:00
Ginger and nexy7574
13b7538785
Add support for MSC4155 ( #1013 )
...
[rendered msc here](https://github.com/Johennes/matrix-spec-proposals/blob/johannes/invite-filtering/proposals/4155-invite-filtering.md ). Closes #836 .
Co-authored-by: nexy7574 <git@nexy7574.co.uk >
Reviewed-on: https://forgejo.ellis.link/continuwuation/continuwuity/pulls/1013
Reviewed-by: nex <nex@noreply.forgejo.ellis.link >
Co-authored-by: Ginger <ginger@gingershaped.computer >
Co-committed-by: Ginger <ginger@gingershaped.computer >
2025-09-21 17:03:40 +00:00
Jason Volk
364293608d
Post-formatting aesthetic and spacing corrections
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-07-02 19:17:06 +01:00
Jason Volk and Jade Ellis
116f85360f
Toward abstracting Pdu into trait Event.
...
Co-authored-by: Jade Ellis <jade@ellis.link >
Signed-off-by: Jason Volk <jason@zemos.net >
2025-07-02 19:03:26 +01:00
Jason Volk
667afedd24
Macroize various remaining Error constructions.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-07-02 19:03:24 +01:00
Jade Ellis
0eb9e4f3d2
refactor: Centralize server forbidden checks into moderation module
...
This moves all checks related to `forbidden_remote_server_names`,
`forbidden_remote_room_directory_server_names` and
`prevent_media_downloads_from` to a new `moderation` module.
This is useful for implementing more complicated logic globally.
Mostly the changes from #673 , but is also relevant for #750
2025-04-19 23:37:54 +01:00
June Clementine Strawberry
d5ad973464
change forbidden_server_names and etc to allow regex patterns for wildcards
...
Signed-off-by: June Clementine Strawberry <june@3.dog >
2025-04-06 15:25:19 -04:00
Jason Volk
532dfd004d
move core::pdu and core::state_res into core::matrix::
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-04-05 02:44:46 +00:00
Jason Volk
d3b65af616
remove several services.globals config wrappers
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-03-31 03:00:53 +00:00
June Clementine Strawberry
a1e1f40ded
run cargo fix for rust 2024 changes and rustfmt
...
Signed-off-by: June Clementine Strawberry <strawberry@puppygock.gay >
2025-02-23 01:17:45 -05:00
Jason Volk
5be07ebc0f
eliminate references to services.globals.config
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-01-25 01:35:18 +00:00
strawberry
5a1c41e66b
knocking implementation
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
add sync bit of knocking
Signed-off-by: strawberry <strawberry@puppygock.gay >
2025-01-13 14:15:16 -05:00
Jason Volk
0a9b6c136f
refactor for ruma identifiers optimizations
...
Signed-off-by: Jason Volk <jason@zemos.net >
2025-01-01 23:28:01 -05:00
strawberry
77e0b76408
apply new rustfmt.toml changes, fix some clippy lints
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-12-15 01:00:41 -05:00
strawberry
0317cc8cc5
rename conduit to conduwuit finally
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-12-14 22:24:45 -05:00
strawberry
9d59f777d2
refactor fed membership endpoints, add missing checks, some cleanup, reduce line width
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-12-09 12:28:14 -05:00
Jason Volk
8e8c6bfe07
abstract supported room versions apis
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-12-08 07:12:23 +00:00
Jason Volk
887ae84f1e
optimize sha256 interface gather/vector inputs
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-11-16 00:33:40 +00:00
strawberry
4f0bdb5194
general misc bug fixes and slight improvements
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-11-15 09:41:17 -05:00
Jason Volk
ee92a33a4d
add some accessors to Ar for common patterns
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-27 00:11:50 +00:00
Jason Volk
c0939c3e9a
Refactor server_keys service/interface and related callsites
...
Signed-off-by: Jason Volk <jason@zemos.net >
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-10-26 18:50:29 -04:00