Skip to content
Snippets Groups Projects
Commit 4e8823de authored by 🥺's avatar 🥺 :transgender_flag: Committed by 🥺
Browse files

add warning about outgoing presence PDU/EDU relationship

parent 1460a82f
No related branches found
No related tags found
No related merge requests found
......@@ -196,6 +196,10 @@ enable_lightning_bolt = false
# Config option to control outgoing presence updates/requests. Defaults to false.
# This option sends presence updates to other servers, but does not receive any unless `allow_incoming_presence` is true.
# Note that presence on conduwuit is very fast unlike Synapse's.
#
# Warning: Outgoing federated presence is not spec compliant due to relying on PDUs and EDUs combined.
# Outgoing presence will not be very reliable due to this and any issues with federated outgoing presence are very likely attributed to this issue.
# Incoming presence and local presence are unaffected.
#allow_outgoing_presence = false
# Config option to control how many seconds before presence updates that you are idle. Defaults to 5 minutes.
......
......@@ -164,6 +164,10 @@ async fn main() {
If this is not the desired behaviour, please disable `allow_registration` and set a registration token.");
}
if config.allow_outgoing_presence {
warn!("! Outgoing federated presence is not spec compliant due to relying on PDUs and EDUs combined.\nOutgoing presence will not be very reliable due to this and any issues with federated outgoing presence are very likely attributed to this issue.\nIncoming presence and local presence are unaffected.");
}
info!("Starting server");
if let Err(e) = run_server().await {
error!("Critical error running server: {}", e);
......
......@@ -395,7 +395,7 @@ pub fn allow_incoming_presence(&self) -> bool {
self.config.allow_incoming_presence
}
pub fn allow_outcoming_presence(&self) -> bool {
pub fn allow_outgoing_presence(&self) -> bool {
self.config.allow_outgoing_presence
}
......
......@@ -287,7 +287,7 @@ pub fn select_edus(&self, server_name: &ServerName) -> Result<(Vec<Vec<u8>>, u64
.filter(|user_id| user_id.server_name() == services().globals.server_name()),
);
if services().globals.allow_outcoming_presence() {
if services().globals.allow_outgoing_presence() {
// Look for presence updates in this room
let mut presence_updates = Vec::new();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment