Wiki source code of Element Messenger

Version 19.1 by Thomas Coelho (local) on 2026/03/06 13:44

Hide last authors
Thomas Coelho (local) 15.1 1 {{warning}}
Thomas Coelho (local) 16.2 2 The Element Messenger is in testing. You can try it and report problems or ask questions. Currently voice and video calls are untested. The service can be taken down and your data (chats) can be deleted without notice.
Thomas Coelho (local) 15.1 3 {{/warning}}
Thomas Coelho 2.2 4
Thomas Coelho (local) 15.1 5 {{warning}}
Thomas Coelho (local) 18.1 6 Because this system uses end-to-end encryption, you have to backup your encryption key. This is important to make your  communication private without a backdoor.
Thomas Coelho (local) 15.1 7 {{/warning}}
Thomas Coelho (local) 13.1 8
Thomas Coelho 8.2 9 {{toc/}}
10
Thomas Coelho 1.1 11 = What it is =
12
Thomas Coelho 1.2 13 Element is an implementation of the open Matrix protocol. Matrix is a messenger protocol with the same intend like What's app, also with features from Mattermost. As the main differences is, it is self hosted and federated (like email). This means, we run the server in our server room and you can communicate with people from other Matrix instances.
14
15 == Glossary ==
16
Thomas Coelho 2.1 17 There many names involved we should clear out
Thomas Coelho 1.2 18
Thomas Coelho 1.3 19 * Matrix: The open communications protocol
20 * Element: The main developer of your software stack ([[Element.io>>https://element.io]])
Thomas Coelho 2.1 21 * Element-web: The Matrix Web client
22 * Element X: The recommended mobile app
23 * Synapse: The Matrix server backend
24 * MAS: Matrix Authentication Server - Backend Managing the Matrix Users
25
Thomas Coelho (local) 17.1 26 == Anatomy of a matrix address ==
Thomas Coelho (local) 16.2 27
Thomas Coelho (local) 17.1 28 Matrix addresses are different then email addresses. This is important to lookup other users:
29
30 **@username:homeserver**
31
32 For example: @itptest:itp.uni-frankfurt.de
33
Thomas Coelho 2.1 34 = Where to start =
35
Thomas Coelho 5.3 36 Starting is quite easy: Go to our Element-Web Client [[ITP Element-Web>>https://element.itp.uni-frankfurt.de]]
Thomas Coelho 3.2 37
Thomas Coelho 5.2 38 [[image:1771233799504-920.png]]
Thomas Coelho 4.2 39
Thomas Coelho 5.2 40 ITP Users and other users select select "Sign In".
41
Thomas Coelho 6.2 42 Then you have to choose your "Home Server". The Element Web Client is independent from Matrix server. Click on continue, the ITP Matrix Service is preconfigured.
Thomas Coelho 5.4 43
Thomas Coelho 6.2 44 [[image:1771234068639-516.png]]
Thomas Coelho 5.4 45
Thomas Coelho 6.3 46 Then you will be redirected to MAS, the Matrix Authentication Service. This service manages the access to Matrix.
47
Thomas Coelho 7.2 48
Thomas Coelho (local) 9.2 49 You will be redirected to our SSO Login "Authentic". Enter your ITP creadentials
Thomas Coelho 7.5 50
Thomas Coelho 9.1 51 There you have to confirm your user and your have successfully login in. The Element Session will normally not expire.
Thomas Coelho 8.2 52
Thomas Coelho (local) 15.2 53 = Backup your encryption key (important!) =
54
55 After you have sent your first chat message, encryption is activated and you will see the this pop up:
56
57 [[image:1772184851421-817.png]]
58
59 Click on continue.
60
61 The recovery section is marked with a red dot. Click on the button "Setup recovery".
62
63 Follow the guide and store the displayed key in a secure place (eg. password manager like keypass). If your are logged out from your last session, this is the only way the regain access to your encrypted chats.
64
Thomas Coelho 8.3 65 = External User =
66
Thomas Coelho (local) 15.2 67 == Users with a different Matrix home server ==
Thomas Coelho 8.5 68
Thomas Coelho (local) 16.1 69 Matrix is a federated service. You can communicate with any other Matrix user in the world. The HRZ offers an unsupported matrix instance ([[HRZ Matrix Server>>https://element.uni-frankfurt.de]]). Communicating with university members is straight forward.
Thomas Coelho 8.5 70
Thomas Coelho 8.7 71 == People without Matrix access ==
Thomas Coelho 8.6 72
Thomas Coelho (local) 9.4 73 People with no other option can be invited to enroll to Authentik. Please ask Support for an invitation key.
Thomas Coelho 8.7 74
75 = Mobile Apps =
76
77 For sure Element is also available for iOS and Android. Please install "Element X" from your app store. Attention: There is also an "Element Classic" which is deprecated and does not work with MAS.
78
79 To setup the mobile app go to element web and click on the avatar icon in the left upper corner. Then choose "link new device". A QR code and instruction how to scan this with your mobile app.
80
81 = Desktop Apps =
82
Thomas Coelho (local) 12.1 83 On our managed ITP machines, the desktop application "Element" is installed. This is basically a wrapped version off the web client, which uses the Electron frame work. It has some features the web app does not offer, like full text search trough your chats.
Thomas Coelho 8.7 84
Thomas Coelho (local) 18.2 85 = Special Features =
Thomas Coelho 8.7 86
Thomas Coelho (local) 18.2 87 == Latex Formula Rendering ==
88
Thomas Coelho (local) 18.4 89 It's declared as experimental feature. In the Desktop App you can add a configuration file in JSON format.
Thomas Coelho (local) 18.2 90
Thomas Coelho (local) 18.4 91 {{code language="bash"}}
92 cd ~/.config/Element
93 {{/code}}
94
95 Create a file "config.json" with the following content:
96
97 {{code language="json"}}
98 {
99 "features": {
100 "feature_latex_maths": true
101 }
102 }
103
104 {{/code}}
105
106 In the web client this is also enabled.
107
Thomas Coelho (local) 19.1 108 You can render Latex with a surrounding $ or $$ for inline or block setting. See [[Documentation>>https://github.com/element-hq/element-web/blob/develop/docs/labs.md]]