Matrix

From KDE Community Wiki
Revision as of 11:19, 20 July 2023 by Redstrate (talk | contribs) (Throw away the over-documentation of what Matrix is, and how to use it. Re-org the other sections)

KDE is officially using Matrix for collaboration within the community. Matrix is an open protocol and network for decentralized communication. It provides all the features you would expect from a modern chat system: infinite scrollback, file transfer, typing notifications, read receipts, etc. It even provides end-to-end encryption for privacy (for private conversations).

Furthermore, Matrix natively supports bridges to other protocols, such as IRC where KDE also has channels. This means that you can use a Matrix client to join and use IRC channels as if they were Matrix rooms.

Getting Started

See the "Try Matrix" page created by the Matrix Foundation, which has a walk-through of how to start chatting with Matrix. We have our own instance of Element Web hosted at webchat.kde.org.

 
Tip
If your Matrix client supports browsing spaces (like Element) then you can join the KDE Matrix Space which lets you join it's rooms easily.


General channels

Name Description
KDE New Contributors Ask questions about contributing to KDE.
KDE Community Share your experience with KDE!

Plasma

Name Description
Plasma Desktop Find out more about KDE's desktop environment here.
Plasma Mobile Plasma Mobile developers, users and other interested people.

System applications, frameworks and other operating systems

Name Description
Kirigami QML based Convergent User Interface framework.
KWin KWin development channel.
KDE Android KDE software on Android.
Maui Project A free and modular front-end framework for developing user experiences.
KDE Mac KDE software on macOS,.
KDE Windows KDE software on Windows.

Distribution-centered KDE rooms

Name Description
Debian KDE KDE software on Debian.
Fedora KDE KDE software on Fedora.
Gentoo KDE KDE software on Gentoo.
KaOS KDE software on KaOS.
KDE for FreeBSD KDE software on FreeBSD.
KDE neon KDE Neon development.
KDE neon (Offtopic Room) User support for KDE Neon.
Kubuntu KDE software on Kubuntu.
Kubuntu (Spanish Community) Spanish-speaking community on Kubuntu.
Mageia KDE software on Mageia.
openSUSE KDE KDE software on openSUSE.
Ubuntu Studio Ubuntu Studio development.
Ubuntu Studio Café Off-topic Ubuntu Studio chat.

For (potential) contributors

Name Description
KDE Development KDE developers discuss technical stuff here.
KDE Visual Design Group Visual designers and Graphic artists discuss the look and feel of KDE software here.
KDE Promo The people from the work group that does promotion and communication with the outside world hang out here.
KDE Multimedia KDE Multimedia developers.
KDE www Managing websites and displaying the best the KDE Community has to offer.
KDE Games For the suite of KDE games.
Localization The main localization team for all your translation needs.
KDE Bugsquad The main room for bug reporters, testers and triagers.
Packaging KDE Flatpaks To assist in packaging KDE apps as flatpaks.

Applications

Here is a list of individual applications that have their own Matrix rooms:

Name Description
Akonadi The personal information management framework.
Amarok A classic music player.
Artikulate Train your pronunciation!
Basket For discussing the multi-purpose note-taking application.
Calligra Previously known as the KOffice Suite.
Cantor Frontend for mathematical software.
Discover KDE software centre.
GCompris Educational software for children.
KDE Connect Connects all your devices.
KDE Partition Manager KDE Partition Manager and KPMcore.
KEXI Manage your databases.
KMyMoney Manage your finances.
KPhotoAlbum Manage your photo collection.
KStars View constellations from your computer.
Kalendar A calendar application using Akonadi to sync with external services.
Kate The advanced plain text editor.
Kdenlive The room where we discuss KDE's professional video editor.
Kirogi Control drones.
Kontact The Akonadi-based PIM suite.
Konversation A user-friendly IRC client.
Latte Dock A dock for the masses.
Marble The map/globe viewer with OpenStreetMap integration.
Okular The most powerful open-source PDF reader.
Partition Manager The official KDE partition manager.
Subtitle Composer The configurable subtitle editor/translator.
Yakuake A fancy drop-down terminal.
Dolphin A file manager and KIO related subjects.

Events and goals

Local communities

How to Add Your Existing IRC Channel as Room

Note

