config option to allow incoming remote read receipts
Signed-off-by: strawberry <strawberry@puppygock.gay>
This commit is contained in:
parent
b78d79a45a
commit
a7966b8f05
4 changed files with 17 additions and 1 deletions
|
@ -357,7 +357,7 @@ url_preview_check_root_domain = false
|
|||
|
||||
|
||||
|
||||
### Presence
|
||||
### Presence / Typing Indicators / Read Receipts
|
||||
|
||||
# Config option to control local (your server only) presence updates/requests. Defaults to false.
|
||||
# Note that presence on conduwuit is very fast unlike Synapse's.
|
||||
|
@ -385,6 +385,9 @@ url_preview_check_root_domain = false
|
|||
# Config option to control how many seconds before presence updates that you are offline. Defaults to 30 minutes.
|
||||
#presence_offline_timeout_s = 1800
|
||||
|
||||
# Config option to control whether we should receive remote incoming read receipts.
|
||||
# Defaults to true.
|
||||
#allow_incoming_read_receipts = true
|
||||
|
||||
|
||||
# Other options not in [global]:
|
||||
|
|
|
@ -823,6 +823,10 @@ pub async fn send_transaction_message_route(
|
|||
}
|
||||
},
|
||||
Edu::Receipt(receipt) => {
|
||||
if !services().globals.allow_incoming_read_receipts() {
|
||||
continue;
|
||||
}
|
||||
|
||||
for (room_id, room_updates) in receipt.receipts {
|
||||
for (user_id, user_updates) in room_updates.read {
|
||||
if let Some((event_id, _)) = user_updates
|
||||
|
|
|
@ -144,6 +144,9 @@ pub struct Config {
|
|||
#[serde(default = "default_presence_offline_timeout_s")]
|
||||
pub presence_offline_timeout_s: u64,
|
||||
|
||||
#[serde(default = "true_fn")]
|
||||
pub allow_incoming_read_receipts: bool,
|
||||
|
||||
#[serde(default)]
|
||||
pub zstd_compression: bool,
|
||||
|
||||
|
@ -282,6 +285,10 @@ impl fmt::Display for Config {
|
|||
"Allow local presence requests (updates)",
|
||||
&self.allow_local_presence.to_string(),
|
||||
),
|
||||
(
|
||||
"Allow incoming remote read receipts",
|
||||
&self.allow_incoming_read_receipts.to_string(),
|
||||
),
|
||||
(
|
||||
"Block non-admin room invites (local and remote, admins can still send and receive invites)",
|
||||
&self.block_non_admin_invites.to_string(),
|
||||
|
|
|
@ -359,6 +359,8 @@ impl Service<'_> {
|
|||
|
||||
pub fn presence_offline_timeout_s(&self) -> u64 { self.config.presence_offline_timeout_s }
|
||||
|
||||
pub fn allow_incoming_read_receipts(&self) -> bool { self.config.allow_incoming_read_receipts }
|
||||
|
||||
pub fn rocksdb_log_level(&self) -> &String { &self.config.rocksdb_log_level }
|
||||
|
||||
pub fn rocksdb_max_log_file_size(&self) -> usize { self.config.rocksdb_max_log_file_size }
|
||||
|
|
Loading…
Add table
Reference in a new issue