From 145403217ccea85dd9908fb1594189c3d95c6e2a Mon Sep 17 00:00:00 2001 From: jasonlaguidice <19523621+jasonlaguidice@users.noreply.github.com> Date: Wed, 15 Jul 2026 18:14:59 -0700 Subject: [PATCH] Update documentation and disable enhanced presence by default for rustpush & steam --- docs/configuring-playbook-bridge-rustpush.md | 5 +++++ docs/configuring-playbook-bridge-steam.md | 3 +++ roles/custom/matrix-bridge-rustpush/defaults/main.yml | 7 ++++++- .../matrix-bridge-rustpush/templates/config.yaml.j2 | 4 ++++ roles/custom/matrix-bridge-steam/defaults/main.yml | 9 +++++++++ .../matrix-bridge-steam/templates/config.yaml.j2 | 10 ++++++++++ 6 files changed, 37 insertions(+), 1 deletion(-) diff --git a/docs/configuring-playbook-bridge-rustpush.md b/docs/configuring-playbook-bridge-rustpush.md index 6595c3716..eb9a48ac3 100644 --- a/docs/configuring-playbook-bridge-rustpush.md +++ b/docs/configuring-playbook-bridge-rustpush.md @@ -93,3 +93,8 @@ matrix_rustpush_bridge_logging_level: 'debug' # Enable debug logging for RustPush matrix_rustpush_bridge_rust_log: "warn,rustpushgo=info,openabsinthe=debug" ``` +## Notable Configuration Options +- `matrix_rustpush_bridge_statuskit_notifications` will display StatusKit information for conversation participants. In some clients, this update will cause the DM to be pushed to the top of the conversation list continuously, so this option is disabled by default. + - `matrix_rustpush_bridge_statuskit_notification_style` can be set to either `topic` or `notice` + - `topic` sets the status as a room topic. In supported clients (like Cinny and Sable), this will display `🔕 Focus` as a second line when the person has focus mode enabled. + - `notice` sends an `m.notice` event to the room which will display text in the room but should not generate a notification \ No newline at end of file diff --git a/docs/configuring-playbook-bridge-steam.md b/docs/configuring-playbook-bridge-steam.md index 6cdf7353e..39758c847 100644 --- a/docs/configuring-playbook-bridge-steam.md +++ b/docs/configuring-playbook-bridge-steam.md @@ -46,3 +46,6 @@ Once logged in, send `search [name]` to search through recognized Steam friends. Chat rooms will automatically be opened as new messages are received. Send `help` to the bot to see the available commands. + +## Notable Configuration Options +- `matrix_steam_bridge_network_presence_topic_enabled` and `matrix_steam_bridge_network_presence_topic_rich_presence_enabled` mirror Steam's [Enhanced Rich Presence](https://partner.steamgames.com/doc/features/enhancedrichpresence) feature in Matrix. This will display the user's current game and rich presence if supported by the game. This sets the DM room's `m.topic` field to achieve this. Some games (like Deadlock) update the rich presence every minute with a match timer. In some clients, the topic update will cause the DM to be pushed to the top of the conversation list continuously, so this option is disabled by default. diff --git a/roles/custom/matrix-bridge-rustpush/defaults/main.yml b/roles/custom/matrix-bridge-rustpush/defaults/main.yml index b81143e54..c2f475933 100644 --- a/roles/custom/matrix-bridge-rustpush/defaults/main.yml +++ b/roles/custom/matrix-bridge-rustpush/defaults/main.yml @@ -46,8 +46,13 @@ matrix_rustpush_bridge_cloudkit_backfill: true matrix_rustpush_bridge_video_transcoding: true matrix_rustpush_bridge_heic_conversion: true matrix_rustpush_bridge_disable_facetime: false -matrix_rustpush_bridge_statuskit_notifications: true +matrix_rustpush_bridge_statuskit_notifications: false matrix_rustpush_bridge_statuskit_share_on_startup: true +# Only takes effect when `matrix_rustpush_bridge_statuskit_notifications` is true. +# - topic: sets the contact's DM room topic to their Focus/DND state (e.g. "🔕 Do Not Disturb"), clearing it when available. +# - notice: posts a silent m.notice instead (legacy behavior). +# Group chats always use `notice`, regardless of this setting. +matrix_rustpush_bridge_statuskit_notification_style: topic matrix_rustpush_bridge_bridge_command_prefix: "!im" diff --git a/roles/custom/matrix-bridge-rustpush/templates/config.yaml.j2 b/roles/custom/matrix-bridge-rustpush/templates/config.yaml.j2 index 05df2bd73..f30a5650d 100644 --- a/roles/custom/matrix-bridge-rustpush/templates/config.yaml.j2 +++ b/roles/custom/matrix-bridge-rustpush/templates/config.yaml.j2 @@ -28,6 +28,10 @@ network: # Set to false to disable Statuskit support globally statuskit_notifications: {{ matrix_rustpush_bridge_statuskit_notifications | to_json }} statuskit_share_on_startup: {{ matrix_rustpush_bridge_statuskit_share_on_startup | to_json }} + # How to surface a contact's Focus/DND status. Only takes effect when statuskit_notifications is true. + # - topic: set the DM room topic to the contact's Focus/DND state, clearing it when available. + # - notice: post a silent m.notice instead (legacy behavior). Group chats always use notice. + statuskit_notification_style: {{ matrix_rustpush_bridge_statuskit_notification_style | to_json }} # Config options that affect the central bridge module. bridge: diff --git a/roles/custom/matrix-bridge-steam/defaults/main.yml b/roles/custom/matrix-bridge-steam/defaults/main.yml index a47b2fd79..93c68815f 100644 --- a/roles/custom/matrix-bridge-steam/defaults/main.yml +++ b/roles/custom/matrix-bridge-steam/defaults/main.yml @@ -39,6 +39,15 @@ matrix_steam_bridge_network_presence_enabled: true # This is what the bridge sets it's status to after some time of no user interaction matrix_steam_bridge_network_presence_inactivity_status: 'invisible' +# steam -> matrix presence topic +# Master switch for setting a Steam friend's current game (+ rich presence flavor +# text) as the DM room's m.room.topic. +matrix_steam_bridge_network_presence_topic_enabled: false +# Append resolved rich presence flavor text to the topic (e.g. "Deadlock — Street Brawl: Paige (12 min)"). +matrix_steam_bridge_network_presence_topic_rich_presence_enabled: false +# Fallback: show the raw unresolved rich presence token if resolution fails. +matrix_steam_bridge_network_presence_topic_show_raw_tokens: false + # A public address that external services can use to reach this appservice matrix_steam_bridge_appservice_public_address: "https://{{ matrix_server_fqn_matrix }}" diff --git a/roles/custom/matrix-bridge-steam/templates/config.yaml.j2 b/roles/custom/matrix-bridge-steam/templates/config.yaml.j2 index 3704a6523..38380161c 100644 --- a/roles/custom/matrix-bridge-steam/templates/config.yaml.j2 +++ b/roles/custom/matrix-bridge-steam/templates/config.yaml.j2 @@ -42,6 +42,16 @@ network: # When true, reading messages will count as activity and keep you marked as online read_receipts_reset_presence: false + # Presence topic settings + # Sets a Steam friend's current game (+ rich presence flavor text) as the DM room's m.room.topic. + presence_topic: + # Master switch for setting the DM room topic to the friend's current game + enabled: {{ matrix_steam_bridge_network_presence_topic_enabled | to_json }} + # Append resolved rich presence flavor text to the topic (e.g. "Deadlock — Street Brawl: Paige (12 min)") + rich_presence_enabled: {{ matrix_steam_bridge_network_presence_topic_rich_presence_enabled | to_json }} + # Fallback: show the raw unresolved rich presence token if resolution fails + show_raw_tokens: {{ matrix_steam_bridge_network_presence_topic_show_raw_tokens | to_json }} + # Config options that affect the central bridge module. bridge: