Compare commits

..

16 commits

Author SHA1 Message Date
Jacob Taylor
7b519ccabb fix too many infos 2025-07-25 07:59:20 -07:00
Jacob Taylor
3149f7527e more funny settings (part 3 of 12) 2025-07-25 07:59:20 -07:00
Jacob Taylor
3838de1314 sender_workers scaling. this time, with feeling! 2025-07-25 07:59:20 -07:00
Jacob Taylor
f678f5d6bf vehicle loan documentation now available at window 7 2025-07-25 07:59:20 -07:00
Jacob Taylor
8b181e10cc lock the getter instead ??? c/o M 2025-07-25 07:59:20 -07:00
Jacob Taylor
1bac93a452 make fetching key room events less smart 2025-07-25 07:59:20 -07:00
Jacob Taylor
eed329045e change rocksdb stats level to 3
scale rocksdb background jobs and subcompactions

change rocksdb default error level to info from error

delete unused num_threads function

fix warns from cargo
2025-07-25 07:59:20 -07:00
nexy7574
14b45c88d9 log which room struggled to get mainline depth 2025-07-25 07:59:20 -07:00
nexy7574
b3bc2edb09 more logs 2025-07-25 07:59:20 -07:00
nexy7574
458f3ca8e4 Fix room ID check 2025-07-25 07:59:20 -07:00
nexy7574
92a46d37ff Kick up a fuss when m.room.create is unfindable 2025-07-25 07:59:20 -07:00
nexy7574
c29df405b5 Note about ruma#2064 in TODO 2025-07-25 07:59:20 -07:00
nexy7574
80adf46d5f fix an auth rule not applying correctly 2025-07-25 07:59:20 -07:00
Jacob Taylor
563d7e1734 upgrade some settings to enable 5g in continuwuity
enable converged 6g at the edge in continuwuity

better stateinfo_cache_capacity default

better roomid_spacehierarchy_cache_capacity

make sender workers default better and clamp value to core count

update sender workers documentation

add more parallelism_scaled and make them public

update 1 document
2025-07-25 07:59:20 -07:00
Jacob Taylor
7a4d838f19 bump the number of allowed immutable memtables by 1, to allow for greater flood protection
this should probably not be applied if you have rocksdb_atomic_flush = false (the default)
2025-07-25 07:59:20 -07:00
Jacob Taylor
0d8aee3748 probably incorrectly delete support for non-standardized matrix srv record 2025-07-25 07:59:20 -07:00
6 changed files with 25 additions and 41 deletions

5
.github/FUNDING.yml vendored
View file

@ -1,4 +1,5 @@
github: [JadedBlueEyes, nexy7574] github: [JadedBlueEyes]
# Doesn't support an array, so we can only list nex
ko_fi: nexy7574
custom: custom:
- https://ko-fi.com/nexy7574
- https://ko-fi.com/JadedBlueEyes - https://ko-fi.com/JadedBlueEyes

View file

