Skip to content

Latest commit

 

History

History
485 lines (298 loc) · 22.6 KB

MatrixKB.org

File metadata and controls

485 lines (298 loc) · 22.6 KB

Hi, welcome to the Matrix Knowledge Base.

Don’t be put off by Github’s horrible attempt at rendering this. It’s much better with a proper tool. (See the FAQ FAQ.)

FAQ

FAQ FAQ

Questions about this FAQ and directory itself.

What is this?

This is a community-supported collection of FAQs and more on all things Matrix. Its primary use is to serve as botfood for a yet-to-be-written FAQbot, but it is also suitable for human consumption.

What is it written in?

This document is written in Org mode format. See http://orgmode.org for more information.

What tools are used to author and render this?

Authoring

Orgzly for Android, which is also available from F-Droid.

Synchronizing

MGit: https://github.com/maks/MGit

Rendering

(none, so far)

Isn’t there already a Matrix FAQ?

Yes. This document even links to it at the top of the Matrix section.

So why another FAQ?

  • Knowledge about Matrix is scattered across many deep-linked documents. This KB brings them together in a comprehensive overview, and links to them.
  • This Knowledge Base is not merely a Matrix FAQ: it also has FAQs for some of its popular clients and tools, such as Riot, the IRC bridges, etc. All in one place.
  • Using the Org mode format with the Orgzly app lets me more easily curate the questions and answers on my mobile phone.
  • It is intended to eventually allow bidirectional conversion of (sections of) this KB, allowing one to wholly import external FAQs, work on them, and then contribute back, keeping everything in sync.
  • There are plans for a FAQbot. The Org mode format is very suitable for automatic processing, and one day a bot could be answering questions in Matrix rooms, drawing on this KB for its knowledge.

I have questions or suggestions for this FAQ itself. Where can I go to talk to a human?

The Matrix Knowledge Base has a dedicated room at #matrix-knowledge-base:matrix.org. This room is not for general Matrix questions. For those, see the rest of this FAQ.

Riot

Web and Desktop

Is there some kind of user guide or manual?

There is a fairly thorough guide at https://forum.disroot.org/t/matrix-riots-usage-basics/947. Although it is targeted at disroot users, most of it applies to Riot Web/Desktop in general. You could even just go and get yourself a disroot account.

I’m getting CORS errors. What’s wrong?

CORS errors are generally not actually anything to do with CORS, but hide a plain http error, e.g. a 500, which is the real reason why the thing is failing.

However, as plain errors don’t have CORS headers, it gives this confusing warning.

What is the best way to contribute a translation?

This information is out of date.

MTRNord is currently working on adding the necessary i18n infrastructure:

If anyone is interested: I work currently on making Translations in RiotWeb possible. My work is based on the master currently. If anyone wants to add transations take a look at the files in ./src/i18n in these 2 repos: https://github.com/MTRNord/matrix-react-sdk/tree/translations and https://github.com/MTRNord/riot-web/tree/translation

PS: I am still working on that so There isn’t yet every string translated and also there are maybe some bugs

for those interested in riot-web translations: there is a channel. (backlog is german but english is no problem there) #riotweb-translations:matrix.org

My question isn’t answered here. Where can I ask for help?

The Web and Desktop versions of Riot have a dedicated room at #riot:matrix.org for user questions. Please note that this is also the place for general issues which encompass all Riot platforms. (Web, Desktop, Android, iOS.)

Developers coordinate their efforts in #riot-dev:matrix.org.

Android

How can I input (unicode) emoji?

See http://www.wikihow.com/Get-Emoji-on-Android

