!rMMJVYqfOEOLttKGza:nixos.org

NixOS Matrix Suggestions

426 Members
Actionable suggestions for the Matrix space. Please hold discussion in #matrix-discussion:nixos.org, then bring the suggestion and context here. | https://pad.lassul.us/Nix-Matrix-Suggestions#141 Servers

Load older messages


SenderMessageTime
2 Jan 2022
@grahamc:nixos.org@grahamc:nixos.orgit'd be great to have a script which extracts all of the rooms in a space, recursively19:07:46
@grahamc:nixos.org@grahamc:nixos.org * it'd be great to have a script which extracts all of the rooms in a space, recursively through subspaces19:07:53
3 Jan 2022
@janne.hess:helsinki-systems.deJanne Heß
In reply to @grahamc:nixos.org
it'd be great to have a script which extracts all of the rooms in a space, recursively through subspaces
#!/usr/bin/env bash

set -euo pipefail

hs='https://helsinki-systems.de'
accessToken='' # must match the HS!

recurseSpace() {
	local mxid="${1}"
	local pathSoFar="${2:-}"
	# Get some basic info
	local roomName="$(curl -fsLH 'Accept: application/json' -H "Authorization: Bearer ${accessToken}" "${hs}/_matrix/client/r0/rooms/${mxid}/state/m.room.name" | jq -r .name || :)"
	[ -z "${roomName}" ] && return # wat
	local roomType="$(curl -fsLH 'Accept: application/json' -H "Authorization: Bearer ${accessToken}" "${hs}/_matrix/client/r0/rooms/${mxid}/state/m.room.create" | jq -r .type)"

	if [ "${roomType}" = m.space ]; then
		# It's a space - fetch children and recurse them
		for child in $(curl -fsLHH 'Accept: application/json' -H "Authorization: Bearer ${accessToken}" "${hs}/_matrix/client/r0/rooms/${mxid}/state" | jq -r '.[] | select(.type == "m.space.child") | .state_key'); do
			recurseSpace "${child}" "${pathSoFar}/${roomName}"
		done
	else
		# It's not a space - print it
		echo "${mxid} - ${pathSoFar}/${roomName}"
	fi
}

recurseSpace "!MKvhXlSTLGJUXpYuWF%3Anixos.org"
11:39:47
@janne.hess:helsinki-systems.deJanne Heß

this does however only work when you can see the room state and some rooms only show the state when you joined them which is why the list is incomplete for me:

!DBFhtjpqmJNENpLDOv:nixos.org - /NixOS/NixOS Systemd
!GsmxjHfeAYLsTEQmjS:nixos.org - /NixOS/Nix Matrix Discussion
!KEJUbONnoBpiYKGWEq:nixos.org - /NixOS/NixOS Gaming
!KqkRjyTEzAGRiZFBYT:nixos.org - /NixOS/Nix / NixOS
!RjBlCIbsLDzHBIzmaA:nixos.org - /NixOS/NixOS on ARM
!DBFhtjpqmJNENpLDOv:nixos.org - /NixOS/Teams/NixOS Systemd
!MthpOIxqJhTgrMNxDS:nixos.org - /NixOS/Teams/NixOS ACME / LetsEncrypt
!RROtHmAaQIkiJzJZZE:nixos.org - /NixOS/Teams/NixOS.org Infrastructure
!RjBlCIbsLDzHBIzmaA:nixos.org - /NixOS/Teams/NixOS on ARM
!UNVBThoJtlIiVwiDjU:nixos.org - /NixOS/Teams/Staging
!ZRgXNaHrdpGqwUnGnj:nixos.org - /NixOS/Teams/NixOS Security
!aGqRytqbCECitOFhbt:nixos.org - /NixOS/Teams/Release Management
!sBfrWMVsLoSyFTCkNv:nixos.org - /NixOS/Teams/OfBorg
!vxTmkuJzhGPsMdkAOc:transformierende-gesellschaft.org - /NixOS/Teams/NixOS Matrix Subsystem
!zghijEASpYQWYFzriI:nixos.org - /NixOS/Teams/Hydra
!VRULIdgoKmKPzJZzjj:nixos.org - /NixOS/Nix Hackers
!ZRgXNaHrdpGqwUnGnj:nixos.org - /NixOS/NixOS Security
!vxTmkuJzhGPsMdkAOc:transformierende-gesellschaft.org - /NixOS/Community/NixOS Matrix Subsystem
!kjdutkOsheZdjqYmqp:nixos.org - /NixOS/Nix / Nixpkgs / NixOS Dev
!rMMJVYqfOEOLttKGza:nixos.org - /NixOS/Nix Matrix Suggestions
!sgkZKRutwatDMkYBHU:nixos.org - /NixOS/Nix Offtopic
!tCyGickeVqkHsYjWnh:nixos.org - /NixOS/NixOS Networking
!tDnwWRNkmmYtMXfaZl:nixos.org - /NixOS/Nix Language
!MthpOIxqJhTgrMNxDS:nixos.org - /NixOS/Topics/NixOS ACME / LetsEncrypt
!UUYziobKGGxpovWyAN:nixos.org - /NixOS/Topics/Robotnix
!ayCRiZriCVtuCUpeLp:nixos.org - /NixOS/Topics/Nix Cross Compiling
!kyXJonZuBXCGzVwuSn:nixos.org - /NixOS/Topics/Systems Programming
!zghijEASpYQWYFzriI:nixos.org - /NixOS/Hydra
11:40:26
@janne.hess:helsinki-systems.deJanne Heß
In reply to @grahamc:nixos.org
it'd be great to have a script which extracts all of the rooms in a space, recursively through subspaces
*
#!/usr/bin/env bash