@ -57,7 +57,7 @@ Continuwuity aims to:
### Can I try it out? ### Can I try it out?
Check out the [documentation](https://continuwuity.org) for installation instructions. Check out the [documentation](introduction) for installation instructions.
There are currently no open registration Continuwuity instances available. There are currently no open registration Continuwuity instances available.

View file

@ -12,15 +12,6 @@ services:
#- ./continuwuity.toml:/etc/continuwuity.toml #- ./continuwuity.toml:/etc/continuwuity.toml
networks: networks:
- proxy - proxy
labels:
- "traefik.enable=true"
- "traefik.http.routers.continuwuity.rule=(Host(`matrix.example.com`) || (Host(`example.com`) && PathPrefix(`/.well-known/matrix`)))"
- "traefik.http.routers.continuwuity.entrypoints=websecure" # your HTTPS entry point
- "traefik.http.routers.continuwuity.tls=true"
- "traefik.http.routers.continuwuity.service=continuwuity"
- "traefik.http.services.continuwuity.loadbalancer.server.port=6167"
# possibly, depending on your config:
# - "traefik.http.routers.continuwuity.tls.certresolver=letsencrypt"
environment: environment:
CONTINUWUITY_SERVER_NAME: your.server.name.example # EDIT THIS CONTINUWUITY_SERVER_NAME: your.server.name.example # EDIT THIS
CONTINUWUITY_DATABASE_PATH: /var/lib/continuwuity CONTINUWUITY_DATABASE_PATH: /var/lib/continuwuity

View file

@ -12,14 +12,6 @@ services:
#- ./continuwuity.toml:/etc/continuwuity.toml #- ./continuwuity.toml:/etc/continuwuity.toml
networks: networks:
- proxy - proxy
labels:
- "traefik.enable=true"
- "traefik.http.routers.continuwuity.rule=(Host(`matrix.example.com`) || (Host(`example.com`) && PathPrefix(`/.well-known/matrix`)))"
- "traefik.http.routers.continuwuity.entrypoints=websecure"
- "traefik.http.routers.continuwuity.tls.certresolver=letsencrypt"
- "traefik.http.services.continuwuity.loadbalancer.server.port=6167"
# Uncomment and adjust the following if you want to use middleware
# - "traefik.http.routers.continuwuity.middlewares=secureHeaders@file"
environment: environment:
CONTINUWUITY_SERVER_NAME: your.server.name.example # EDIT THIS CONTINUWUITY_SERVER_NAME: your.server.name.example # EDIT THIS
CONTINUWUITY_TRUSTED_SERVERS: '["matrix.org"]' CONTINUWUITY_TRUSTED_SERVERS: '["matrix.org"]'

View file

@ -6,8 +6,8 @@
"message": "Welcome to Continuwuity! Important announcements about the project will appear here." "message": "Welcome to Continuwuity! Important announcements about the project will appear here."
}, },
{ {
"id": 3, "id": 2,
"message": "_taps microphone_ The Continuwuity 0.5.0-rc.7 release is now available, and it's better than ever! **177 commits**, **35 pull requests**, **11 contributors,** and a lot of new stuff!\n\nFor highlights, we've got:\n\n* 🕵️ Full Policy Server support to fight spam!\n* 🚀 Smarter room & space upgrades.\n* 🚫 User suspension tools for better moderation.\n* 🤖 reCaptcha support for safer open registration.\n* 🔍 Ability to disable read receipts & typing indicators.\n* ⚡ Sweeping performance improvements!\n\nGet the [full changelog and downloads on our Forgejo](https://forgejo.ellis.link/continuwuation/continuwuity/releases/tag/v0.5.0-rc.7) - and make sure you're in the [Announcements room](https://matrix.to/#/!releases:continuwuity.org/$hN9z6L2_dTAlPxFLAoXVfo_g8DyYXu4cpvWsSrWhmB0) to get stuff like this sooner." "message": "🎉 Continuwuity v0.5.0-rc.6 is now available! This release includes improved knock-restricted room handling, automatic support contact configuration, and a new HTML landing page. Check [the release notes for full details](https://forgejo.ellis.link/continuwuation/continuwuity/releases/tag/v0.5.0-rc.6) and upgrade instructions."
} }
] ]
} }

View file

@ -165,6 +165,25 @@ pub async fn create_hash_and_sign_event(
return Err!(Request(Forbidden("Event is not authorized."))); return Err!(Request(Forbidden("Event is not authorized.")));
} }
// Check with the policy server
match self
.services
.event_handler
.ask_policy_server(&pdu, room_id)
.await
{
| Ok(true) => {},
| Ok(false) => {
return Err!(Request(Forbidden(debug_warn!(
"Policy server marked this event as spam"
))));
},
| Err(e) => {
// fail open
warn!("Failed to check event with policy server: {e}");
},
}
// Hash and sign // Hash and sign
let mut pdu_json = utils::to_canonical_object(&pdu).map_err(|e| { let mut pdu_json = utils::to_canonical_object(&pdu).map_err(|e| {
err!(Request(BadJson(warn!("Failed to convert PDU to canonical JSON: {e}")))) err!(Request(BadJson(warn!("Failed to convert PDU to canonical JSON: {e}"))))
@ -203,25 +222,6 @@ pub async fn create_hash_and_sign_event(
pdu_json.insert("event_id".into(), CanonicalJsonValue::String(pdu.event_id.clone().into())); pdu_json.insert("event_id".into(), CanonicalJsonValue::String(pdu.event_id.clone().into()));
// Check with the policy server
match self
.services
.event_handler
.ask_policy_server(&pdu, room_id)
.await
{
| Ok(true) => {},
| Ok(false) => {
return Err!(Request(Forbidden(debug_warn!(
"Policy server marked this event as spam"
))));
},
| Err(e) => {
// fail open
warn!("Failed to check event with policy server: {e}");
},
}
// Generate short event id // Generate short event id
let _shorteventid = self let _shorteventid = self
.services .services