How do I join an existing room? (For example, #riot-android:matrix.org)

From the main (“Messages”) screen, Press the magnifying glass and type the room alias into the search field.

How do I switch the language?

Riot for Android will automatically switch to your phone’s system language, if a translation is available. Manually changing the language is not yet possible, but is planned in #1076.

What is the best way to contribute a translation?

Important: Before contributing anything, please read Contributing code to Matrix carefully and make sure you understand and agree with everything written therein.

After having read Contributing code to Matrix, the best way to contribute your translation is to send a pull request against the develop branches of riot-android and matrix-android-sdk.

Translatable strings are in res/values/strings.xml and res/values/array.xml, and should go to res/values-xx/strings.xml and res/values-xx/array.xml, respectively, where xx is the lower-case two-letter language code.

To see an example of what a pull request should look like, take a look at pull #1046: Offering translation into Russian.

(This pull request is not necessarily an example that stands above all others, and was chosen at random, after some minimal verification.)

Important: Translations must be made against the develop branch, not master.

matrix-android-sdk needs to be translated as well.

Tip: Android Studio has a Translations Editor.

Related issues

My question isn’t answered here. Where can I ask for help?

Riot-Android version has a dedicated room at #riot-android:matrix.org for both user questions and developer talk.

iOS

My question isn’t answered here. Where can I ask for help?

Riot-iOS has a dedicated room at #riot-ios:matrix.org for both user questions and developer talk.

What commands I can use?

commanddescription
/nick <display_name>change your display name
/me <action>send the action you are doing – /me will be replaced by your display name
/join <#room_alias:homeserver.domain>join a room
/kick <@user_id:homeserver.domain> [<reason>]kick the user
/ban <@user_id:homeserver.domain> [<reason>]ban the user
/unban <@user_id:homeserver.domain>unban the user
/op <@user_id:homeserver.domain> <power_level>set the user power level
/deop <@user_id:homeserver.domain>reset user power level to the room default value

Synapse

I or one of my users forgot their password. How can I reset it?

See https://github.com/matrix-org/synapse/blob/master/README.rst#password-reset. (Do read the rest of the README. It is very complete and informative.)

How do I enable the built-in web client?

Don’t. It’s deprecated. Either use Riot at https://riot.im/app with a (your) custom server, or download a Riot tarball from https://github.com/vector-im/riot-web/releases and host it yourself.

My question isn’t answered here. Where can I ask for help?

The designated place to ask questions about Synapse is #matrix:matrix.org, or if the questions are more technical, in #matrix-dev:matrix.org.

It is also worth checking the bug tracker to see if others are having the same problem.

A community-run room also exists at #synapse-community:matrix.org. Although the room doesn’t have official backing from the Synapse developers, it is exclusively dedicated to Synapse, and as such, can offer more focus.

Dendrite

So what’s the latest word on Dendrite?

Exciting times - Dendrite (the next generation Golang matrix server) just received its first messages!! https://matrix.org/blog/2017/03/15/dendrite-receives-its-first-messages/ #golang

My question isn’t answered here. Where can I ask for help?

Rooms will be listed here when Dendrite is usable.

Matrix

The official Matrix FAQ

What is the Matrix?

Unfortunately, no one can be told what the Matrix is. You have to see it for yourself.

Who should I contact in case of abuse?

Send e-mail to [email protected]

I can see everyone’s devices! Isn’t that a privacy issue?

Yes, this is a known metadata leak. Other than renaming your devices, there isn’t much that can be done about it.

Ironically, e2e encryption reduces privacy in some ways. Since Matrix e2e encrypts to each device separately, it needs to know which devices those are. This is a privacy vs. features tradeoff. Most competing encrypted messengers don’t allow multiple devices.

How does the “mxc://” protocol work?

mxc://<server>/<content> is just shorthand for https://<yourserver>/_matrix/media/v1/download/<server>/<content>

The spec is at https://matrix.org/docs/spec/client_server/r0.2.0.html#id43.

My question isn’t answered here. Where can I ask for help?

General Matrix questions can be asked in #matrix:matrix.org. If you’re building on top of Matrix, please join #matrix-dev:matrix.org.

Bridges

What’s a plumbed room? What’s a portal room? What types of bridges are there?

https://matrix.org/blog/2017/03/11/how-do-i-bridge-thee-let-me-count-the-ways/ has a detailed overview.

IRC

How does this whole IRC bridging thing work?

https://matrix.org/blog/2017/03/14/an-adventure-in-irc-land/ goes into detail about this.

What is a bridge bot?

On joining an IRC room for the first time, you should be invided by the bridge bot, to inform you that you have been bridged to IRC.

The bot will inform you about changes in your IRC status, and you can give it some commands to control your IRC session. Say !help to the bot to see a list of them.

Be aware that every IRC network has its own bot, and you need to talk to the right one. See #bridged-networks for the list of IRC networks and the appropriate bridge bots.

How do I join an IRC channel with a key? (+k)

In a private conversation with the bridge bot, say !join [server] <#channel> <key>.

If this gives you an error err_badchannelkey, type /markdown off in the bridge bot room, and then try the !join command again.

Bridges

Discord

Half-Shot

  • #discord:half-shot.uk

Instagram

IRC

Bridged Networks

NameRoom formatUser formatAppserviceComment
Freenode#freenode_#channame:matrix.org@freenode_nickname:matrix.org@appservice-irc:matrix.orgNo leading underscore
Moznet#mozilla_#channame:matrix.org@mozilla-irc:matrix.orgNo leading underscore
OFTC#_oftc_#channame:matrix.org@oftc-irc:matrix.org
Snoonet#_snoonet_#channame:matrix.org@snoonet-irc:matrix.org
hackint#channame:irc.hackint.org@irc_nickname:irc.hackint.org@appservice-irc:irc.hackint.orgHosted by hackint
GIMPNet#_gimpnet_#channame:matrix.org@gimpnet-irc:matrix.org
Foonetic#_foonetic_#channame:matrix.org@foonetic-irc:matrix.org
Rizon#_rizon_#channame:matrix.org@rizon-irc:matrix.org
EsperNet#_espernet_#channame:matrix.org@espernet-irc:matrix.org
PirateIRC#pirateirc_#channame:diasp.in@pirateirc:diasp.inHosted by Pirate Party India

Another nice-looking list is on the wiki.

The official IRC network (wish)list can be found here.

Non-bridged networks (wishlist)

The official IRC network wishlist can be found here.

matrix-appservice-irc

The software which runs the official matrix.org-hosted IRC bridges is at https://github.com/matrix-org/matrix-appservice-irc.

It has a Matrix room at #irc:matrix.org for both user questions and developer talk.

My question isn’t answered here. Where can I ask for help?

Irc bridges have a dedicated room at #irc:matrix.org for both user questions and developer talk.

All other bridges can be discussed at #bridges:matrix.org.

Frameworks

Python

python-matrix-bot-api (shawnanastasio)

@shawnanastasio:matrix.anastas.io said:

Hi all, sorry for the shameless self promotion, but I made a python client to easily create Matrix bots with:

Any feedback would be greatly appreciated!

Applications

Blogging

J (Luke Barnard)

There is “j”, which is a full-featured blogging system including comments.

Keywords (old, to be reworked)

This contains the keywords that were taught to mubot at some point. An update to mubot means this information is now “lost”. It is being reconstructed here, for the purpose of eventually integrating it into the FAQ/Directory properly.

3pid

In the context of Matrix, any identifier which is not a Matrix ID. This includes e-mail addresses, phone numbers, Facebook accounts, etc.

alias

balancing interop and privacy

[Slides] Matthew talks about the challenge of balancing interoperability and privacy: https://matrix.org/~matthew/2016-12-22%20Matrix%20Balancing%20Interop%20and%20Privacy.pdf

Code of Conduct

Riot

???

Matrix

This code of conduct outlines our expectations for participants within the Matrix community, as well as steps for reporting unacceptable behaviour. We are committed to providing a welcoming and inspiring community for all, and expect our code of conduct to be honoured. Anyone who violates this code of conduct may be banned from the community.

crypto export

The export of cryptographic technology and devices from the United States was severely restricted by U.S. law until 1992, but was gradually eased until 2000. Some restrictions still remain. https://en.wikipedia.org/wiki/Export_of_cryptography_from_the_United_States

desktop app

e2e implementation guide

emacs client

See https://fort.kickass.systems/git/rrix/matrix-client.git

exul slides

federation tester

Test your server by appending its domain to: http://matrix.org/federationtester/api/report?server_name=

gc

go-neb

Multi-purpose Matrix bot. https://github.com/matrix-org/go-neb

id

identity server

irc network list

ivar

https://github.com/torhve/ivar2

matrix on freenode

matrix-recorder

Okay, I think a first version is finally done: https://gitlab.com/argit/matrix-recorder - the idea is that the tool would allow you to keep a record of your conversations, as Riot does not yet allow you to export your message history in a format suitable for safekeeping.

migrating to postgres

mubot

https://github.com/davidar/hubot-matrix

#mubot:davidar.io

mxid

network list

olm

receipt

reindex

TIL that PostgreSQL may have internal fragmentation in the btrees used for indexes, and that can cause VACUUM FULL to make the database bigger… which can be solved by issuing a REINDEX DATABASE - https://matrix.to/#/!cURbafjkfsMDVwdRDQ:matrix.org/%2414835668811638615xXMYC:matrix.org

screen sharing

setting up federation

https://github.com/matrix-org/synapse#setting-up-federation has words on it.

slack bridge

Matrix-org

https://github.com/matrix-org/matrix-appservice-slack

kfatehi

https://github.com/kfatehi/matrix-appservice-slack

slack hook

See https://matrix.to/#/!svJUttHBtRMdXmEhEy:matrix.org/$14836112541869035fxcVU:matrix.org

synpurge

Utility script to Matrix room history purge room in Synapse https://github.com/aperezdc/synpurge. Synpurge has reached v4! https://pypi.python.org/pypi/synpurge/4

telegram bridge

matrigram

If anyone is interested in using a telegram bridge, we’d love to hear some feedback https://github.com/GalPressman/matrigram

telematrix (Sijmen Schoon)

https://github.com/SijmenSchoon/telematrix

those little circles

upgrade script

webrtc tutorial

Basics

https://www.html5rocks.com/en/tutorials/webrtc/basics/

Infrastructure

https://www.html5rocks.com/en/tutorials/webrtc/infrastructure/

xmpp bridge

matrix-xmpp-bridge

https://github.com/pztrn/matrix-xmpp-bridge

xmpptrix

https://github.com/SkaveRat/xmpptrix

yzord

Processing Queue

Things which should probably be added, but need to be reworked, or need a closer look.

(This section is mainly an artifact of me not being able to file or access issues offline.)

What happens if I mark a room as “direct chat”? Does it effect anything?

A shell script for tagging rooms

https://gist.github.com/turt2live/697d5b3781fb7ab7e11d704ea90e3dbe

There are a couple of community-written users guides linked to in this issue as well: element-hq/element-web#3308

hmm, right, I don’t think there’s the concept of an admin user on matrix

there is, but it is very limited you must enable it by editing your user row on the database and there is only two api two delete old history and old medias

is that documented somewhere?

yep: https://github.com/matrix-org/synapse/tree/master/docs/admin_api

https://matrix.to/#/!svJUttHBtRMdXmEhEy:matrix.org/%24149022212811cUBkh:orbstheorem.ch #bridges:matrix.org

i’m still wondering if our IPs are protected on Riot or not.. no one can obtain it right?

Only the server admin can see the IP (of course). Nobody else can, the ip is not propagated in any way. well, it is if you make a 1:1 call Oh right, that’s true. Voice and video calls are peer-to-peer, so of necessity the IPs have to be exchanged. Worse is that it sends all known interface addresses, including local (private) network addresses. Which is actually awesome if you’re actually placing a call to someone on the same private network. But also cause for (privacy) concerns. If it is of great concern, the solution is to neither place nor accept voice and video calls.

https://matrix.to/#/!cURbafjkfsMDVwdRDQ:matrix.org/%2414902634851380909LwydX:matrix.org #matrix:matrix.org

How to get my access token ?

https://matrix.to/#/#matrix:matrix.org/%2414902578321344171PDCNZ:matrix.org

Add #hello-matrix:matrix.org and hello-matrix.net

I found the icons missing after the nginx reverse proxy, any sample nginx config for riot-web?

FYI. It caused by X-Frame-Options set to deny. Now I use the SAMEORIGIN and problem solved.

https://matrix.to/#/!DgvjtOljKujDBrxyHk:matrix.org/%2414903176841958169Wkaps:matrix.org #riot:matrix.org

Add GCM replacements

Add here and to riot-android#1066