timedout
70a3905761
style: Remove duplicate pdu check 1 call in handle_incoming_pdu
2026-07-11 17:27:42 +01:00
timedout
cf9179e8f6
fix: Perform checks 1-3 on auth chain PDUs
2026-07-11 17:27:42 +01:00
timedout
6b899b7f80
refactor: Move PDU checks 1, 2, and 3 into pdu_checks.rs
2026-07-11 17:27:42 +01:00
timedout
ad57fa06fc
style: Unify and document state_before_incoming
2026-07-11 17:27:42 +01:00
timedout
ec9efbada5
fix: Don't reject auth events when they're innocent in auth chain response
2026-07-11 17:27:42 +01:00
timedout
318d2b205a
style: Move PDU check functions into their own module
2026-07-11 17:27:42 +01:00
timedout
99a5f2a9fb
refactor: Reduce complexity of incoming PDU handling
...
* Ignores any events pushed without a room ID
* Removes needless clones for PDU size checking
* Removes incorrect ACL check in incoming handler
* Fast-path handling already handled outlier events
* Remove redundant same-room checks, replace with useful ones
* Combine event rejection and persistence in a single function
* Additional safety assertions in upgrade task
* Split upgrade task into multiple subroutines for reduced cognitive complexity
* Only mutate current state and forward extremities in tandem
* Improve code documentation to better explain the logic flow
2026-07-11 17:27:42 +01:00
Renovate Bot
ace0d52074
chore(deps): Update rust crate termimad to 0.35.0
2026-07-11 15:35:53 +00:00
Ginger
0b1e24a9ad
fix: Add admin command to ensure all appservice puppets are active
2026-07-11 14:55:43 +00:00
Ginger
f55207d5c7
fix: Stop appservice users from being wrongly deactivated during migration
2026-07-11 14:55:43 +00:00
Ginger
9b14ab4c0b
fix: Parse OIDC discovery URL more leniently
2026-07-10 16:52:04 +00:00
timedout
b915692ae1
fix: Remove broken federated invite revoke handling
...
It turns out it never worked in the first place :D
2026-07-10 16:32:38 +01:00
theS1LV3R
8b6a176901
fix: Use correct DNS caching for SNI to function properly
...
This removes the old (broken) DNS caching method for reqwest, and replaces
it with resolvematrix' `MatrixDnsResolver`, as it correctly implements
caching and overrides for correct SNI behavior.
2026-07-10 13:44:59 +00:00
Jade Ellis
5d2e840859
feat: Enable direct_tls and more logging by default
...
Disables additional logging on maxperf builds
2026-07-09 22:44:26 +01:00
Ginger
2fabf18451
style: Fix comment
2026-07-09 17:36:56 -04:00
Ginger
63a26141f8
fix: Make depth cap a bit more thorough
2026-07-09 17:33:13 -04:00
Ginger
cc1f667c2b
fix: Cap max_depth to 50 in hierarchy endpoint
2026-07-09 17:22:36 -04:00
Ginger
89dcda4c3c
feat: Kill roomsynctoken_shortstatehash dead
2026-07-09 16:43:10 -04:00
timedout
62730e861a
style: Use string literals instead of u8s
2026-07-09 19:40:11 +00:00
timedout
68d018bd37
style: Use string literals instead of u8s
2026-07-09 19:40:11 +00:00
timedout
f71f6e922c
feat: Allow configuring the desired client IP source
2026-07-09 19:40:11 +00:00
theS1LV3R
edbaceafaa
fix: Cargo clippy messages
2026-07-09 18:22:25 +00:00
theS1LV3R
0d5789f727
chore: Merge resolver service into client service
2026-07-09 18:22:25 +00:00
Ginger
7e6bb7822e
fix: Make "remove device" link on device details page more obvious
2026-07-09 18:11:26 +00:00
Ginger
5f9d609029
fix: Horizontally scroll overflowing pres
2026-07-09 18:11:26 +00:00
Ginger
f866b94818
fix: Explicitly constrain avatar size
2026-07-09 18:11:26 +00:00
Ginger
8714fa2ea7
fix: Minor CSS and layout tweaks
2026-07-09 18:11:26 +00:00
Ginger
021dfc2424
fix: Fix error page on small screens
2026-07-09 18:11:26 +00:00
timedout
f9b532162f
fix: SEC20
...
Reviewed-By: Ginger <ginger@gingershaped.computer >
2026-07-09 17:58:59 +01:00
Ginger
ad4f7973cb
refactor: Remove list_local_users function
2026-07-07 11:33:47 -04:00
Ginger
431fb7330e
refactor: Remove /_conduwuit/ routes
2026-07-07 11:33:47 -04:00
Renovate Bot and Ginger
6619e6a20a
chore(deps): Update ruma digest to 89cce34
...
Co-Authored-By: Ginger <ginger@gingershaped.computer >
2026-07-07 11:25:13 -04:00
ginger
e9e0db8bab
fix: Stop advertising support for the stable MSC2666 endpoint
2026-07-07 14:29:14 +00:00
Ginger
6f76b0a593
fix: Don't bail out when changing profile data if membership cache is wrong
2026-07-05 10:51:36 -04:00
Ginger
3467dffd94
fix: Adjust sync watcher logic to be more explicit
2026-07-05 00:42:44 +00:00
Ginger
632d90921b
fix: Fix circular service dependency
2026-07-04 17:04:01 -04:00
31a05b9c
6aab456466
fix: appservice masquerading requirement check
2026-07-04 18:21:51 +00:00
theS1LV3R
7fac885a98
Merge branch 'main' into rewrite-resolver
2026-07-04 19:55:28 +02:00
Ginger
d2b795d8cf
refactor: Logic cleanup
2026-07-04 13:15:54 -04:00
Ginger
e0a754483a
fix: Give invitees creator status when creating a trusted private v12 room
2026-07-04 13:06:49 -04:00
theS1LV3R
58507aa99b
chore: Fix dependencies, prek errors
2026-07-03 10:59:14 +02:00
theS1LV3R
e58ad49d11
fix: Remove unused code, use builder when not using cache
2026-07-03 10:59:13 +02:00
theS1LV3R
44087d8c09
chore: Fix more merge issues and removed methods
2026-07-03 10:59:13 +02:00
theS1LV3R
fb74da21d9
style: Cargo fmt
2026-07-03 10:59:13 +02:00
theS1LV3R
eb078ee6dd
chore: Pass http client into resolver
2026-07-03 10:59:12 +02:00
theS1LV3R
d8eb01bf74
fix: Apply prek fixes
2026-07-03 10:59:12 +02:00
theS1LV3R
5b5ba53980
fix: Fix merge problems, update to resolvematrix 0.1.0
2026-07-03 10:59:12 +02:00
theS1LV3R
0a12d40625
chore: clippy
...
diff --git c/src/admin/query/resolver.rs i/src/admin/query/resolver.rs
index add4c70de..37d6797ff 100644
--- c/src/admin/query/resolver.rs
+++ i/src/admin/query/resolver.rs
@@ -96,7 +96,10 @@ async fn flush_cache(&self, name: Option<OwnedServerName>, all: bool) -> Result
self.services.resolver.dns.cache.clear().await;
writeln!(self, "Resolver caches cleared!").await
} else if let Some(name) = name {
- self.services.resolver.resolver.remove_cache_entry(&name.as_str());
+ self.services
+ .resolver
+ .resolver
+ .remove_cache_entry(name.as_str());
self.services.resolver.dns.cache.del_destination(&name);
self.services.resolver.dns.cache.del_override(&name);
self.write_str(&format!("Cleared {name} from resolver caches!"))
2026-07-03 10:59:12 +02:00
theS1LV3R
3d521c8898
feat: Add cache clearing
...
diff --git c/Cargo.lock i/Cargo.lock
index 4a8b1e273..239932c62 100644
--- c/Cargo.lock
+++ i/Cargo.lock
@@ -4601,9 +4601,9 @@ checksum = "1e061d1b48cb8d38042de4ae0a7a6401009d6143dc80d2e2d6f31f0bdd6470c7"
[[package]]
name = "resolvematrix"
-version = "0.0.3"
+version = "0.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index "
-checksum = "52dfcc6f56a81348db1fc6591356cfea9dc840408c75553b2fe225f86de43274"
+checksum = "ea2b9bc3cb1220455bf50519f315c27257859059cb1b0f1643758afd03cbef8a"
dependencies = [
"hickory-resolver",
"reqwest 0.13.2",
diff --git c/Cargo.toml i/Cargo.toml
index f89a5e010..d6260177a 100644
--- c/Cargo.toml
+++ i/Cargo.toml
@@ -45,7 +45,7 @@ version = "1.0.6"
version = "1.0.0"
[workspace.dependencies.cargo_toml]
-version = "1.0"
+version = "0.22"
default-features = false
features = ["features"]
@@ -164,7 +164,7 @@ features = ["raw_value"]
# Used for appservice registration files
[workspace.dependencies.serde-saphyr]
-version = "0.0.28"
+version = "0.0.27"
# Used to load forbidden room/user regex from config
[workspace.dependencies.serde_regex]
@@ -356,7 +356,6 @@ features = [
"ring-compat",
"compat-upload-signatures",
"compat-optional-txn-pdus",
- "compat-get-3pids",
"unstable-msc2666",
"unstable-msc2867",
"unstable-msc2870",
@@ -561,10 +560,7 @@ features = ["std"]
version = "0.3.0"
[workspace.dependencies.resolvematrix]
-version = "0.1.0"
-
-[workspace.dependencies.serde_urlencoded]
-version = "0.7.1"
+version = "0.0.4"
#
# Patches
diff --git c/src/admin/query/resolver.rs i/src/admin/query/resolver.rs
index 4a88650f8..add4c70de 100644
--- c/src/admin/query/resolver.rs
+++ i/src/admin/query/resolver.rs
@@ -92,9 +92,11 @@ async fn overrides_cache(&self, server_name: Option<String>) -> Result {
async fn flush_cache(&self, name: Option<OwnedServerName>, all: bool) -> Result {
if all {
- self.services.resolver.dns.cache.clear().await;
- writeln!(self, "Resolver caches cleared!").await
- } else if let Some(name) = name {
+ self.services.resolver.resolver.clear_cache();
+ self.services.resolver.dns.cache.clear().await;
+ writeln!(self, "Resolver caches cleared!").await
+ } else if let Some(name) = name {
+ self.services.resolver.resolver.remove_cache_entry(&name.as_str());
self.services.resolver.dns.cache.del_destination(&name);
self.services.resolver.dns.cache.del_override(&name);
self.write_str(&format!("Cleared {name} from resolver caches!"))
diff --git c/src/service/resolver/mod.rs i/src/service/resolver/mod.rs
index c24b8ba60..6b57013dd 100644
--- c/src/service/resolver/mod.rs
+++ i/src/service/resolver/mod.rs
@@ -45,7 +45,7 @@ fn build(args: crate::Args<'_>) -> Result<Arc<Self>> {
}
async fn clear_cache(&self) {
- // No ability to clean resolvematrix cache at the moment
+ self.resolver.clear_cache();
self.dns.resolver.clear_cache();
self.dns.cache.clear().await;
}
2026-07-03 10:59:11 +02:00
theS1LV3R
3dbe6a5817
fix: Make clippy not be angry
2026-07-03 10:59:11 +02:00