Migrating from Riot to Element: What Changed and How to UpdateRiot was a popular open-source Matrix client that many communities, teams, and privacy-conscious users relied on. In 2019 Riot rebranded to Element to better reflect its mission as a secure, interoperable communication platform built on the Matrix protocol. This article explains what changed with the rebrand and subsequent development, what practical differences you’ll notice, and step-by-step guidance for updating clients, accounts, rooms, integrations, and administrative setups.
Key changes at a glance
- Name and branding: Riot became Element — new name, logos, color palette, and UX polishing.
- Improved UX and features: more polished onboarding, clearer room management, message editing, threading improvements, and voice/video call UX upgrades.
- Integrated E2EE: broader rollout and improved usability for end-to-end encryption (E2EE) using Olm and Megolm, plus device verification flows.
- Performance and stability: faster clients (web, desktop, mobile) and reduced memory usage in large rooms.
- Commercial offering and support: Element Ltd. provides Element Matrix Services (EMS) and paid hosting/support options, while Element remains open source.
- Bridging and integrations: continued investment in bridges (Slack, IRC, X, etc.) with easier management via Element interfaces and bots.
- Branding-conscious URLs and links: some older Riot links redirect but you should update bookmarks where appropriate.
Why the change matters
The rebrand signaled a shift from a single-app focus to a broader platform vision: Element is positioned as an interoperable communication layer for teams, communities, and organizations. The changes improved accessibility of strong security (E2EE), simplified onboarding for non-technical users, and introduced commercial services for organizations that want managed hosting and prioritized support.
What you’ll see as a user
- New app icon, updated color scheme, and refreshed UI.
- Simpler sign-up and onboarding screens with clearer choices for homeserver options.
- More obvious encryption status indicators and streamlined device verification.
- Improved push notifications and call controls.
- Settings reorganized: account, security, notifications, and integrations are clearer and easier to use.
What you’ll see as an administrator or developer
- Easier management of application services and bridges via Element-compatible admin UIs (when using EMS or supported platforms).
- Improved support for single sign-on (SSO) integrations (SAML, OIDC) and enterprise features in hosted offerings.
- More robust federation and moderation tools in Element clients and server tooling updates in Synapse (Matrix reference homeserver).
How to update — end-user guide
Follow these steps to migrate smoothly from Riot to Element with minimal disruption.
1) Check your client version
- Web: open Riot URL; it may redirect to Element’s web client.
- Desktop: check for updates or download the latest Element desktop from the official site.
- Mobile: update Element app from your platform’s app store (Google Play / Apple App Store).
If you still see a Riot-branded app, update to the newest Element release.
2) Log in with your existing account
- Your Matrix account credentials and homeserver remain the same. Sign in as before — Element uses the same Matrix account model.
- If you use a self-hosted homeserver (e.g., Synapse) nothing about your account is automatically changed by the rebrand.
3) Verify end-to-end encryption (E2EE)
- Go to Settings → Security & Privacy (or similar). Confirm that your devices are listed.
- Re-verify devices with trusted contacts if you notice new device warnings. Use cross-signing and device verification to simplify future trust decisions.
4) Update integrations and bridges
- Check bridges (Slack, IRC, Telegram, X) for compatibility. Most bridges continue to work; update bridge software if you manage it.
- If you rely on bots, confirm they’re compatible with the newer client APIs and authentication flows. Reconfigure webhooks or tokens as needed.
5) Update clients on all devices
- Install Element on desktop and mobile; confirm push notifications work and that notification permissions are granted on mobile.
- For corporate setups using managed app stores, update deployment packages or MDM profiles to point to Element listings.
6) Migrate customizations (if any)
- If you used Riot-specific custom CSS or custom integrations, review them for compatibility. Element keeps many of the same extension points but may differ in CSS class names and DOM structure. Update custom scripts/CSS accordingly.
7) Back up important data
- Although your server stores messages and history, consider exporting or backing up important files, shared keys, or configuration for bridges and bots before performing major server upgrades.
How to update — admin & self-hosting guide
If you run a homeserver (Synapse) or manage an organization’s Element deployment, follow these steps:
1) Upgrade Synapse and related components
- Run the latest stable Synapse release supported by your environment. Backup your database and config first.
- Follow Synapse release notes carefully — some upgrades require database migrations and Python/environment changes.
2) Review configuration changes
- Check homeserver.yaml (or equivalent) for new recommended security settings and updated defaults.
- Confirm TLS, federation, and rate-limiting settings are in place.
3) Check SSO/Authentication integrations
- If you use SAML, OIDC, LDAP, or custom auth modules, test sign-in flows after server upgrades. Update client SSO configuration as needed.
4) Update bridges and application services
- Update matrix-appservice-* bridge components to their current versions.
- Verify bridging rules and rate limits. Some bridges need token refresh or configuration changes when clients change behavior.
5) Monitor federation health and performance
- Use federation diagnostics and logs to confirm peers still connect correctly. Watch for version incompatibilities and update peers if necessary.
6) Inform users and provide migration notes
- Send clear instructions to users explaining what to update, where to download Element, and any new security steps (device verification, cross-signing). Provide a migration window and support contact.
Troubleshooting common issues
- Can’t sign in after updating: confirm homeserver address, username (MXID), and password. If using SSO, ensure client supports your identity provider.
- Missing message history: verify the client is connected to the correct homeserver. History is stored server-side unless you used local-only exports.
- Encryption warnings or unknown devices: follow the device verification prompts and consider enabling cross-signing. If messages won’t decrypt, ensure you still have the device keys available or request key recovery if configured.
- Push notifications not working on mobile: check app permissions, background data restrictions, and that your push gateway is reachable (especially for self-hosted setups).
Tips for a smooth migration
- Stage the rollout: pilot with power users before org-wide migration.
- Provide clear, short guides and screenshots for less technical users.
- Encourage users to enable and use cross-signing — it simplifies trust.
- Automate client updates where possible (MDM, managed app stores).
- Keep backups of bridge configs and bot tokens.
Conclusion
The move from Riot to Element was more than a cosmetic rebrand: it brought user experience improvements, more accessible end-to-end encryption, better performance, and a clearer path toward enterprise-grade support while preserving the open, federated Matrix foundation. For most users the migration is straightforward — update your client to Element, sign in with your existing Matrix account, verify devices, and update any bridges or custom integrations you manage. Administrators should plan upgrades carefully, back up servers, and test integrations before rolling changes out to all users.
If you want, tell me whether you need: brief user-facing migration instructions, a checklist for admins, or step-by-step commands for upgrading Synapse and bridges — I’ll prepare that next.
Leave a Reply