set -euo pipefail

hs='https://helsinki-systems.de'
accessToken='' # must match the HS!

recurseSpace() {
	local mxid="${1}"
	local pathSoFar="${2:-}"
	# Get some basic info
	local roomName="$(curl -fsLH 'Accept: application/json' -H "Authorization: Bearer ${accessToken}" "${hs}/_matrix/client/r0/rooms/${mxid}/state/m.room.name" | jq -r .name || :)"
	[ -z "${roomName}" ] && return # wat
	local roomType="$(curl -fsLH 'Accept: application/json' -H "Authorization: Bearer ${accessToken}" "${hs}/_matrix/client/r0/rooms/${mxid}/state/m.room.create" | jq -r .type)"

	if [ "${roomType}" = m.space ]; then
		# It's a space - fetch children and recurse them
		for child in $(curl -fsLH 'Accept: application/json' -H "Authorization: Bearer ${accessToken}" "${hs}/_matrix/client/r0/rooms/${mxid}/state" | jq -r '.[] | select(.type == "m.space.child") | .state_key'); do
			recurseSpace "${child}" "${pathSoFar}/${roomName}"
		done
	else
		# It's not a space - print it
		echo "${mxid} - ${pathSoFar}/${roomName}"
	fi
}

recurseSpace "!MKvhXlSTLGJUXpYuWF%3Anixos.org"
11:55:36
@grahamc:nixos.org@grahamc:nixos.orgWoohoo! Thank you!12:11:41
4 Jan 2022
@adis:blad.isadisbladis grahamc (he/him): Made you an admin on #poetry2nix:blad.is 07:02:29
@sandro:supersandro.deSandro
In reply to @janne.hess:helsinki-systems.de

this does however only work when you can see the room state and some rooms only show the state when you joined them which is why the list is incomplete for me:

!DBFhtjpqmJNENpLDOv:nixos.org - /NixOS/NixOS Systemd
!GsmxjHfeAYLsTEQmjS:nixos.org - /NixOS/Nix Matrix Discussion
!KEJUbONnoBpiYKGWEq:nixos.org - /NixOS/NixOS Gaming
!KqkRjyTEzAGRiZFBYT:nixos.org - /NixOS/Nix / NixOS
!RjBlCIbsLDzHBIzmaA:nixos.org - /NixOS/NixOS on ARM
!DBFhtjpqmJNENpLDOv:nixos.org - /NixOS/Teams/NixOS Systemd
!MthpOIxqJhTgrMNxDS:nixos.org - /NixOS/Teams/NixOS ACME / LetsEncrypt
!RROtHmAaQIkiJzJZZE:nixos.org - /NixOS/Teams/NixOS.org Infrastructure
!RjBlCIbsLDzHBIzmaA:nixos.org - /NixOS/Teams/NixOS on ARM
!UNVBThoJtlIiVwiDjU:nixos.org - /NixOS/Teams/Staging
!ZRgXNaHrdpGqwUnGnj:nixos.org - /NixOS/Teams/NixOS Security
!aGqRytqbCECitOFhbt:nixos.org - /NixOS/Teams/Release Management
!sBfrWMVsLoSyFTCkNv:nixos.org - /NixOS/Teams/OfBorg
!vxTmkuJzhGPsMdkAOc:transformierende-gesellschaft.org - /NixOS/Teams/NixOS Matrix Subsystem
!zghijEASpYQWYFzriI:nixos.org - /NixOS/Teams/Hydra
!VRULIdgoKmKPzJZzjj:nixos.org - /NixOS/Nix Hackers
!ZRgXNaHrdpGqwUnGnj:nixos.org - /NixOS/NixOS Security
!vxTmkuJzhGPsMdkAOc:transformierende-gesellschaft.org - /NixOS/Community/NixOS Matrix Subsystem
!kjdutkOsheZdjqYmqp:nixos.org - /NixOS/Nix / Nixpkgs / NixOS Dev
!rMMJVYqfOEOLttKGza:nixos.org - /NixOS/Nix Matrix Suggestions
!sgkZKRutwatDMkYBHU:nixos.org - /NixOS/Nix Offtopic
!tCyGickeVqkHsYjWnh:nixos.org - /NixOS/NixOS Networking
!tDnwWRNkmmYtMXfaZl:nixos.org - /NixOS/Nix Language
!MthpOIxqJhTgrMNxDS:nixos.org - /NixOS/Topics/NixOS ACME / LetsEncrypt
!UUYziobKGGxpovWyAN:nixos.org - /NixOS/Topics/Robotnix
!ayCRiZriCVtuCUpeLp:nixos.org - /NixOS/Topics/Nix Cross Compiling
!kyXJonZuBXCGzVwuSn:nixos.org - /NixOS/Topics/Systems Programming
!zghijEASpYQWYFzriI:nixos.org - /NixOS/Hydra
IIRC the room state can only be displayed if the home-server knows about it and that is the case when any user on the hs joined it.
19:36:56
@janne.hess:helsinki-systems.deJanne Heß I'd hope Graham is member of all of these. But I think in theory it should work when state is visible without being member 19:49:07
5 Jan 2022
@sumner:nevarro.spaceSumner Evans
In reply to @janne.hess:helsinki-systems.de
I'd hope Graham is member of all of these. But I think in theory it should work when state is visible without being member
peeking over federation is not a thing yet, unfortunately
15:13:03
7 Jan 2022
@freshgum-bubbles:halogen.cityfreshgum changed their profile picture.23:12:22
9 Jan 2022
@sigmasquadron:matrix.orgSigmaSquadron joined the room.14:06:25
10 Jan 2022
@sigmasquadron:matrix.orgSigmaSquadron changed their display name from SigmaSquadron to systemd-sigmad.15:39:05
@sigmasquadron:matrix.orgSigmaSquadron changed their display name from systemd-sigmad to SigmaSquadron.17:31:46
12 Jan 2022
@zimbatm:numtide.comzimbatm changed their display name from Jonas Chevalier to Jonas Chevalier (zimbatm).09:39:26
@zimbatm:numtide.comzimbatm changed their display name from Jonas Chevalier (zimbatm) to zimbatm.09:46:04
@legendofmiracles:matrix.orglegendofmiraclesWhat happened here? https://media.discordapp.net/attachments/568306982717751328/930936538899021824/unknown.png21:36:43
@grahamc:nixos.org@grahamc:nixos.org

