Frequently Asked Questions
Element General
Can spaces be deleted?
Spaces in Matrix are just rooms with some extra metadata. You can delete them the same way you delete rooms. If you are an EMS admin, see How do I delete a room or a space?
How do I enable guest users in a room?
Set the following settings:
- Security & Privacy -> Encryption -> Encrypted: Off 1
- Security & Privacy -> Access: Public
- Security & Privacy -> Access -> Show advanced -> Enable guest access: On
- Security & Privacy -> Who can read history: Anyone
Guest users only work if a native user on the default homeserver configured in your client is a member of the room. For example, to join a room on your EMS server as a guest using the client at https://app.element.io/, an account on the matrix.org homeserver must be a member of the room.
1 Guest users will technically work with encryption enabled, but guests will not be able to read any messages as they do not have the keys to decrypt them.
It's not recommended to add encryption to public rooms. Anyone can find and join public rooms, so anyone can read messages in them. You'll get none of the benefits of encryption, and you won't be able to turn it off later. Encrypting messages in a public room will make receiving and sending messages slower.
How do I get my access token?
The access token grants full access to your Matrix account. Do not share it with anyone.
- Open Element Settings
- Click
Help & About
- At the bottom, under
Advanced
, clickAccess Token
- Copy your token
How do I link to my space outside of my Element Web?
Spaces are just rooms, so you can link to a space the same way you would a room—for example, https://matrix.to/#/#community:matrix.org.
My secret storage (key backup) secret key/passphrase has leaked, how do I reset and secure it again?
- Backup your message encryption keys, see Export and Import E2E Room Keys
- In Element Wed/Desktop settings, under
Security & Privacy
->Secure backup
, clickDelete Backup
repeatedly until all backup versions are deleted. - Click
Reset
underSecure Backup
. - Click
Reset
underCross-signing
. - Import the message encryption keys you backed up earlier. See Export and Import E2E Room Keys
What are the permissions required to start a video call?
In a room with more than two members, voice and video calls are done using the Jitsi integration. Users need "Modify widgets" permissions to add the Jitsi widget to the room and initiate a call.
Once the call is initiated, anyone in the room can join.
What is the preferred resolution for room and space icons?
Room and space icons can be shown in a full-screen lightbox, so the resolution should be high. The homeserver will create a smaller thumbnail that is displayed when viewing rooms and spaces normally.
Matrix General
Can encrypted messages be recovered?
If you want to restore encrypted messages to your Matrix account, you need to have access to your encryption keys that were used to encrypt those messages.
If you have lost your encryption keys, you will not be able to decrypt these messages and they will remain encrypted.
However, if you have used multiple devices to access your Matrix account and have access to the encryption keys on one of those devices, you can try using that device to decrypt messages.
Can I sign in to multiple Matrix accounts in Element Desktop?
If you have multiple Matrix accounts - for example, an EMS account and a matrix.org account - you cannot log in to both simultaneously in the Element Desktop client today. However, you can launch multiple Element instances locally via its Profiles feature.
Do you have tips for migrating between Matrix accounts?
Currently Matrix doesn't support moving communication history over homeservers. The suggested manual method is to invite your new user (for example on an EMS cloud server) over to the same rooms as your old user and give your new user the relevant power levels, if possible.
Old messages in a room will be visible to the new user depending on the room history setting. If you have a room with history open to members, you will be able to simply scroll back to read history (assuming at least one homeserver in the room has the history available locally). Note that changing the room history visibility setting for a room doesn't affect old messages in the room. For rooms where history is limited for new users in the room from "join" or "invite", there is no way to retrieve that history using a user who was not present in that rooms.
Note for encrypted rooms, please ensure to export encryption keys from your old account and import them to the new account. This will allow you to decrypt encrypted room history for messages you have access to. You can do this from the "Security & Privacy" settings in Element.
It may also make sense to export important messages to file, in cases where you cannot get access to them from your new account, for example due to room message visibility settings. Element allows you to export chat history from a room from the room context menu.
How do I add a password if my account was created using SSO?
If your account was created using SSO, for example via GitLab or Apple, and your homeserver supports multiple authentication methods for an account (matrix.org does), follow these steps to add a password to your Matrix account. Note, you will need access to the third party SSO account you used to create the account.
- Add an email address to your account. See Add Email to Your Account.
- Open a new Matrix client, for example https://app.element.io in a private/incognito browser window, then reset the password for your account. See step 3 and onwards in this guide. Note signing out all other devices when prompted is optional for this guide to work.
- You can now sign in to your Matrix account using either your original SSO account, or the password you just created.
How do I manually tombstone a room?
This can only be done by room admins (by default). This action cannot be undone.
- Set the Default role in the room to Admin
- Open Element Devtools by entering
/devtools
in Element
- Click
Explore room state
- Click
Send custom state event
- Event Type:
m.room.tombstone
- State Key: leave empty
- Event Content:
{ "replacement_room": "!roomIdOfNewRoom:serverdomain.com" }
- Event Type:
- Optionally copy room settings and move aliases to the new room
- The room is now tombstoned
What characters can I use in my username/localpart?
Your Matrix username/localpart can only contain lower case letters, numbers, and the characters . _ = - /
.
What is an Identity Server, and how does it work?
The best response to 'What is an Identity Server' is detailed in section 2. of the vector.im Identity Server privacy policy, available here: https://element.io/is-privacy-noticelegal.
New Vector runs two identity servers, one at matrix.org and another at vector.im. These servers run in a closed federation - this means that if you add (or remove) your data from one, it is added to (or removed from) the other automatically, too.
The behavior and role of Identity Servers are changing. Historically, Identity Servers provided three sets of functionality:
- They let users publish their third-party identifiers (email/telephone number) to a directory to allow other Matrix users to discover them.
- Letting users send invites to a Matrix chat room to an email address instead of a Matrix ID.
- Letting homeservers send emails/SMS text messages to verify that they belong to a given Matrix user so that the user can log in to the homeserver using a third-party identifier instead of a Matrix ID.
Identity Servers continue to provide the functionality described in 1. However, the features described in 2. and 3. are now provided by the homeserver instead and will be deprecated and phased out of the Identity Server in the future.
For a period in 2019, while privacy functionality was being enhanced on vector.im and matrix.org, these Identity Servers were restricted to only provide services for users on New Vector homeservers. Once privacy improvements landed, this restriction was lifted.
Element Matrix Services
Account Management
Can I migrate from Element One to Element Home/Cloud?
Unfortunately, Element One and Home are different products and do not currently have an upgrade path. You can set up an Element Home/Cloud host, then manually invite your new Element Home account to all rooms from your Element One account. Bridged rooms have to be manually re-bridged from your Home host.
The same applies to migration from Element Home/Cloud to Element One.
How do I enable 2FA on my EMS account?
- Sign in to your EMS account on https://ems.element.io/
- Click
Your Account
in the top-right - Click
Account
- Click
Authentication Settings
- Click
Signing in
in theAccount security
card - Click
Set up Authenticator Application
- Follow the instructions on the page to complete the 2FA setup
Please note:
- Only one 2FA device is supported. If you add multiple 2FA devices, you will be unable to sign in.
- This only applies to your account in the EMS control panel and your Element One account. Not to Matrix accounts on dedicated EMS servers.
Please discontinue my account
It is best if EMS customers delete their host or account themselves. Here's how:
Delete the host from the host management page at https://ems.element.io/user/hosting by clicking the Delete host button (and confirming deletion in the resulting dialog). This will delete the host and cancel all associated subscriptions.
You can manage or cancel your Element One subscription on https://ems.element.io/user/hosting#/elementone.
Or delete the EMS account entirely. This is done from the user account page https://ems.element.io/user/account by clicking on the Delete account button and confirming. This will delete all hosts and subscriptions before removing the user's account.
Integrations
Bots? What's the reason for using them?
Bots allow you to get information and perform actions in line with your chat. There are a bunch that can be found at https://matrix.org/docs/projects/bots/.
Can I host my own Telegram bridge?
Unfortunately, you are not currently able to host your own bridges to work with your EMS-hosted homeserver. As of December 2020, we have added a Telegram bridge to EMS. See our blog post: EMS brings more interoperability to messaging.
If you have federation enabled for your homeserver, you can also bridge into publicly accessible rooms, such as https://t2bot.io/, or integrations available on public homeservers such as matrix.org.
Do DMs count towards the 20-channel limit for the paid Slack bridge?
Yes, but we're currently reviewing the bridging pricing models, and soon we'll likely be offering Slack (as well as all of our other bridges) on a usage basis rather than on a room/workspace capped basis.
When this launches, existing customers will be able to stay on their existing plan or choose to move to the new model.
How do I add a GitHub integration?
To create a GitHub integration in a room, click on the i
icon at the top right, accept the privacy policy, click Add widgets, bridges & bots
, click Add integrations
and select GitHub from the Bots list. When prompted, log in to GitHub and select the repositories and functions you want.
Note that your server needs to have federation enabled for integrations to work.
How do I add RSS integration to my Matrix server?
To create RSS integration in a room, click on the i
icon at the top right, accept the privacy policy, click Add widgets, bridges & bots
, click Add integrations
and select RSS Bot from the Bots list. Then, enter the RSS URL and click Subscribe
.
Note that your server needs to have federation enabled for integrations to work.
How do I bridge to Libera Chat IRC rooms with more than 100 users?
Please talk to your account manager, or open a support ticket by emailing support@matrix.org. The bridge team will consider requests on a case-by-case basis.
What is the difference between the free and paid Slack bridge?
They're mostly the same. The big difference is that the free one doesn't bridge DMs / puppet your account. See also Do DMs count towards the 20 channel limit for the paid Slack bridge?
With Jitsi video conferencing, how is the data being transferred?
Jitsi conferencing data goes directly from the browser to the Jitsi server, and it does not use the Matrix protocol. If you add a Jitsi widget to a room, that widget will be stored in the room state as Matrix events, but the Jitsi communication itself is from the client to the Jitsi server used.
Miscellaneous
Are all my messages stored on my homeserver?
Messages are stored on your server. However, if you are communicating with users registered on other servers, then relevant messages/events will also exist on their server.
How do I send "System Alerts" or post from the @server user?
The web console has a form to do this. "System status messages" - You can use this form to send messages to all users of your server. For example, this could be used to send "messages of the day", or important policy updates, etc.
How do I update External IDs for my users?
When managing SSO integrations, you might need to edit the external IDs for your Matrix users. This can be done using the Synapse Admin API. You can follow this knowledge base page for further details, How do I migrate to SSO while keeping my original accounts?.
Is there a maximum file size per upload?
The file upload limit for EMS hosts is currently set at 100MB.
What are the benefits of paying for an EMS homeserver?
EMS aims to take the hassle out of hosting and managing your own Matrix stack. There is a significant technical overhead (in terms of technical knowledge required) as well as ongoing time and resources to ensure that your server continues running and is kept up to date with all of the latest security updates etc. With EMS, you don't have to worry about that, as it is all taken care of for you at the touch of a button.
We also provide a (growing) suite of proprietary host administration tools in the form of the EMS Synapse admin dashboard to help give you better insight and control of your server.
What are the limitations in terms of storage?
We’ve shied away from hard limits for storage and instead adopted a fair use policy. If you use the server for business conversations and share a few images as part of your discussions, you will never have problems. However, if you share thousands of images daily per user, you will hit a limit.
Pricing & Payment
Do you offer other payment options like PayPal, Crypto, or IBAN/SEPA?
Currently, we only accept Credit or Debit/bank account cards as payment. "Debit cards" should work with any regular bank account.
How do I update my payment info?
To update your payment info, go to https://ems.element.io/user/billing. From here, you can update your payment details.
If I join a room with a lot of external users from my homeserver, will I be charged for those?
No, you are only ever charged for users that are registered on your server and who have been active for more than two days in a month. These users make up your Monthly Active User (MAU) total. Users that are registered on other servers (that you communicate with over federation), guest users, and users who are only briefly active on your server are not counted.
Server Configuration & Management
Are custom appservices supported?
Uploading custom (YAML) registration files for appservices is not currently supported for EMS hosts.
We are actively working on improving bridging support for EMS hosts and hope that this will be something that you see substantial improvement in over the coming months.
Are you able to use a custom domain like "matrix.example.com"?
Yes, absolutely! However, you need to set this at host creation time as the homeserver name is "baked in" to all of the events that the homeserver creates.
You can set both the homeserver name, e.g., example.com
(so your Matrix user IDs would be of the form @foo:example.com
), and your (Element) client address, which might be something like webchat.example.com
. However, to prove that you own the domain in question, you will need to place some JSON / text into two well-known
files on the webserver for your domain. In the setup wizard, you will be guided through this process when setting up the custom domain for your server.
Can I add all my users to a Space by default?
Yes, this is available for Gold and Enterprise customers. Please talk to your Account Manager or open a support ticket.
Can I change the default room notification level for my users?
This is currently not possible, unfortunately.
Can I customize the Element web login page?
Yes, you can modify the look and feel of your client to suit you.
Please see our blog article on custom branding for your Element instance here https://element.io/blog/custom-branding/ and Client Look & Feel for more details.
You will be able to enter the customization preferences from the managed host page of your EMS account - https://ems.element.io/user/hosting.
Can I use a subdomain instead of the root domain with my EMS server?
Yes. However, this is not recommended. For the same reason your email address probably is not someone@email.example.com
, you probably don't want your Matrix IDs to be @someone:matrix.example.com
.
Please see https://element-hq.github.io/synapse/latest/setup/installation.html#choosing-your-server-name for additional details on your server name.
Can I use EMS-hosted well-knowns with the root of my domain?
Yes, you can, but there are some limitations:
- You will not be able to serve a website on the domain.
- Using a CNAME DNS record on the root of a domain is not compliant with the DNS Specification (per Domain Name System RFC 1034, paragraph 3.6.2 specifically). But you may still be able to do this successfully if:
- Your DNS provider allows setting a CNAME record on the root of your domain. Be aware that certain other DNS records for your domain will not be returned properly, including SOA, NS, and TXT records. (Such as SPF, DMARC, and DKIM, which are used for securing email), OR
- Your DNS provider offers a DNS Spec compliant workaround for using CNAME on root. This includes ALIAS records and CloudFlare CNAME Flattening (note that proxy must be turned off).
- When using this, please note that the EMS Control Panel will not recognize your DNS record as correct, but your EMS server will function correctly and without limitations (beyond the yellow warning in the EMS Control Panel)
- If your DNS provider does not allow CNAME records on root or a DNS Spec compliant solution like ALIAS records, you can use an A record instead. To do this, finish setting up your EMS server without adding the DNS record when asked. After setup is complete, check the IP address of your EMS server, for example, with
$ dig example.ems.host
in the Mac/Linux terminal orResolve-DnsName -Name example.ems.host
in Windows PowerShell, then add an A record on the root of your domain pointing to this IP address.- Please note that EMS does not officially support this, and we reserve the right to change the IP address of your EMS server without notice.
- You will see the same error in the EMS Control Panel as above, but your EMS server will work with this configuration.
- Using a subdomain for your EMS server. By doing this, you will not see any of the limitations and do not need any of the workarounds listed above. However, please consider Can I use a subdomain instead of the root domain with my EMS server?
CNAME and .well-known?
- You need to create a CNAME record with your DNS provider. This needs to be: chat.example.com. CNAME yourEMShost.element.io. (please note that proxy must be turned off if you are using CloudFlare)
- You need to set up a website on your domain, e.g.,
example.com
. - This website needs HTTPS enabled.
- You need to create two files on the webserver. These need to be located at exactly:
-
https://example.com/.well-known/matrix/client
-
https://example.com/.well-known/matrix/server
-
- You need to enable the CORS header
Access-Control-Allow-Origin: *
on the webserver for the client file. See https://enable-cors.org/ for instructions on how to do this.
The client file needs to contain:
{
"m.homeserver": {
"base_url": "https://yourEMShost.ems.host"
},
"m.identity_server": {
"base_url": "https://vector.im"
}
}
The server file needs to contain:
{
"m.server": "yourEMShost.ems.host:443"
}
CNAME doesn't work with Cloudflare?
You can use the CNAME with CloudFlare, but you have to change the Proxy status to DNS only.
Could you expand on "over federation"?
If you have federation turned on in your server configuration, you are able to communicate with users registered on other servers (e.g., matrix.org).
You are only ever charged for users that are registered on your server and who have been active for more than two days in a month. These users make up your Monthly Active User (MAU) total. Users that are registered on other servers (that you communicate with over federation), guest users, and users who are only briefly active on your server are not counted.
DNS is not resolving
This problem is most likely caused by a delay in DNS replication downstream of your DNS servers.
How can I manage my #general room?
You can gain admin permissions in this room by calling this Synapse Admin API or by contacting EMS Support at https://ems.element.io/support.
Gold and Enterprise customers can also request changes to the list of default rooms their users are automatically added to.
How do I change the name/brand of the Element Web client?
You can rename the Element client from Element
to for example Company Chat
with the Client name
field on https://ems.element.io/user/hosting#/hosts. See Client Look & Feel for additional details.
How do I change the server's custom domain?
You can only set a custom domain name for a server at setup time. This is because the server's domain name is "baked-in" to all of the events generated by the server.
So, you would need to deprovision an existing server and create a new one, selecting your custom DNS preferences from the advanced settings section of host setup configuration if you wish to change the current host DNS.
How do I delete a room or a space?
Go to https://ems.element.io/user/hosting#/admin, click Rooms
, and find the room or space you want to delete. Then click the button to delete it.
How do I delete users when administering the server?
You can deactivate users from the admin dashboard for your host at https://ems.element.io/user/hosting.
Select the Server Admin
tab and then the User Info
sub-tab. From here, you can search for the relevant user and hit the Deactivate account button.
How do I enable the public room directory?
The public room directory is enabled on your EMS server if both Federation
and Guest users
are enabled.
How do I reactivate a user?
- Go to the Server Admin tab of the EMS Control Panel
- Click the button
- Select
Include deactivated accounts
- Click the user you wish to reactivate from the list
- Click
Reactivate account
How do I migrate from EMS to self-hosted if I choose to do so in the future?
Currently, the process of migrating away is manual. However, we hope to have an automated, self-serve system in the not too distant future. For the time being, if you wish to migrate away, please email ems-support@element.io (while your EMS server is still up and running) and ask for a snapshot of your Synapse database. We will then generate a snapshot for you and create a link to download the data. You can then use this to restore the database / Synapse instance on your own infrastructure.
Note that migrating from EMS to self-hosted is only possible if you use your own domain (Custom DNS) with your EMS server.
I deleted my host, now my server name is taken, and I cannot rebuild
This is part of a security measure. We generally prevent hosts from returning to the pool after they were initially claimed to prevent people from attempting to imitate old servers/users. Contact support from https://ems.element.io/support while signed in to get the hostname released.
Online users are displayed as offline?
Unfortunately, we are not able to offer user presence as a feature at the moment. This is due to potential performance impact and excess resource usage on hosts when this feature is enabled. The Synapse team is aware of this, and it is on their roadmap to address. However, we do not currently have a timeline for when it will be available again.
What does "Include bridged accounts" on the user management page mean?
When you bridge to external services, external users get an "appservice user" on your EMS server. If you have any bridges and check this checkbox, users from across your bridges will also be shown.