This only needs to be done once by an IRC operator. After that all users may use the more convenient local room name to join.


  • /join #_freenode_#YOUR_CHANNEL:kde.org
  • On the IRC side you need to OP your matrix user, so either use a temporary nick on Matrix, or add multiple nicks to your IRC identity and use a different one on Matrix and IRC, or have a fellow OP give you OP privileges
  • Setup a local alias for kde.org via the matrix room settings
  • Leave room again
  • Join via local alias e.g. /join #YOUR_CHANNEL
  • Everyone can now join your room using the #YOUR_CHANNEL locally and #YOUR_CHANNEL:kde.org in Matrix

You can set up your alias depending on the client you choose. For webchat.kde.org it looks like this:

You may additionally want to mark the room as published in the directory (so one can search for it) and set the KDE flair +kde:kde.org (so a fancy KDE flair will get shown; currently not set up). Both settings on webchat.kde.org are immediately after the room settings where you created the local room alias.



Frequently Asked Questions


I already have an account in the default Matrix homeserver. How do I access the KDE server and rooms with it?

After logging in to Element, you can click the compass icon next to the search bar to open the Explore Rooms dialog, click on Matrix Rooms, Add New Server..., then just type "kde.org". Now you should be able to browse the list of rooms in the KDE homeserver.

How do I create shareable links to Matrix rooms?

You can create shareable links by typing their full name in https://go.kde.org/matrix.

Alternatively, in the room settings, the Share Room option will generate a link similar to this:

https://matrix.to/#/#someroom:somehomeserver.org

How does the IRC integration in Matrix compare with IrcsomeBot?

IrcsomeBot is a Telegram bot that can bridge a Telegram group with an IRC channel. However there are a few shortcomings:

  • A KDE sysadmin needs to setup the bridge between each room/channel. Matrix instead supports out of the box any freenode/libera.chat channel (and other IRC networks).
  • IrcsomeBot is the only nickname that joins the IRC channel and forwards the messages sent from Telegram on behalf of their senders. Matrix instead performs native bridging between the two protocols and creates a real IRC user that joins the IRC channel. Other people will be able to keep the usual IRC workflow with your bridged nickname (/whois, /query, etc.). In fact, they won't even know that you are using the Matrix bridge instead of a classic IRC client.

Why should I join IRC channels using Matrix?

Your IRC nickname will be available 24/7 and other people will be able to ping or contact you even if you are away from your computer. While this can also be achieved using an IRC bouncer, Matrix has several advantages over this:

  • Matrix provides unlimited chat history, an IRC bouncer does not.
  • The Matrix IRC bridge is much easier to setup than an IRC bouncer.
  • The Matrix reference client (Element) can be used from smartphones.

How do I join an IRC channel using Matrix?

You can search or browse IRC channels from Element. Just type the name of the channel you want to join and you are done.

By default, Matrix rooms which have public addresses and were published in the homeserver will display the default address: #roomname:homeserver.org, even if they have an IRC bridge. Some of them have aliases with IRC channels: attempting to join #freenode_#kde-i18n:matrix.org or #kde-i18n:libera.chat will redirect you to #kde-i18n:kde.org, for instance.

How do I change my IRC nickname?

By default, the IRC bridge will use your matrix display name to generate an IRC nickname (ending with -M). If you don't like the default nickname, you can change it by sending the following command to the @freenode-irc:kde.org bot (you will need first to start a private conversation with the bot):

!nick <your_favorite_irc_nickname>

How do I join an IRC channel that requires registered nicknames?

Start by opening a direct chat with NickServ. For freenode, that's @_freenode_NickServ:kde.org. Then send it a message of format:

identify [<nickname>] <password>

— where nickname is optional assuming you are identifying for your current nickname.

To make the bridge store your credentials and log in automatically, in direct chat with the @freenode-irc:kde.org you can use the !storepass <string> command to save a string that is sent through the PASS command when your IRC-presence connects.

With freenode you can use:

!storepass nickname:password

How do I change my away status?

The @freenode-irc:kde.org bot accepts raw IRC commands. To set the away status use:

!cmd AWAY <away_message>

for example:

!cmd AWAY Sleeping

To remove the away status just use:

!cmd AWAY

Other questions?

Check out the FAQ maintained upstream.

You can also ask questions related to Matrix over the #kde-matrix-support room.