Mjolnir has protections to avoid a type of spam that has been common in other spaces, where someone joins and immediately posts graphic images. That protection was enabled, but is now turned off:

Available protections:
🔴 (disabled) FirstMessageIsImageProtection - If the first thing a user does after joining is to post an image or video, they'll be banned for spam. This does not publish the ban to any of your ban lists.
🟢 (enabled) BasicFloodingProtection - If a user posts more than 10 messages in 60s they'll be banned for spam. This does not publish the ban to any of your ban lists.
🔴 (disabled) WordList - If a user posts a monitored word a set amount of time after joining, they will be banned from that room. This will not publish the ban to a ban list.
🔴 (disabled) MessageIsVoiceProtection - If a user posts a voice message, that message will be redacted. No bans are issued.
🔴 (disabled) MessageIsMediaProtection - If a user posts an image or video, that message will be redacted. No bans are issued.

21:55:13
@grahamc:nixos.org@grahamc:nixos.orgit looks like Mjolnir could be smarter about this, by recognizing participation in other rooms of a space as counting as activity.21:56:19
@grahamc:nixos.org@grahamc:nixos.orgthere was a follow-up issue where after I unbanned both of you from the infrastructure room mjolnir continued redacting your messages, which I'll also report upstream21:57:10
@grahamc:nixos.org@grahamc:nixos.org'course, Mjolnir's maintainers are not quick to respond to PRs, so it may be a while before we can re-enable those, so I'll leave them off until we see problems21:59:00
13 Jan 2022
@grahamc:nixos.org@grahamc:nixos.orgRedacted or Malformed Event00:39:27
@grahamc:nixos.org@grahamc:nixos.orgReported the over-eager redactions: https://github.com/matrix-org/mjolnir/issues/180 Reported the space-awareness for the FirstMessageIsImageProtection: https://github.com/matrix-org/mjolnir/issues/18100:40:02
@grahamc:nixos.org@grahamc:nixos.org hexa: I guess I should turn off the flood protection one as well? 00:51:44
@grahamc:nixos.org@grahamc:nixos.orgI'm just remembering the issue you brought up a while back (sorry)00:51:54
@hexa:lossy.networkhexaoh yeah, that was an IRC bridged user, couldn't have posted an image 🙂00:52:38
@hexa:lossy.networkhexayep, 10 lines in a row00:53:39
@grahamc:nixos.org@grahamc:nixos.orgI just disabled BasicFloodingProtection too, so there are no other protections.01:13:30
@grahamc:nixos.org@grahamc:nixos.org * I just disabled BasicFloodingProtection too, so there are no protections.01:13:56
@grahamc:nixos.org@grahamc:nixos.orgdid the ban get sorted?01:14:07

Show newer messages


Back to Room ListRoom Version: 6