Matrix: Difference between revisions

From KDE Community Wiki
m (Unify Kirigami entry)
(add matrix community space link directly under Rooms heading)
(31 intermediate revisions by 10 users not shown)
Line 1: Line 1:
[https://www.matrix.org Matrix] is an open standard for interoperable, decentralised, real-time communications. KDE is officially using Matrix for collaboration within the community, superseding more antiquated and closed source services.  Matrix is an open protocol and network for decentralized communication, backed by an open standard and open source reference implementations for servers, clients, client SDKs, bridges, bots and more.  It provides all the features you would expect from a modern chat system: infinite scrollback, file transfer, typing notifications, read receipts, presence, search, push notifications, stickers, VoIP calling and conferencing, etc.  It even provides end-to-end encryption (based on Signal’s double ratchet algorithm) for when you want some privacy.
KDE is officially using Matrix for collaboration within the community, superseding more antiquated and closed-source services.


Furthermore, Matrix natively supports bridges to other protocols, such as IRC (the official KDE messaging channel). This means that you can use a Matrix client to join and use IRC channels like if they were Matrix rooms.  
[https://www.matrix.org Matrix] is an open protocol and network for decentralized communication, backed by an open standard and open source reference implementations for servers, clients, client SDKs, bridges, bots and more.  It provides all the features you would expect from a modern chat system: infinite scrollback, file transfer, typing notifications, read receipts, presence, search, push notifications, stickers, VoIP calling and conferencing, etc.  It even provides end-to-end encryption (based on Signal’s double ratchet algorithm) for when you want some privacy.
 
Furthermore, Matrix natively supports bridges to other protocols, such as IRC (the official KDE messaging channel). This means that you can use a Matrix client to join and use IRC channels like if they were Matrix rooms.
 
{{Tip|If you'd rather skip reading this long wiki page and just want to start with a list of popular and common matrix rooms, you'll be interested in the [https://matrix.to/#/!OTxETzuhBDbnPqBqbP:kde.org KDE Matrix Space] available at [https://webchat.kde.org/#/room/#kde-community:kde.org #kde-community:kde.org]!}}
 
== General Concepts ==
 
Matrix is a federated network, meaning anyone can host their own Matrix server (that is, a homeserver) and have it communicate with other Matrix servers. To register an account, you first need to find a suitable homeserver. The [https://app.element.io/#/welcome matrix.org homeserver] is the most popular one, and KDE provides its own homeserver too, [https://webchat.kde.org/#/welcome kde.org].
 
You do not need to create an account in the same homeserver a room is in to access it, e.g. creating an account on matrix.org doesn't stop you from visiting rooms in kde.org.
 
The KDE homeserver is temporarily closed for registration. You may register on [https://app.element.io/#/welcome matrix.org] or search for another homeserver, a good resource to check is the [https://joinmatrix.org/ public list of Matrix homeservers]. It is not a comprehensive list, so you might find other interesting homeservers elsewhere.
 
When you first create your account, you will be asked to provide a username. That username is then used to assign you a full username, which typically looks like this:
 
:@johndoe:matrix.org
 
The text that comes immediately after the @ is your user, in this case, johndoe. The text that comes immediately after the : is the homeserver, matrix.org.
 
Rooms follow a similar notation, but with #:
 
:<nowiki>#someroom:kde.org</nowiki>
 
Matrix also has the concept of [https://element.io/blog/spaces-blast-out-of-beta/ Spaces]. They work as a sort of aggregation of rooms, all under the same space, hence the name. By joining [https://matrix.to/#/!OTxETzuhBDbnPqBqbP:kde.org KDE's Space], you will find the whole list of KDE rooms available to you directly from the main screen in your Matrix client (if the client supports it), and you'll be free to join the rooms you want to check out. This makes for a very easy way to discover and manage your list of rooms, especially if you are on a different homeserver!


== Clients ==
== Clients ==
You can chat using your web browser and visiting [https://webchat.kde.org KDE's webchat] or you can use a desktop or mobile client. [https://matrix.org/docs/projects/clients-matrix Here is a list of clients for your desktop or mobile devices].
You can chat using your web browser by visiting [https://webchat.kde.org KDE's webchat] or the [https://app.element.io/#/welcome Matrix webchat], alternatively you can use a desktop or mobile client to log in to your account. [https://matrix.org/clients/ Check out a list of clients for your desktop or mobile devices].


KDE also features its own client, [https://apps.kde.org/neochat/ NeoChat].
KDE also features its own native Matrix client, [https://apps.kde.org/neochat/ NeoChat].


== Registering and Logging in ==
== Registering and Logging in ==
Line 13: Line 37:
'''THIS IS THE RECOMMENDED WAY OF REGISTERING YOUR ACCOUNT.'''
'''THIS IS THE RECOMMENDED WAY OF REGISTERING YOUR ACCOUNT.'''


Even if you plan on using a desktop or mobile client later, [https://webchat.kde.org/#/welcome register through the web chat] since it uses all the correct defaults to get a :kde.org account.
Registration on the kde.org server is temporarily disabled, even if you plan on using a desktop or mobile client later, [https://app.element.io/#/register register through the Matrix web chat] (or any other Matrix server). Even when registered in a different homeserver, you can still join the KDE Community web chat through there.


# Visit [https://webchat.kde.org KDE's online webchat]
# Visit [https://app.element.io/#/register Element online web chat]
# Locate the ''Create Account'' button. Press it. <br /> [[File:Riot upload 00.png|700px|center]]
# Click the ''Create Account'' button. <br /> [[File:Riot upload 00.png|700px|center]]
# Choose a cool nickname and set your password. You can include an email if you ever need to recover your password, but this is optional. Click ''Register''. <br />[[File:Kde-register.png|700px|center]]<br />Note: the dialog now includes a checkbox for agreement with the Privacy Policy and Terms and Conditions.
# Choose a cool nickname and set your password. You can optionally include an email address if you ever need to recover your password. Click ''Register''. <br />[[File:Kde-register.png|666px|center]]
<br />
# Now that you are logged in, you may now join the [https://matrix.to/#/!OTxETzuhBDbnPqBqbP:kde.org #kde-community] space.


That's it! You can start chatting with members of KDE's community.
That's it! Now, you can connect to [https://webchat.kde.org KDE's online webchat] and can start chatting with members of KDE's community.


==== Using the Element desktop client ====
==== Using the Element desktop client ====


Download the desktop client [https://element.io/get-started from Element's website]. APT repositories with Debian/Ubuntu packages are provided. Your mileage may vary for other distributions. The latest stable version number is listed on [https://github.com/vector-im/element-web/releases/latest Element's GitHub releases page] and is the version number you should aim for.
You may download the desktop client [https://element.io/get-started from Element's website].  
APT repositories with Debian/Ubuntu packages and a community-maintained flatpak on [https://flathub.org/apps/details/im.riot.Riot flathub] are also provided.  
You can also choose the latest stable version number listed at [https://github.com/vector-im/element-web/releases/latest Element's GitHub releases page].


Registration is the same process as the steps above.  
Registering here follows the same process as above.  


'''Homeserver URL''': '''https://kde.modular.im''' (if you would like a Matrix account on KDE's Modular homeserver)
'''Homeserver URL''': '''https://matrix-client.matrix.org'''


[[File:Web_registration_01.png|700px|center]]
[[File:Web_registration_01.png|700px|center]]


==== Using the Element client for mobile ====
==== Using the Element Client for Mobile ====


''Currently Element only supports having one account''
''Currently Element only supports having one account''


In Signin/Register select the ''Use custom server options (Advanced)'' option to set the following
Log in with either your username, email or phone under the '''I already have an account''' section. Make sure the homeserver on '''Where your conversations live''' points to '''matrix.org''', if you already have a kde.org home server account, make sure it it points to '''kde.org''' instead.


* Home server: https://kde.modular.im
[[File:Screenshot Riot.im kde settings.png|300px|center]]
* Identity server: https://vector.im (not required on Element(Android). Other OSes please confirm)
 
[[File:Screenshot Riot.im kde settings.png|500px|center]]


===== Android =====
===== Android =====
Line 53: Line 76:


== Rooms ==
== Rooms ==
Check back often as we will be adding new rooms as we go.
To start with a list of popular and common matrix rooms, you'll be interested in the [https://matrix.to/#/!OTxETzuhBDbnPqBqbP:kde.org KDE Matrix Space] available at [https://webchat.kde.org/#/room/#kde-community:kde.org #kde-community:kde.org]!


=== Welcome ===
The following is a collection of active rooms where KDE development and other activities happen. Some rooms are more active than others and you're welcome to browse through them. We add new rooms as they are formed.
 
==== Welcome ====
New to KDE? [https://webchat.kde.org/#/room/#kde-welcome:kde.org Start here and find out what this is all about].
New to KDE? [https://webchat.kde.org/#/room/#kde-welcome:kde.org Start here and find out what this is all about].


=== General KDE channel ===
==== General KDE channel ====


Share your experience with [https://webchat.kde.org/#/room/#kde:kde.org the KDE community].
Share your experience with [https://webchat.kde.org/#/room/#kde:kde.org the KDE community].


=== Plasma ===
==== Plasma ====


* Plasma Desktop: [https://webchat.kde.org/#/room/#plasma:kde.org Find out more about KDE's desktop environment here].
* Plasma Desktop: [https://webchat.kde.org/#/room/#plasma:kde.org Find out more about KDE's desktop environment here].
* Plasma Mobile: [https://webchat.kde.org/#/room/#plasmamobile:kde.org Plasma Mobile developers, users and other interested people]
* Plasma Mobile: [https://webchat.kde.org/#/room/#plasmamobile:kde.org Plasma Mobile developers, users and other interested people]


=== System applications, frameworks and other operating systems ===
==== System applications, frameworks and other operating systems ====


* [https://webchat.kde.org/#/room/#kirigami:kde.org Kirigami]
* [https://webchat.kde.org/#/room/#kirigami:kde.org Kirigami]
Line 76: Line 101:
* [https://webchat.kde.org/#/room/#kde-windows:kde.org KDE Apps for Windows]
* [https://webchat.kde.org/#/room/#kde-windows:kde.org KDE Apps for Windows]


=== Distribution-centered KDE rooms ===
==== Distribution-centered KDE rooms ====


* [https://webchat.kde.org/#/room/#fedora-kde:kde.org Fedora KDE user]
* [https://webchat.kde.org/#/room/#debian-kde:matrix.org Debian KDE]
* [https://webchat.kde.org/#/room/#kde-neon:kde.org KDE neon user support channel]
* [https://webchat.kde.org/#/room/#fedora-kde:kde.org Fedora KDE]
* [https://webchat.kde.org/#/room/#kde-neon-users:kde.org KDE neon offtopic room]
* [https://webchat.kde.org/#/room/#opensuse-kde:kde.org openSUSE KDE]
* [https://webchat.kde.org/#/room/#kubuntu:libera.chat Kubuntu]
* [https://webchat.kde.org/#/room/#kubuntu-es:libera.chat Spanish Kubuntu community]
* [https://webchat.kde.org/#/room/#ubuntustudio:kde.org Ubuntu Studio]
* [https://webchat.kde.org/#/room/#ubuntustudio-offtopic:kde.org Ubuntu Studio offtopic room]
* [https://webchat.kde.org/#/room/#gentoo-kde:libera.chat Gentoo KDE]
* [https://webchat.kde.org/#/room/#gentoo-kde:libera.chat Gentoo KDE]
* [https://webchat.kde.org/#/room/#kaosx:kde.org KaOS]
* [https://webchat.kde.org/#/room/#kde-freebsd:kde.org KDE for FreeBSD]
* [https://webchat.kde.org/#/room/#kde-freebsd:kde.org KDE for FreeBSD]
* [https://webchat.kde.org/#/room/#kaosx:kde.org KaOS]
* [https://webchat.kde.org/#/room/#kde-neon:kde.org KDE neon]
* [https://webchat.kde.org/#/room/#kde-neon-users:kde.org KDE neon (Offtopic Room)]
* [https://webchat.kde.org/#/room/#kubuntu:libera.chat Kubuntu]
* [https://webchat.kde.org/#/room/#kubuntu-es:libera.chat Kubuntu (Spanish Community)]
* [https://webchat.kde.org/#/room/#mageia-kde:libera.chat Mageia]
* [https://webchat.kde.org/#/room/#mageia-kde:libera.chat Mageia]
* [https://webchat.kde.org/#/room/#debian-kde:matrix.org Debian KDE]
* [https://webchat.kde.org/#/room/#opensuse-kde:kde.org openSUSE KDE]
* [https://webchat.kde.org/#/room/#ubuntustudio:kde.org Ubuntu Studio]
* [https://webchat.kde.org/#/room/#ubuntustudio-offtopic:kde.org Ubuntu Studio (Offtopic Room)]


=== For (potential) contributors ===
==== For (potential) contributors ====


* Development: [https://webchat.kde.org/#/room/#kde-devel:kde.org KDE developers discuss technical stuff here].
* Development: [https://webchat.kde.org/#/room/#kde-devel:kde.org KDE developers discuss technical stuff here].
Line 99: Line 124:
* KDE Multimedia: [https://webchat.kde.org/#/room/#kde-multimedia:kde.org KDE Multimedia developers].
* KDE Multimedia: [https://webchat.kde.org/#/room/#kde-multimedia:kde.org KDE Multimedia developers].
* KDE Web: [https://webchat.kde.org/#/room/#freenode_#kde-www:matrix.org Managing websites and displaying the best the KDE Community has to offer.]
* KDE Web: [https://webchat.kde.org/#/room/#freenode_#kde-www:matrix.org Managing websites and displaying the best the KDE Community has to offer.]
* KDE Games: [https://webchat.kde.org/#/room/#kde-games:kde.org For the suite of KDE games]
* Localization: [https://webchat.kde.org/#/room/#kde-i18n:matrix.org The main localization team for all your translation needs].
* Localization: [https://webchat.kde.org/#/room/#kde-i18n:matrix.org The main localization team for all your translation needs].
* Bugsquad: [https://webchat.kde.org/#/room/#kde-bugs:kde.org The main room for bug reporters, testers and triagers].
* Bugsquad: [https://webchat.kde.org/#/room/#kde-bugs:kde.org The main room for bug reporters, testers and triagers].
* Flatpak packaging: [https://matrix.to/#/#flatpak:kde.org To assist in packaging KDE apps as flatpaks].


=== Applications ===
==== Applications ====


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


* Multimedia: [https://webchat.kde.org/#/room/#kde-multimedia:kde.org For everything multimedia]
* Akonadi: [https://webchat.kde.org/#/room/#akonadi:kde.org The personal information management framework]
* Games: [https://webchat.kde.org/#/room/#kde-games:matrix.org For the suite of KDE games]
* Amarok (still being ported): [https://webchat.kde.org/#/room/#amarok:libera.chat A classic music player]
* Kdenlive: [https://webchat.kde.org/#/room/#kdenlive:kde.org The room where we discuss KDE's professional video editor].
* Artikulate: [https://webchat.kde.org/#/room/#kde-artikulate:kde.org Train your pronunciation!]
* KDE Partition Manager: [https://webchat.kde.org/#/room/#partitionmanager:kde.org KDE Partition Manager and KPMcore].
* Basket: [https://webchat.kde.org/#/room/#basket:kde.org For discussing the multi-purpose note-taking application].
* Basket: [https://webchat.kde.org/#/room/#basket:kde.org For discussing the multi-purpose note-taking application].
* Subtitle Composer: [https://webchat.kde.org/#/room/#subtitlecomposer:kde.org The configurable subtitle editor/translator]
* Calligra: [https://webchat.kde.org/#/room/#calligra:libera.chat Previously known as the KOffice Suite]
* Latte Dock: [https://webchat.kde.org/#/room/#latte-dock:kde.org A dock for the masses]
* Artikulate: [https://webchat.kde.org/#/room/#kde-artikulate:kde.org Train your pronunciation!]
* Cantor: [https://webchat.kde.org/#/room/#cantor:kde.org Frontend for mathematical software]
* Cantor: [https://webchat.kde.org/#/room/#cantor:kde.org Frontend for mathematical software]
* Kirogi: [https://webchat.kde.org/#/room/#kde-kirogi:kde.org Control drones]
* Discover: [https://webchat.kde.org/#/room/#plasma-discover:kde.org KDE software centre]
* Partition Manager: [https://webchat.kde.org/#/room/#partitionmanager:kde.org The official KDE partition manager]
* Marble: [https://webchat.kde.org/#/room/#marble:libera.chat The map/globe viewer with OpenStreetMap integration]
* KPhotoAlbum: [https://webchat.kde.org/#/room/#kphotoalbum:kde.org Manage your photo collection]
* Calligra: [https://webchat.kde.org/#/room/#calligra:libera.chat Previously known as the KOffice Suite]
* Yakuake: [https://webchat.kde.org/#/room/#yakuake:kde.org A fancy drop-down terminal]
* GCompris: [https://webchat.kde.org/#/room/#gcompris:kde.org Educational software for children]
* GCompris: [https://webchat.kde.org/#/room/#gcompris:kde.org Educational software for children]
* KDE Connect: [https://webchat.kde.org/#/room/#kdeconnect:kde.org Connects all your devices]
* KDE Partition Manager: [https://webchat.kde.org/#/room/#partitionmanager:kde.org KDE Partition Manager and KPMcore].
* KEXI: [https://webchat.kde.org/#/room/#kexi:libera.chat Manage your databases]
* KMyMoney: [https://webchat.kde.org/#/room/#kmymoney:libera.chat Manage your finances]
* KMyMoney: [https://webchat.kde.org/#/room/#kmymoney:libera.chat Manage your finances]
* Amarok (still being ported): [https://webchat.kde.org/#/room/#amarok:libera.chat A classic music player]
* KPhotoAlbum: [https://webchat.kde.org/#/room/#kphotoalbum:kde.org Manage your photo collection]
* Okular: [https://webchat.kde.org/#/room/#okular:kde.org The most powerful OSS PDF reader]
* KStars: [https://webchat.kde.org/#/room/#kstars:kde.org View constellations from your computer]
* KStars: [https://webchat.kde.org/#/room/#kstars:kde.org View constellations from your computer]
* Akonadi: [https://webchat.kde.org/#/room/#akonadi:kde.org The personal information management framework]
* Kalendar: [https://webchat.kde.org/#/room/#kalendar:kde.org A calendar application using Akonadi to sync with external services]
* Kate: [https://webchat.kde.org/#/room/#kate:libera.chat The advanced plain text editor]
* Kdenlive: [https://webchat.kde.org/#/room/#kdenlive:kde.org The room where we discuss KDE's professional video editor].
* Kirogi: [https://webchat.kde.org/#/room/#kde-kirogi:kde.org Control drones]
* Kontact: [https://webchat.kde.org/#/room/#kontact:kde.org The Akonadi-based PIM suite]
* Kontact: [https://webchat.kde.org/#/room/#kontact:kde.org The Akonadi-based PIM suite]
* Konversation: [https://webchat.kde.org/#/room/#konversation:matrix.org A user-friendly IRC client]
* Konversation: [https://webchat.kde.org/#/room/#konversation:matrix.org A user-friendly IRC client]
* Kate: [https://webchat.kde.org/#/room/#kate:libera.chat The advanced plain text editor]
* Latte Dock: [https://webchat.kde.org/#/room/#latte-dock:kde.org A dock for the masses]
* KEXI: [https://webchat.kde.org/#/room/#kexi:libera.chat Manage your databases]
* Marble: [https://webchat.kde.org/#/room/#marble:libera.chat The map/globe viewer with OpenStreetMap integration]
* KDE Connect: [https://webchat.kde.org/#/room/#kdeconnect:kde.org Connects all your devices]
* Okular: [https://webchat.kde.org/#/room/#okular:kde.org The most powerful OSS PDF reader]
* Kalendar: [https://webchat.kde.org/#/room/#kalendar:kde.org A calendar application using Akonadi to sync with external services]
* Partition Manager: [https://webchat.kde.org/#/room/#partitionmanager:kde.org The official KDE partition manager]
* Subtitle Composer: [https://webchat.kde.org/#/room/#subtitlecomposer:kde.org The configurable subtitle editor/translator]
* Yakuake: [https://webchat.kde.org/#/room/#yakuake:kde.org A fancy drop-down terminal]


=== Events and goals ===
==== Events and goals ====


* [https://webchat.kde.org/#/room/#kde-soc:kde.org KDE Season of Code]
* [https://webchat.kde.org/#/room/#kde-soc:kde.org KDE Season of Code]
Line 147: Line 173:
* [https://webchat.kde.org/#/room/#kde-is-privacy:kde.org KDE is Privacy]
* [https://webchat.kde.org/#/room/#kde-is-privacy:kde.org KDE is Privacy]


=== Local communities ===
==== Local communities ====


* [https://webchat.kde.org/#/room/#kde_ru:kde.org KDE Russia]
* [https://webchat.kde.org/#/room/#kde_ru:kde.org KDE Russia]
* [https://webchat.kde.org/#/room/#kde-brasil:kde.org KDE Brazil]
* [https://webchat.kde.org/#/room/#kde-brasil:kde.org KDE Brazil]
* [https://webchat.kde.org/#/room/#kdebrasil-traducao:kde.org KDE Brazil l10n]
* [https://webchat.kde.org/#/room/#jp:kde.org KDE Japan]
* [https://webchat.kde.org/#/room/#jp:kde.org KDE Japan]
* [https://webchat.kde.org/#/room/#freenode_#kde-nl:matrix.org KDE Netherlands]
* [https://webchat.kde.org/#/room/#freenode_#kde-nl:matrix.org KDE Netherlands]
Line 176: Line 203:
* Leave room again
* Leave room again
* Join via local alias e.g. /join #YOUR_CHANNEL
* Join via local alias e.g. /join #YOUR_CHANNEL
* Everyone can now join your room via the #YOUR_CHANNEL locally and #YOUR_CHANNEL:kde.org in the Matrix
* Everyone can now join your room using the #YOUR_CHANNEL locally and #YOUR_CHANNEL:kde.org in Matrix


Where you can setup the alias depends on the client you use. For webchat.kde.org it'll look a bit like this:
You can set up your alias depending on the client you choose. For webchat.kde.org it looks like this:


[[File:Riot-room-alias-1.png|500px|center]]
[[File:Riot-room-alias-1.png|500px|center]]
Line 187: Line 214:
[[File:Riot-room-flairs.png|500px|center]]
[[File:Riot-room-flairs.png|500px|center]]


== Why should I use the Matrix IRC bridge? ==


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. This can also be achieved by using an IRC bouncer, but Matrix has several advantages:
<br/>
=Frequently Asked Questions=
<br/>
 
== 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.


* Matrix provides unlimited chat history, an IRC bouncer doesn't.
Alternatively, in the room settings, the Share Room option will generate a link similar to this:
* The Matrix IRC bridge is much easier to setup than an IRC bouncer.
 
* The Matrix reference client [https://element.io/ (Element)] can be used from smartphones.
:https://matrix.to/#/#someroom:somehomeserver.org


== How does it compare with IrcsomeBot? ==
== 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 the following shortcomings:
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 [https://community.kde.org/Infrastructure/IRC#Telegram_Bridge setup the bridge] between each room/channel. Matrix instead supports out of the box any freenode channel (and also other IRC networks).
* A KDE sysadmin needs to [https://community.kde.org/Infrastructure/IRC#Telegram_Bridge 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 a 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 (<code>/whois</code>, <code>/query</code>, etc.). In fact, they won't even know that you are using the Matrix bridge instead of a classic IRC client.
* 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 (<code>/whois</code>, <code>/query</code>, etc.). In fact, they won't even know that you are using the Matrix bridge instead of a classic IRC client.


== How do I join an IRC channel? ==
== Why should I join IRC channels 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.
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:


[[File:KDE Riot.png|700px|center]]
* 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 [https://element.io/ (Element)] can be used from smartphones.


If your favorite matrix client doesn't have a similar feature, you can join any freenode channel by joining the following Matrix room:
== How do I join an IRC channel using Matrix? ==


<pre>
You can search or browse IRC channels from Element. Just type the name of the channel you want to join and you are done.
#_freenode_#<irc_channel_name>:kde.org
</pre>


For example, if you want to join the <tt>#kde-devel</tt> IRC channel, just type:
[[File:KDE Riot.png|700px|center]]


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


== How do I change my IRC nickname? ==
== How do I change my IRC nickname? ==
Line 233: Line 266:
— where nickname is optional assuming you are identifying for your current nickname.
— 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 <code>@freenode-irc:kde.org</code> you can use the <tt>!storepass <string></tt> command to save a string that is sent in PASS command when your IRC-presence connects.
To make the bridge store your credentials and log in automatically, in direct chat with the <code>@freenode-irc:kde.org</code> you can use the <tt>!storepass <string></tt> command to save a string that is sent through the PASS command when your IRC-presence connects.


With freenode you can use:
With freenode you can use:
Line 264: Line 297:
[https://github.com/matrix-org/matrix-appservice-irc/wiki/End-user-FAQ Check out the FAQ maintained upstream].
[https://github.com/matrix-org/matrix-appservice-irc/wiki/End-user-FAQ Check out the FAQ maintained upstream].


You can also ask questions related to matrix in #kde-matrix-support / #kde-matrix-support:kde.org
You can also ask questions related to Matrix over the [https://webchat.kde.org/#/room/#kde-matrix-support:kde.org #kde-matrix-support] room.

Revision as of 12:01, 15 February 2023

KDE is officially using Matrix for collaboration within the community, superseding more antiquated and closed-source services.

Matrix is an open protocol and network for decentralized communication, backed by an open standard and open source reference implementations for servers, clients, client SDKs, bridges, bots and more. It provides all the features you would expect from a modern chat system: infinite scrollback, file transfer, typing notifications, read receipts, presence, search, push notifications, stickers, VoIP calling and conferencing, etc. It even provides end-to-end encryption (based on Signal’s double ratchet algorithm) for when you want some privacy.

Furthermore, Matrix natively supports bridges to other protocols, such as IRC (the official KDE messaging channel). This means that you can use a Matrix client to join and use IRC channels like if they were Matrix rooms.

 
Tip
If you'd rather skip reading this long wiki page and just want to start with a list of popular and common matrix rooms, you'll be interested in the KDE Matrix Space available at #kde-community:kde.org!


General Concepts

Matrix is a federated network, meaning anyone can host their own Matrix server (that is, a homeserver) and have it communicate with other Matrix servers. To register an account, you first need to find a suitable homeserver. The matrix.org homeserver is the most popular one, and KDE provides its own homeserver too, kde.org.

You do not need to create an account in the same homeserver a room is in to access it, e.g. creating an account on matrix.org doesn't stop you from visiting rooms in kde.org.

The KDE homeserver is temporarily closed for registration. You may register on matrix.org or search for another homeserver, a good resource to check is the public list of Matrix homeservers. It is not a comprehensive list, so you might find other interesting homeservers elsewhere.

When you first create your account, you will be asked to provide a username. That username is then used to assign you a full username, which typically looks like this:

@johndoe:matrix.org

The text that comes immediately after the @ is your user, in this case, johndoe. The text that comes immediately after the : is the homeserver, matrix.org.

Rooms follow a similar notation, but with #:

#someroom:kde.org

Matrix also has the concept of Spaces. They work as a sort of aggregation of rooms, all under the same space, hence the name. By joining KDE's Space, you will find the whole list of KDE rooms available to you directly from the main screen in your Matrix client (if the client supports it), and you'll be free to join the rooms you want to check out. This makes for a very easy way to discover and manage your list of rooms, especially if you are on a different homeserver!

Clients

You can chat using your web browser by visiting KDE's webchat or the Matrix webchat, alternatively you can use a desktop or mobile client to log in to your account. Check out a list of clients for your desktop or mobile devices.

KDE also features its own native Matrix client, NeoChat.

Registering and Logging in

On the web

THIS IS THE RECOMMENDED WAY OF REGISTERING YOUR ACCOUNT.

Registration on the kde.org server is temporarily disabled, even if you plan on using a desktop or mobile client later, register through the Matrix web chat (or any other Matrix server). Even when registered in a different homeserver, you can still join the KDE Community web chat through there.

  1. Visit Element online web chat
  2. Click the Create Account button.
  3. Choose a cool nickname and set your password. You can optionally include an email address if you ever need to recover your password. Click Register.
  4. Now that you are logged in, you may now join the #kde-community space.

That's it! Now, you can connect to KDE's online webchat and can start chatting with members of KDE's community.

Using the Element desktop client

You may download the desktop client from Element's website. APT repositories with Debian/Ubuntu packages and a community-maintained flatpak on flathub are also provided. You can also choose the latest stable version number listed at Element's GitHub releases page.

Registering here follows the same process as above.

Homeserver URL: https://matrix-client.matrix.org

Using the Element Client for Mobile

Currently Element only supports having one account

Log in with either your username, email or phone under the I already have an account section. Make sure the homeserver on Where your conversations live points to matrix.org, if you already have a kde.org home server account, make sure it it points to kde.org instead.

Android

The Element client is available from Google Play and F-Droid.

iOS

There is also a client for iOS available from Apple's App Store.

Plasma Mobile

On Plasma Mobile you can use NeoChat.

Rooms

To start with a list of popular and common matrix rooms, you'll be interested in the KDE Matrix Space available at #kde-community:kde.org!

The following is a collection of active rooms where KDE development and other activities happen. Some rooms are more active than others and you're welcome to browse through them. We add new rooms as they are formed.

Welcome

New to KDE? Start here and find out what this is all about.

General KDE channel

Share your experience with the KDE community.

Plasma

System applications, frameworks and other operating systems

Distribution-centered KDE rooms

For (potential) contributors

Applications

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

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.