Last weekend, Oliver and I participated at the “little” Hamburg #Mammutmarsch, which involves walking 50km within 12(?) hours. To cut a long story short, we made it in less than 10h, including breaks. But it was more exhausting than I thought.
Yes, we got a few blisters (quite a few actually), but more annoying where the last 10km which just took as long as the previous 40km. We made it and took a Taxi/Moia home, not in the mood for more partying.
Dear Stefanie Remmer, it was a pleasure to moderate your oral defense and witness you becoming a real doctor! Welcome to the club, we’ll teach you the secret handshake next…
Schön wars ein paar Tage übers Wochenende mit der @Volksdorf@feuerwehr.social (und meiner Tochter Johanna) nach Boltenhagen zu fahren und den Teamgeist ein bisschen zu stärken. Danke!
Das Segelschiff “Assistent”, das in Boltenhagen im Hafen liegt
I have a Weblog since at least the year 2001, and I noticed that I toot more often than I blog. So, I decided to breath new life into it by using it as a Microblog. Yay for the mastodon apps plugin for WordPress!
We have been using our old and trusty Olympus E-M10 iii for quite some time and, generally speaking, I am pretty happy with it. However, it is e.g. not weather proof and feels a bit dated. So I needed a new toy, the OM Systems OM-3 is it. Using the same lenses as before, weather proof, definitely retro.
This applies only to new MatrixRTC (aka element-call) calls, not to jitsi-widget-based calls and not to “old-style” direct 1:1 calls.
The problem
You’ve got an ongoing element-call, despite no one really being in it. It is stuck and you cannot end it. In Element-Web’s room list this looks like this:
Resolution
Step 1: Open devtools
In Element-Web, open devtools by typing /devtools in the room’s chat text box and hitting <ENTER> twice:
You should now see the rooms devtools dialog:
⏵Click on Explore Room State.
Step 2: Check Room states
Below, you can see the room state. In this case, there is a state for org.matrix.msc3401.call and a state for org.matrix.msc3401.call.member, these relate to element-call.
As long as there are active members in a call, your client will deduce that there is an ongoing call. So you “just” need to remove the members. Slight complication: for technical reasons, you can never remove a state, you can only update it. Therefore we need to update the call members to have an empty state. ⏵Click on the button org.matrix.msc3401.call.member.
Step 3a: Remove members
You can now see everyone who ever participated in a call (not only those who are currently active). You see that a few alter egos of me have been talking to each other in this room (should I be concerned?)
⏵Click on each member entry, the dialog will be looking something like this:
The above case is a joined (=active) member in a call, as the "content": {} section is not empty. For some members, the content might already be empty ({}). These are not part of the call anymore and we can ignore these entries.
If the "content": {} section is non-empty (there is stuff within these brackets), click Edit and empty it:
⏵Hit Send and go Back. Rinse and repeat for all active members. If none is left, the call should automatically stop showing up as being active in Element-Web.
Step 3b (optional?): Remove the “org.matrix.msc3401.call”
From the Room state explorer, open up the state org.matrix.msc3401.call, mine looked something like this:
and Edit it, setting the content to empty, that is just empty bracket: {}. It should look something like this:
⏵Hit Send. I am not sure that Step 3b is actually needed, but it certainly did not hurt.
Additional Recommendations
Delayed events
Usually calls should be properly terminated when people leave it, but in some cases (closing browser tab, connection disrupted,…) things might get stuck. To solve this, “delayed events” have been introduced in synapse, which provide kind of a dead man’s switch:
If you don’t update the delayed event regularly, your presence from the call will automatically be removed after a while. Delayed events are not enabled by default in synapse yet, you need to do so manually by setting:
# enable delayed events, so we quit calls that are interrupted somehow
max_event_delay_duration: 24h
in your homeserver.yaml. There is no downside to enabling them, so I recommend that everyone does.
Please send corrections and improvement suggestions to me. I usually hang out in the “Element web” and “Element-X-Android” matrix rooms. But I refuse unsolicited DM requests, so please ping me in one of the rooms.
Sebastian Späth, professor, father, husband. This is my private blog and all content is my own opinion. I toot via mastodon/activitypub at @spaetz@mas.to. I also have an “official” work account at @spaeth@dima.wiso.uni-hamburg.de. And last but not least you can subscribe to my blog via RSS/Atom feed or in your mastodon instance as @spaetz@sspaeth.de.
789 posts
26 followers
Follow Sebastian Spaeth
My Profile
Paste my profile into the search field of your favorite open social app or platform.
Your Profile
Or, if you know your own profile, we can start things that way! Why do I need to enter my profile?
This site is part of the ⁂ open social web, a network of interconnected social platforms (like Mastodon, Pixelfed, Friendica, and others). Unlike centralized social media, your account lives on a platform of your choice, and you can interact with people across different platforms.
By entering your profile, we can send you to your account where you can complete this action.