diff --git a/CHANGELOG.md b/CHANGELOG.md
index b6f25f1858..0706e20085 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,348 @@
+Changes in [2.5.0](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v2.5.0) (2020-05-05)
+===================================================================================================
+[Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v2.5.0-rc.6...v2.5.0)
+
+ * Upgrade to JS SDK 6.0.0
+ * EventIndex: Reduce the logging the event index is producing.
+ [\#4551](https://github.com/matrix-org/matrix-react-sdk/pull/4551)
+ * Differentiate copy for own untrusted device dialog
+ [\#4550](https://github.com/matrix-org/matrix-react-sdk/pull/4550)
+ * More detailed progress for key backup progress
+ [\#4545](https://github.com/matrix-org/matrix-react-sdk/pull/4545)
+ * Increase rageshake size limit to 5mb
+ [\#4544](https://github.com/matrix-org/matrix-react-sdk/pull/4544)
+
+Changes in [2.5.0-rc.6](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v2.5.0-rc.6) (2020-05-01)
+=============================================================================================================
+[Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v2.5.0-rc.5...v2.5.0-rc.6)
+
+ * Upgrade to JS SDK 6.0.0-rc.2
+ * Wait for user to be verified in e2e setup
+ [\#4538](https://github.com/matrix-org/matrix-react-sdk/pull/4538)
+ * Add device name to unverified session toast
+ [\#4536](https://github.com/matrix-org/matrix-react-sdk/pull/4536)
+
+Changes in [2.5.0-rc.5](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v2.5.0-rc.5) (2020-04-30)
+=============================================================================================================
+[Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v2.5.0-rc.4...v2.5.0-rc.5)
+
+ * Upgrade to JS SDK 6.0.0-rc.1
+ * Fix device verification toasts not disappearing
+ [\#4533](https://github.com/matrix-org/matrix-react-sdk/pull/4533)
+ * Allow resetting storage from the access dialog
+ [\#4526](https://github.com/matrix-org/matrix-react-sdk/pull/4526)
+ * Update toast copy again
+ [\#4530](https://github.com/matrix-org/matrix-react-sdk/pull/4530)
+ * Reduce maximum width of toasts & allow multiple lines
+ [\#4528](https://github.com/matrix-org/matrix-react-sdk/pull/4528)
+ * Treat sessions that are there when we log in as old
+ [\#4527](https://github.com/matrix-org/matrix-react-sdk/pull/4527)
+ * Update (bulk) unverified device toast copy
+ [\#4523](https://github.com/matrix-org/matrix-react-sdk/pull/4523)
+ * Make new device toasts appear above review toasts
+ [\#4520](https://github.com/matrix-org/matrix-react-sdk/pull/4520)
+ * Separate toasts for existing & new device verification
+ [\#4517](https://github.com/matrix-org/matrix-react-sdk/pull/4517)
+ * Aggregate device verify toasts
+ [\#4516](https://github.com/matrix-org/matrix-react-sdk/pull/4516)
+ * Fix set up encryption toast to use "set up" as action
+ [\#4515](https://github.com/matrix-org/matrix-react-sdk/pull/4515)
+ * Fix internal link styling in Security Settings
+ [\#4512](https://github.com/matrix-org/matrix-react-sdk/pull/4512)
+ * Don't enable e2ee when inviting a 3pid
+ [\#4513](https://github.com/matrix-org/matrix-react-sdk/pull/4513)
+ * only clear on continuations where the clear isn't done by SenderProfile
+ [\#4505](https://github.com/matrix-org/matrix-react-sdk/pull/4505)
+ * cap width of editable item list item to leave space for its X button
+ [\#4504](https://github.com/matrix-org/matrix-react-sdk/pull/4504)
+ * Add a link from settings / devices to your user profile
+ [\#4499](https://github.com/matrix-org/matrix-react-sdk/pull/4499)
+ * Make icon change in SetupEncryptionDialog
+ [\#4490](https://github.com/matrix-org/matrix-react-sdk/pull/4490)
+ * Remove invite only padlocks feature flag for release
+ [\#4488](https://github.com/matrix-org/matrix-react-sdk/pull/4488)
+ * Fix incorrect toast if security setup skipped
+ [\#4489](https://github.com/matrix-org/matrix-react-sdk/pull/4489)
+ * Revert "Update emojibase for fixed emoji codepoints and Emoji 13 support"
+ [\#4483](https://github.com/matrix-org/matrix-react-sdk/pull/4483)
+ * Fix recovery link on login verification flow
+ [\#4480](https://github.com/matrix-org/matrix-react-sdk/pull/4480)
+
+Changes in [2.5.0-rc.4](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v2.5.0-rc.4) (2020-04-23)
+=============================================================================================================
+[Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v2.5.0-rc.3...v2.5.0-rc.4)
+
+ * Upgrade to JS SDK 5.3.1-rc.4
+ * Take encrypted message search out of labs for release
+ [\#4468](https://github.com/matrix-org/matrix-react-sdk/pull/4468)
+ * Update login security copy and design to match Figma [to release]
+ [\#4474](https://github.com/matrix-org/matrix-react-sdk/pull/4474)
+ * Fix i18n of SSO UIA copy in Deactivate Account Dialog on release
+ [\#4473](https://github.com/matrix-org/matrix-react-sdk/pull/4473)
+ * Skip auth flow test for signing upload when password present
+ [\#4465](https://github.com/matrix-org/matrix-react-sdk/pull/4465)
+ * Fix: wait until cross-signing keys are fetched to show verify button
+ [\#4457](https://github.com/matrix-org/matrix-react-sdk/pull/4457)
+ * Handle load error in create secret storage dialog
+ [\#4454](https://github.com/matrix-org/matrix-react-sdk/pull/4454)
+ * Don't recheck DeviceListener until after initial sync is finished
+ [\#4450](https://github.com/matrix-org/matrix-react-sdk/pull/4450)
+ * EventIndex: Filter out events that don't have a propper content value.
+ [\#4447](https://github.com/matrix-org/matrix-react-sdk/pull/4447)
+
+Changes in [2.5.0-rc.3](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v2.5.0-rc.3) (2020-04-17)
+=============================================================================================================
+[Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v2.5.0-rc.2...v2.5.0-rc.3)
+
+ * Upgrade to JS SDK 5.3.1-rc.3
+
+Changes in [2.5.0-rc.2](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v2.5.0-rc.2) (2020-04-16)
+=============================================================================================================
+[Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v2.5.0-rc.1...v2.5.0-rc.2)
+
+ * Upgrade to JS SDK 5.3.1-rc.2
+ * [Release] Convert cross-signing flag to a setting
+ [\#4429](https://github.com/matrix-org/matrix-react-sdk/pull/4429)
+ * Iterate cross-signing copy
+ [\#4426](https://github.com/matrix-org/matrix-react-sdk/pull/4426)
+ * Fix: ensure twemoji font is loaded when showing SAS emojis
+ [\#4423](https://github.com/matrix-org/matrix-react-sdk/pull/4423)
+
+Changes in [2.5.0-rc.1](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v2.5.0-rc.1) (2020-04-15)
+=============================================================================================================
+[Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v2.4.0-rc.1...v2.5.0-rc.1)
+
+ * Upgrade to JS SDK 5.3.1-rc.1
+ * null-guard MatrixClientPeg in RoomViewStore
+ [\#4415](https://github.com/matrix-org/matrix-react-sdk/pull/4415)
+ * Fix: prevent spurious notifications from indexer
+ [\#4414](https://github.com/matrix-org/matrix-react-sdk/pull/4414)
+ * Login block on initialSync with spinners
+ [\#4413](https://github.com/matrix-org/matrix-react-sdk/pull/4413)
+ * Allow network dropdown to be scrollable and fix context menu padding calc
+ [\#4408](https://github.com/matrix-org/matrix-react-sdk/pull/4408)
+ * Remove end-to-end message info option when cross-signing is used
+ [\#4412](https://github.com/matrix-org/matrix-react-sdk/pull/4412)
+ * Minimize widgets by default
+ [\#4378](https://github.com/matrix-org/matrix-react-sdk/pull/4378)
+ * Add comments to highlight where we'll need m.widget support
+ [\#4380](https://github.com/matrix-org/matrix-react-sdk/pull/4380)
+ * Fix: dont try to enable 4S if cross-signing is disabled
+ [\#4407](https://github.com/matrix-org/matrix-react-sdk/pull/4407)
+ * Fix: don't confuse user with spinner during complete security step
+ [\#4406](https://github.com/matrix-org/matrix-react-sdk/pull/4406)
+ * Fix: avoid potential crash during certain verification paths
+ [\#4405](https://github.com/matrix-org/matrix-react-sdk/pull/4405)
+ * Add riot-desktop shortcuts for forward/back matching browsers&slack
+ [\#4392](https://github.com/matrix-org/matrix-react-sdk/pull/4392)
+ * Convert LoggedInView to an ES6 PureComponent Class & TypeScript
+ [\#4398](https://github.com/matrix-org/matrix-react-sdk/pull/4398)
+ * Fix width of MVideoBody in FilePanel
+ [\#4396](https://github.com/matrix-org/matrix-react-sdk/pull/4396)
+ * Remove unused react-addons-css-transition-group
+ [\#4397](https://github.com/matrix-org/matrix-react-sdk/pull/4397)
+ * Fix emoji tooltip flickering
+ [\#4395](https://github.com/matrix-org/matrix-react-sdk/pull/4395)
+ * Pass along key backup for bootstrap
+ [\#4374](https://github.com/matrix-org/matrix-react-sdk/pull/4374)
+ * Fix create room dialog e2ee private room setting
+ [\#4403](https://github.com/matrix-org/matrix-react-sdk/pull/4403)
+ * Sort emoji by shortcodes for autocomplete primarily for :-1 and :+1
+ [\#4391](https://github.com/matrix-org/matrix-react-sdk/pull/4391)
+ * Fix invalid commands when figuring out whether to set isTyping
+ [\#4390](https://github.com/matrix-org/matrix-react-sdk/pull/4390)
+ * op/deop return error if trying to affect an unknown user
+ [\#4389](https://github.com/matrix-org/matrix-react-sdk/pull/4389)
+ * Composer pills respect showPillAvatar setting
+ [\#4384](https://github.com/matrix-org/matrix-react-sdk/pull/4384)
+ * Only send typing notification when composing commands which send messages
+ [\#4385](https://github.com/matrix-org/matrix-react-sdk/pull/4385)
+ * Reverse order of they match/they don't match buttons
+ [\#4386](https://github.com/matrix-org/matrix-react-sdk/pull/4386)
+ * Use singular text on 'delete sessions' button for SSO
+ [\#4383](https://github.com/matrix-org/matrix-react-sdk/pull/4383)
+ * Pass widget data through from sticker picker
+ [\#4377](https://github.com/matrix-org/matrix-react-sdk/pull/4377)
+ * Obliterate widgets when they are minimized
+ [\#4376](https://github.com/matrix-org/matrix-react-sdk/pull/4376)
+ * Fix image thumbnail width when read receipts are hidden
+ [\#4370](https://github.com/matrix-org/matrix-react-sdk/pull/4370)
+ * Add toggle for e2ee when creating private room
+ [\#4362](https://github.com/matrix-org/matrix-react-sdk/pull/4362)
+ * Fix logging for failed searches
+ [\#4372](https://github.com/matrix-org/matrix-react-sdk/pull/4372)
+ * Ensure UI is updated when cross-signing gets disabled
+ [\#4369](https://github.com/matrix-org/matrix-react-sdk/pull/4369)
+ * Retry the request for the master key from SSSS on login
+ [\#4371](https://github.com/matrix-org/matrix-react-sdk/pull/4371)
+ * Upgrade deps
+ [\#4365](https://github.com/matrix-org/matrix-react-sdk/pull/4365)
+ * App load tweaks, i18n and localStorage
+ [\#4367](https://github.com/matrix-org/matrix-react-sdk/pull/4367)
+ * Fix encoding of widget arguments
+ [\#4366](https://github.com/matrix-org/matrix-react-sdk/pull/4366)
+
+Changes in [2.4.0-rc.1](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v2.4.0-rc.1) (2020-04-08)
+=============================================================================================================
+[Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v2.3.1...v2.4.0-rc.1)
+
+ * Upgrade to JS SDK to 5.3.0-rc.1
+ * EventIndex: Log if we had all events in a checkpoint but are continuing.
+ [\#4363](https://github.com/matrix-org/matrix-react-sdk/pull/4363)
+ * Update from Weblate
+ [\#4364](https://github.com/matrix-org/matrix-react-sdk/pull/4364)
+ * Support deactivating your account with SSO
+ [\#4356](https://github.com/matrix-org/matrix-react-sdk/pull/4356)
+ * Add debug status for cached backup key format
+ [\#4359](https://github.com/matrix-org/matrix-react-sdk/pull/4359)
+ * Fix composer placeholder not updating
+ [\#4361](https://github.com/matrix-org/matrix-react-sdk/pull/4361)
+ * Fix sas verification buttons to match figma
+ [\#4358](https://github.com/matrix-org/matrix-react-sdk/pull/4358)
+ * Don't show fallback text for verification requests
+ [\#4345](https://github.com/matrix-org/matrix-react-sdk/pull/4345)
+ * Fix share dialog correctly
+ [\#4360](https://github.com/matrix-org/matrix-react-sdk/pull/4360)
+ * Use singular copy when only deleting one device
+ [\#4357](https://github.com/matrix-org/matrix-react-sdk/pull/4357)
+ * Deem m.sticker events as actionable for reacting
+ [\#4288](https://github.com/matrix-org/matrix-react-sdk/pull/4288)
+ * Don't show spinner over encryption setup dialogs
+ [\#4354](https://github.com/matrix-org/matrix-react-sdk/pull/4354)
+ * Support Jitsi information from client .well-known
+ [\#4348](https://github.com/matrix-org/matrix-react-sdk/pull/4348)
+ * Add new default home page fallback
+ [\#4350](https://github.com/matrix-org/matrix-react-sdk/pull/4350)
+ * Check more account data in toast listener
+ [\#4351](https://github.com/matrix-org/matrix-react-sdk/pull/4351)
+ * Don't try to send presence updates until the client is started
+ [\#4353](https://github.com/matrix-org/matrix-react-sdk/pull/4353)
+ * Fix copy button on code blocks when there is no code tag just pre
+ [\#4352](https://github.com/matrix-org/matrix-react-sdk/pull/4352)
+ * Clear sessionStorage on sign out
+ [\#4346](https://github.com/matrix-org/matrix-react-sdk/pull/4346)
+ * Re-request room keys after auth
+ [\#4341](https://github.com/matrix-org/matrix-react-sdk/pull/4341)
+ * Update emojibase for fixed emoji codepoints and Emoji 13 support
+ [\#4344](https://github.com/matrix-org/matrix-react-sdk/pull/4344)
+ * App load order tweaks for code splitting
+ [\#4343](https://github.com/matrix-org/matrix-react-sdk/pull/4343)
+ * Fix alignment of e2e icon in userinfo and expose full displayname in title
+ [\#4312](https://github.com/matrix-org/matrix-react-sdk/pull/4312)
+ * Adjust copy & UX for self-verification
+ [\#4342](https://github.com/matrix-org/matrix-react-sdk/pull/4342)
+ * QR code reciprocation
+ [\#4334](https://github.com/matrix-org/matrix-react-sdk/pull/4334)
+ * Fix Hangul typing does not work properly
+ [\#4339](https://github.com/matrix-org/matrix-react-sdk/pull/4339)
+ * Fix: dismiss setup encryption toast if cross-signing is ready
+ [\#4336](https://github.com/matrix-org/matrix-react-sdk/pull/4336)
+ * Fix read marker visibility for grouped events
+ [\#4340](https://github.com/matrix-org/matrix-react-sdk/pull/4340)
+ * Make all 'font-size's and 'line-height's rem
+ [\#4305](https://github.com/matrix-org/matrix-react-sdk/pull/4305)
+ * Fix spurious extra devices on registration
+ [\#4337](https://github.com/matrix-org/matrix-react-sdk/pull/4337)
+ * Fix the edit messager composer
+ [\#4333](https://github.com/matrix-org/matrix-react-sdk/pull/4333)
+ * Fix Room Settings Dialog Notifications tab icon
+ [\#4321](https://github.com/matrix-org/matrix-react-sdk/pull/4321)
+ * Fix various cases of React warnings by silencing them
+ [\#4331](https://github.com/matrix-org/matrix-react-sdk/pull/4331)
+ * Only apply padding to standard textual buttons (kind buttons)
+ [\#4332](https://github.com/matrix-org/matrix-react-sdk/pull/4332)
+ * Use console.log in place of console.warn for less warnings
+ [\#4330](https://github.com/matrix-org/matrix-react-sdk/pull/4330)
+ * Revert componentDidMount changes on breadcrumbs
+ [\#4329](https://github.com/matrix-org/matrix-react-sdk/pull/4329)
+ * Use new method for checking secret storage key
+ [\#4309](https://github.com/matrix-org/matrix-react-sdk/pull/4309)
+ * Label and use UNSAFE_componentWillMount to minimize warnings
+ [\#4315](https://github.com/matrix-org/matrix-react-sdk/pull/4315)
+ * Fix a number of minor code quality issues
+ [\#4314](https://github.com/matrix-org/matrix-react-sdk/pull/4314)
+ * Use componentDidMount in place of componentWillMount where possible
+ [\#4313](https://github.com/matrix-org/matrix-react-sdk/pull/4313)
+ * EventIndex: Mark the initial checkpoints for a full crawl.
+ [\#4325](https://github.com/matrix-org/matrix-react-sdk/pull/4325)
+ * Fix UserInfo e2e buttons to match Figma
+ [\#4320](https://github.com/matrix-org/matrix-react-sdk/pull/4320)
+ * Only auto-scroll to RoomTile when clicking on RoomTile or via shortcuts
+ [\#4316](https://github.com/matrix-org/matrix-react-sdk/pull/4316)
+ * Support SSO for interactive authentication
+ [\#4292](https://github.com/matrix-org/matrix-react-sdk/pull/4292)
+ * Fix /invite Slash Command
+ [\#4328](https://github.com/matrix-org/matrix-react-sdk/pull/4328)
+ * Fix jitsi popout URL
+ [\#4326](https://github.com/matrix-org/matrix-react-sdk/pull/4326)
+ * Use our own jitsi widget for the popout URL
+ [\#4323](https://github.com/matrix-org/matrix-react-sdk/pull/4323)
+ * Fix popout support for jitsi widgets
+ [\#4319](https://github.com/matrix-org/matrix-react-sdk/pull/4319)
+ * Fix: legacy verify user throwing error
+ [\#4318](https://github.com/matrix-org/matrix-react-sdk/pull/4318)
+ * Document settingDefaults
+ [\#3046](https://github.com/matrix-org/matrix-react-sdk/pull/3046)
+ * Fix Ctrl+/ for Finnish keyboard where it includes Shift
+ [\#4317](https://github.com/matrix-org/matrix-react-sdk/pull/4317)
+ * Rework SlashCommands to better expose aliases
+ [\#4302](https://github.com/matrix-org/matrix-react-sdk/pull/4302)
+ * Fix EventListSummary when RR rendering is disabled
+ [\#4311](https://github.com/matrix-org/matrix-react-sdk/pull/4311)
+ * Update link to css location.
+ [\#4299](https://github.com/matrix-org/matrix-react-sdk/pull/4299)
+ * Fix peeking keeping two timeline update mechanisms in play
+ [\#4310](https://github.com/matrix-org/matrix-react-sdk/pull/4310)
+ * Pass new secret storage key to bootstrap path
+ [\#4308](https://github.com/matrix-org/matrix-react-sdk/pull/4308)
+ * Show red shield for users that become unverified
+ [\#4303](https://github.com/matrix-org/matrix-react-sdk/pull/4303)
+ * Accessibility fixed for Event List Summary and Composer Format Bar
+ [\#4295](https://github.com/matrix-org/matrix-react-sdk/pull/4295)
+ * Support $riot: Templates for SSO/CAS urls in the welcome.html page
+ [\#4279](https://github.com/matrix-org/matrix-react-sdk/pull/4279)
+ * Added the /html command
+ [\#4296](https://github.com/matrix-org/matrix-react-sdk/pull/4296)
+ * EventIndex: Better logging on how many events are added.
+ [\#4301](https://github.com/matrix-org/matrix-react-sdk/pull/4301)
+ * Field: mark id as optional in propTypes
+ [\#4307](https://github.com/matrix-org/matrix-react-sdk/pull/4307)
+ * Fix view community link icon contrast
+ [\#4254](https://github.com/matrix-org/matrix-react-sdk/pull/4254)
+ * Remove underscore from Jitsi conference names
+ [\#4304](https://github.com/matrix-org/matrix-react-sdk/pull/4304)
+ * Refactor shield display logic; changed rules for DMs
+ [\#4290](https://github.com/matrix-org/matrix-react-sdk/pull/4290)
+ * Fix: bring back global thin scrollbars
+ [\#4300](https://github.com/matrix-org/matrix-react-sdk/pull/4300)
+ * Keyboard shortcuts: Escape cancel reply and fix Ctrl+K
+ [\#4297](https://github.com/matrix-org/matrix-react-sdk/pull/4297)
+ * Field: make id optional, generate one if not provided
+ [\#4298](https://github.com/matrix-org/matrix-react-sdk/pull/4298)
+ * Fix ugly scrollbars in TabbedView (settings), emojipicker and widgets
+ [\#4293](https://github.com/matrix-org/matrix-react-sdk/pull/4293)
+ * Rename secret storage force-reset variable to avoid confusion
+ [\#4274](https://github.com/matrix-org/matrix-react-sdk/pull/4274)
+ * Fix: can't dismiss unverified session toast when encryption hasn't been
+ upgraded
+ [\#4291](https://github.com/matrix-org/matrix-react-sdk/pull/4291)
+ * Blank out UserInfo avatar when changing between members
+ [\#4289](https://github.com/matrix-org/matrix-react-sdk/pull/4289)
+ * Add cancel button to verification panel
+ [\#4283](https://github.com/matrix-org/matrix-react-sdk/pull/4283)
+ * Show ongoing verification request straight away when navigating to member
+ [\#4284](https://github.com/matrix-org/matrix-react-sdk/pull/4284)
+ * Fix: allow scrolling while window is not focused & remove scrollbar hack
+ [\#4276](https://github.com/matrix-org/matrix-react-sdk/pull/4276)
+ * Show whether backup key is cached
+ [\#4287](https://github.com/matrix-org/matrix-react-sdk/pull/4287)
+ * Rename unverified session toast
+ [\#4285](https://github.com/matrix-org/matrix-react-sdk/pull/4285)
+ * Fix: pick last active DM for verification request
+ [\#4286](https://github.com/matrix-org/matrix-react-sdk/pull/4286)
+ * Fix formatBar not hidden after highlight and backspacing some text
+ [\#4269](https://github.com/matrix-org/matrix-react-sdk/pull/4269)
+
Changes in [2.3.1](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v2.3.1) (2020-04-01)
===================================================================================================
[Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v2.3.0...v2.3.1)
diff --git a/README.md b/README.md
index 69aafeb724..5f5da9a40d 100644
--- a/README.md
+++ b/README.md
@@ -133,8 +133,10 @@ Development
Ensure you have the latest LTS version of Node.js installed.
-Using `yarn` instead of `npm` is recommended. Please see the Yarn [install
-guide](https://yarnpkg.com/docs/install/) if you do not have it already.
+Using `yarn` instead of `npm` is recommended. Please see the Yarn 1 [install
+guide](https://classic.yarnpkg.com/docs/install) if you do not have it
+already. This project has not yet been migrated to Yarn 2, so please ensure
+`yarn --version` shows a version from the 1.x series.
`matrix-react-sdk` depends on `matrix-js-sdk`. To make use of changes in the
latter and to ensure tests run against the develop branch of `matrix-js-sdk`,
diff --git a/package.json b/package.json
index 02ec206ee3..dda4a5a897 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "matrix-react-sdk",
- "version": "2.3.1",
+ "version": "2.5.0",
"description": "SDK for matrix.org using React",
"author": "matrix.org",
"repository": {
@@ -64,8 +64,8 @@
"create-react-class": "^15.6.0",
"diff-dom": "^4.1.3",
"diff-match-patch": "^1.0.4",
- "emojibase-data": "^5.0.1",
- "emojibase-regex": "^4.0.1",
+ "emojibase-data": "^4.0.2",
+ "emojibase-regex": "^3.0.0",
"escape-html": "^1.0.3",
"file-saver": "^1.3.3",
"filesize": "3.5.6",
@@ -82,13 +82,13 @@
"matrix-js-sdk": "github:matrix-org/matrix-js-sdk#develop",
"minimist": "^1.2.0",
"pako": "^1.0.5",
+ "parse5": "^5.1.1",
"png-chunks-extract": "^1.0.0",
"project-name-generator": "^2.1.7",
"prop-types": "^15.5.8",
"qrcode": "^1.4.4",
"qs": "^6.6.0",
"react": "^16.9.0",
- "react-addons-css-transition-group": "15.6.2",
"react-beautiful-dnd": "^4.0.1",
"react-dom": "^16.9.0",
"react-focus-lock": "^2.2.1",
@@ -117,6 +117,7 @@
"@babel/register": "^7.7.4",
"@peculiar/webcrypto": "^1.0.22",
"@types/classnames": "^2.2.10",
+ "@types/modernizr": "^3.5.3",
"@types/qrcode": "^1.3.4",
"@types/react": "16.9",
"babel-eslint": "^10.0.3",
diff --git a/res/css/_components.scss b/res/css/_components.scss
index 8706772ad9..428a28ac3a 100644
--- a/res/css/_components.scss
+++ b/res/css/_components.scss
@@ -133,12 +133,14 @@
@import "./views/messages/_MNoticeBody.scss";
@import "./views/messages/_MStickerBody.scss";
@import "./views/messages/_MTextBody.scss";
+@import "./views/messages/_MVideoBody.scss";
@import "./views/messages/_MessageActionBar.scss";
@import "./views/messages/_MessageTimestamp.scss";
@import "./views/messages/_MjolnirBody.scss";
@import "./views/messages/_ReactionsRow.scss";
@import "./views/messages/_ReactionsRowButton.scss";
@import "./views/messages/_ReactionsRowButtonTooltip.scss";
+@import "./views/messages/_RedactedBody.scss";
@import "./views/messages/_RoomAvatarEvent.scss";
@import "./views/messages/_SenderProfile.scss";
@import "./views/messages/_TextualEvent.scss";
diff --git a/res/css/_font-sizes.scss b/res/css/_font-sizes.scss
index ad9e2e7103..76a9b16425 100644
--- a/res/css/_font-sizes.scss
+++ b/res/css/_font-sizes.scss
@@ -14,6 +14,13 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
+$font-1px: 0.067rem;
+$font-2px: 0.133rem;
+$font-3px: 0.200rem;
+$font-4px: 0.267rem;
+$font-5px: 0.333rem;
+$font-6px: 0.400rem;
+$font-7px: 0.467rem;
$font-8px: 0.533rem;
$font-9px: 0.600rem;
$font-10px: 0.667rem;
@@ -27,7 +34,7 @@ $font-16px: 1.067rem;
$font-17px: 1.133rem;
$font-18px: 1.200rem;
$font-19px: 1.267rem;
-$font-20px: 1.333rem;
+$font-20px: 1.3333333rem;
$font-21px: 1.400rem;
$font-22px: 1.467rem;
$font-23px: 1.533rem;
@@ -60,4 +67,5 @@ $font-49px: 3.267rem;
$font-50px: 3.333rem;
$font-51px: 3.400rem;
$font-52px: 3.467rem;
+$font-88px: 5.887rem;
$font-400px: 26.667rem;
diff --git a/res/css/structures/_RoomSubList.scss b/res/css/structures/_RoomSubList.scss
index 2e0c94263e..2c53258b08 100644
--- a/res/css/structures/_RoomSubList.scss
+++ b/res/css/structures/_RoomSubList.scss
@@ -74,7 +74,7 @@ limitations under the License.
.mx_RoomSubList_badge > div {
flex: 0 0 auto;
- border-radius: 8px;
+ border-radius: $font-16px;
font-weight: 600;
font-size: $font-12px;
padding: 0 5px;
diff --git a/res/css/structures/_TagPanel.scss b/res/css/structures/_TagPanel.scss
index 0065ffa502..4a78c8df92 100644
--- a/res/css/structures/_TagPanel.scss
+++ b/res/css/structures/_TagPanel.scss
@@ -69,7 +69,7 @@ limitations under the License.
height: 100%;
}
.mx_TagPanel .mx_TagPanel_tagTileContainer > div {
- height: 40px;
+ height: $font-40px;
padding: 10px 0 9px 0;
}
@@ -110,13 +110,13 @@ limitations under the License.
.mx_TagPanel .mx_TagTile.mx_TagTile_selected::before {
content: '';
- height: 56px;
+ height: calc(100% + 16px);
background-color: $accent-color;
width: 5px;
position: absolute;
left: -15px;
border-radius: 0 3px 3px 0;
- top: -8px; // (56 - 40)/2
+ top: -8px; // (16px / 2)
}
.mx_TagPanel .mx_TagTile.mx_AccessibleButton:focus {
diff --git a/res/css/structures/_ToastContainer.scss b/res/css/structures/_ToastContainer.scss
index af595aaeee..6ec4a0d152 100644
--- a/res/css/structures/_ToastContainer.scss
+++ b/res/css/structures/_ToastContainer.scss
@@ -91,9 +91,8 @@ limitations under the License.
}
.mx_Toast_description {
- max-width: 400px;
+ max-width: 272px;
overflow: hidden;
- white-space: nowrap;
text-overflow: ellipsis;
margin: 4px 0 11px 0;
font-size: $font-12px;
diff --git a/res/css/structures/auth/_CompleteSecurity.scss b/res/css/structures/auth/_CompleteSecurity.scss
index 3050840fe8..f742be70e4 100644
--- a/res/css/structures/auth/_CompleteSecurity.scss
+++ b/res/css/structures/auth/_CompleteSecurity.scss
@@ -26,6 +26,50 @@ limitations under the License.
position: relative;
}
+.mx_CompleteSecurity_clients {
+ width: max-content;
+ margin: 36px auto 0;
+
+ .mx_CompleteSecurity_clients_desktop, .mx_CompleteSecurity_clients_mobile {
+ position: relative;
+ width: 160px;
+ text-align: center;
+ padding-top: 64px;
+ display: inline-block;
+
+ &::before {
+ content: '';
+ position: absolute;
+ height: 48px;
+ width: 48px;
+ left: 56px;
+ top: 0;
+ background-color: $muted-fg-color;
+ mask-repeat: no-repeat;
+ mask-size: contain;
+ }
+ }
+
+ .mx_CompleteSecurity_clients_desktop {
+ margin-right: 56px;
+ }
+
+ .mx_CompleteSecurity_clients_desktop::before {
+ mask-image: url('$(res)/img/feather-customised/monitor.svg');
+ }
+
+ .mx_CompleteSecurity_clients_mobile::before {
+ mask-image: url('$(res)/img/feather-customised/smartphone.svg');
+ }
+
+ p {
+ margin-top: 16px;
+ font-size: $font-12px;
+ color: $muted-fg-color;
+ text-align: center;
+ }
+}
+
.mx_CompleteSecurity_heroIcon {
width: 128px;
height: 128px;
@@ -44,6 +88,7 @@ limitations under the License.
.mx_CompleteSecurity_actionRow {
display: flex;
justify-content: flex-end;
+ margin-top: $font-28px;
.mx_AccessibleButton {
margin-inline-start: 18px;
diff --git a/res/css/structures/auth/_Login.scss b/res/css/structures/auth/_Login.scss
index 4ce90cc6bd..02436833a2 100644
--- a/res/css/structures/auth/_Login.scss
+++ b/res/css/structures/auth/_Login.scss
@@ -89,3 +89,13 @@ limitations under the License.
.mx_Login_underlinedServerName {
border-bottom: 1px dashed $accent-color;
}
+
+div.mx_AccessibleButton_kind_link.mx_Login_forgot {
+ // style it as a link
+ font-size: inherit;
+ padding: 0;
+
+ &.mx_AccessibleButton_disabled {
+ cursor: not-allowed;
+ }
+}
diff --git a/res/css/views/auth/_AuthBody.scss b/res/css/views/auth/_AuthBody.scss
index 468a4b3d62..4b2d6b1bf1 100644
--- a/res/css/views/auth/_AuthBody.scss
+++ b/res/css/views/auth/_AuthBody.scss
@@ -119,6 +119,24 @@ limitations under the License.
margin-right: 0;
}
+.mx_AuthBody_paddedFooter {
+ height: 80px; // height of the submit button + register link
+ padding-top: 28px;
+ text-align: center;
+
+ .mx_AuthBody_paddedFooter_title {
+ margin-top: 16px;
+ font-size: $font-15px;
+ line-height: $font-24px;
+ }
+
+ .mx_AuthBody_paddedFooter_subtitle {
+ margin-top: 8px;
+ font-size: $font-10px;
+ line-height: $font-14px;
+ }
+}
+
.mx_AuthBody_changeFlow {
display: block;
text-align: center;
diff --git a/res/css/views/avatars/_MemberStatusMessageAvatar.scss b/res/css/views/avatars/_MemberStatusMessageAvatar.scss
index c101a5d8a8..975b4e5ce9 100644
--- a/res/css/views/avatars/_MemberStatusMessageAvatar.scss
+++ b/res/css/views/avatars/_MemberStatusMessageAvatar.scss
@@ -17,7 +17,7 @@ limitations under the License.
.mx_MessageComposer_avatar .mx_BaseAvatar {
padding: 2px;
border: 1px solid transparent;
- border-radius: 15px;
+ border-radius: 100%;
}
.mx_MessageComposer_avatar .mx_BaseAvatar_initial {
diff --git a/res/css/views/context_menus/_MessageContextMenu.scss b/res/css/views/context_menus/_MessageContextMenu.scss
index d15d566bdb..2ecb93e734 100644
--- a/res/css/views/context_menus/_MessageContextMenu.scss
+++ b/res/css/views/context_menus/_MessageContextMenu.scss
@@ -19,6 +19,7 @@ limitations under the License.
}
.mx_MessageContextMenu_field {
+ display: block;
padding: 3px 6px 3px 6px;
cursor: pointer;
white-space: nowrap;
diff --git a/res/css/views/context_menus/_TopLeftMenu.scss b/res/css/views/context_menus/_TopLeftMenu.scss
index 973c306695..e0f5dd47bd 100644
--- a/res/css/views/context_menus/_TopLeftMenu.scss
+++ b/res/css/views/context_menus/_TopLeftMenu.scss
@@ -72,10 +72,10 @@ limitations under the License.
.mx_AccessibleButton::after {
mask-repeat: no-repeat;
mask-position: 0 center;
- mask-size: 16px;
+ mask-size: $font-16px;
position: absolute;
- width: 16px;
- height: 16px;
+ width: $font-16px;
+ height: $font-16px;
content: "";
top: 5px;
left: 14px;
diff --git a/res/css/views/dialogs/keybackup/_RestoreKeyBackupDialog.scss b/res/css/views/dialogs/keybackup/_RestoreKeyBackupDialog.scss
index 9cba8e0da9..5689d84bc5 100644
--- a/res/css/views/dialogs/keybackup/_RestoreKeyBackupDialog.scss
+++ b/res/css/views/dialogs/keybackup/_RestoreKeyBackupDialog.scss
@@ -32,3 +32,9 @@ limitations under the License.
padding: 10px;
}
+.mx_RestoreKeyBackupDialog_content > div {
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
+ min-height: 110px; /* Empirically measured */
+}
diff --git a/res/css/views/directory/_NetworkDropdown.scss b/res/css/views/directory/_NetworkDropdown.scss
index 269b507e3c..bd5c67c7ed 100644
--- a/res/css/views/directory/_NetworkDropdown.scss
+++ b/res/css/views/directory/_NetworkDropdown.scss
@@ -35,6 +35,8 @@ limitations under the License.
border-radius: 4px;
border: 1px solid $dialog-close-fg-color;
background-color: $primary-bg-color;
+ max-height: calc(100vh - 20px); // allow 10px padding on both top and bottom
+ overflow-y: auto;
}
.mx_NetworkDropdown_menu_network {
@@ -51,15 +53,16 @@ limitations under the License.
font-weight: 600;
line-height: $font-20px;
margin-bottom: 4px;
+ position: relative;
// remove server button
.mx_AccessibleButton {
position: absolute;
display: inline;
- right: 12px;
+ right: 10px;
height: 16px;
width: 16px;
- margin-top: 4px;
+ margin-top: 2px;
&::after {
content: "";
diff --git a/res/css/views/elements/_Dropdown.scss b/res/css/views/elements/_Dropdown.scss
index 0dd9656c9c..2a2508c17c 100644
--- a/res/css/views/elements/_Dropdown.scss
+++ b/res/css/views/elements/_Dropdown.scss
@@ -33,6 +33,10 @@ limitations under the License.
user-select: none;
}
+.mx_Dropdown_input.mx_AccessibleButton_disabled {
+ cursor: not-allowed;
+}
+
.mx_Dropdown_input:focus {
border-color: $input-focused-border-color;
}
@@ -63,6 +67,8 @@ limitations under the License.
text-overflow: ellipsis;
white-space: nowrap;
flex: 1;
+ display: inline-flex;
+ align-items: center;
}
.mx_Dropdown_option div {
@@ -71,12 +77,18 @@ limitations under the License.
white-space: nowrap;
}
-.mx_Dropdown_option img {
+.mx_Dropdown_option img,
+.mx_Dropdown_option .mx_Dropdown_option_emoji {
margin: 5px;
width: 16px;
vertical-align: middle;
}
+.mx_Dropdown_option_emoji {
+ font-size: $font-16px;
+ line-height: $font-16px;
+}
+
input.mx_Dropdown_option,
input.mx_Dropdown_option:focus {
font-weight: normal;
diff --git a/res/css/views/elements/_EditableItemList.scss b/res/css/views/elements/_EditableItemList.scss
index ef60f006cc..f089fa3dc2 100644
--- a/res/css/views/elements/_EditableItemList.scss
+++ b/res/css/views/elements/_EditableItemList.scss
@@ -53,6 +53,9 @@ limitations under the License.
.mx_EditableItem_item {
flex: auto 1 0;
order: 1;
+ width: calc(100% - 14px); // leave space for the remove button
+ overflow-x: hidden;
+ text-overflow: ellipsis;
}
.mx_EditableItemList_label {
diff --git a/res/css/views/elements/_ImageView.scss b/res/css/views/elements/_ImageView.scss
index 0a4ed2a194..983ef074f2 100644
--- a/res/css/views/elements/_ImageView.scss
+++ b/res/css/views/elements/_ImageView.scss
@@ -37,7 +37,7 @@ limitations under the License.
order: 2;
/* min-width hack needed for FF */
min-width: 0px;
- height: 90%;
+ max-height: 90%;
flex: 15 15 0;
display: flex;
align-items: center;
diff --git a/res/css/views/elements/_RichText.scss b/res/css/views/elements/_RichText.scss
index e3f88cc779..d60282695c 100644
--- a/res/css/views/elements/_RichText.scss
+++ b/res/css/views/elements/_RichText.scss
@@ -6,16 +6,33 @@
.mx_RoomPill,
.mx_GroupPill,
.mx_AtRoomPill {
- border-radius: 16px;
- display: inline-block;
- height: 20px;
- line-height: $font-20px;
- padding-left: 5px;
+ display: inline-flex;
+ align-items: center;
+ vertical-align: middle;
+ border-radius: $font-16px;
+ line-height: $font-15px;
+ padding-left: 0;
}
a.mx_Pill {
- word-break: break-all;
- display: inline;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ overflow: hidden;
+ max-width: calc(100% - 1ch);
+}
+
+.mx_Pill {
+ padding: $font-1px;
+ padding-right: 0.4em;
+ vertical-align: text-top;
+ line-height: $font-17px;
+}
+
+/* More specific to override `.markdown-body a` color */
+.mx_EventTile_content .markdown-body a.mx_GroupPill,
+.mx_GroupPill {
+ color: $accent-fg-color;
+ background-color: $rte-group-pill-color;
}
/* More specific to override `.markdown-body a` text-decoration */
@@ -28,7 +45,6 @@ a.mx_Pill {
.mx_UserPill {
color: $primary-fg-color;
background-color: $other-user-pill-bg-color;
- padding-right: 5px;
}
.mx_UserPill_selected {
@@ -42,7 +58,6 @@ a.mx_Pill {
.mx_MessageComposer_input .mx_AtRoomPill {
color: $accent-fg-color;
background-color: $mention-user-pill-bg-color;
- padding-right: 5px;
}
/* More specific to override `.markdown-body a` color */
@@ -52,15 +67,6 @@ a.mx_Pill {
.mx_GroupPill {
color: $accent-fg-color;
background-color: $rte-room-pill-color;
- padding-right: 5px;
-}
-
-/* More specific to override `.markdown-body a` color */
-.mx_EventTile_content .markdown-body a.mx_GroupPill,
-.mx_GroupPill {
- color: $accent-fg-color;
- background-color: $rte-group-pill-color;
- padding-right: 5px;
}
.mx_EventTile_body .mx_UserPill,
@@ -74,8 +80,10 @@ a.mx_Pill {
.mx_GroupPill .mx_BaseAvatar,
.mx_AtRoomPill .mx_BaseAvatar {
position: relative;
- left: -3px;
- top: 2px;
+ display: inline-flex;
+ align-items: center;
+ border-radius: 10rem;
+ margin-right: 0.24rem;
}
.mx_Markdown_BOLD {
diff --git a/res/css/views/elements/_ToggleSwitch.scss b/res/css/views/elements/_ToggleSwitch.scss
index 1f4445b88c..62669889ee 100644
--- a/res/css/views/elements/_ToggleSwitch.scss
+++ b/res/css/views/elements/_ToggleSwitch.scss
@@ -16,11 +16,13 @@ limitations under the License.
.mx_ToggleSwitch {
transition: background-color 0.20s ease-out 0.1s;
- width: 48px;
- height: 24px;
- border-radius: 14px;
+
+ width: $font-44px;
+ height: $font-20px;
+ border-radius: 1.5rem;
+ padding: 2px;
+
background-color: $togglesw-off-color;
- position: relative;
opacity: 0.5;
}
@@ -31,23 +33,18 @@ limitations under the License.
.mx_ToggleSwitch.mx_ToggleSwitch_on {
background-color: $togglesw-on-color;
+
+ > .mx_ToggleSwitch_ball {
+ left: calc(100% - $font-20px);
+ }
}
.mx_ToggleSwitch_ball {
- transition: left 0.15s ease-out 0.1s;
- margin: 2px;
- width: 20px;
- height: 20px;
- border-radius: 20px;
+ position: relative;
+ width: $font-20px;
+ height: $font-20px;
+ border-radius: $font-20px;
background-color: $togglesw-ball-color;
- position: absolute;
- top: 0;
-}
-
-.mx_ToggleSwitch_on > .mx_ToggleSwitch_ball {
- left: 23px; // 48px switch - 20px ball - 5px padding = 23px
-}
-
-.mx_ToggleSwitch:not(.mx_ToggleSwitch_on) > .mx_ToggleSwitch_ball {
- left: 2px;
+ transition: left 0.15s ease-out 0.1s;
+ left: 0;
}
diff --git a/res/css/views/messages/_MVideoBody.scss b/res/css/views/messages/_MVideoBody.scss
new file mode 100644
index 0000000000..3b05c53f34
--- /dev/null
+++ b/res/css/views/messages/_MVideoBody.scss
@@ -0,0 +1,22 @@
+/*
+Copyright 2020 The Matrix.org Foundation C.I.C.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+span.mx_MVideoBody {
+ video.mx_MVideoBody {
+ max-width: 100%;
+ height: auto;
+ }
+}
diff --git a/res/css/views/messages/_ReactionsRowButton.scss b/res/css/views/messages/_ReactionsRowButton.scss
index 941153ca5b..fe5b081042 100644
--- a/res/css/views/messages/_ReactionsRowButton.scss
+++ b/res/css/views/messages/_ReactionsRowButton.scss
@@ -34,12 +34,17 @@ limitations under the License.
background-color: $reaction-row-button-selected-bg-color;
border-color: $reaction-row-button-selected-border-color;
}
-}
-.mx_ReactionsRowButton_content {
- max-width: 100px;
- overflow: hidden;
- white-space: nowrap;
- text-overflow: ellipsis;
- padding-right: 4px;
+ // ignore mouse events for all children, treat it as one entire hoverable entity
+ * {
+ pointer-events: none;
+ }
+
+ .mx_ReactionsRowButton_content {
+ max-width: 100px;
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ padding-right: 4px;
+ }
}
diff --git a/res/css/views/messages/_RedactedBody.scss b/res/css/views/messages/_RedactedBody.scss
new file mode 100644
index 0000000000..e4ab0c0835
--- /dev/null
+++ b/res/css/views/messages/_RedactedBody.scss
@@ -0,0 +1,36 @@
+/*
+Copyright 2020 The Matrix.org Foundation C.I.C.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+ http://www.apache.org/licenses/LICENSE-2.0
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+.mx_RedactedBody {
+ white-space: pre-wrap;
+ color: $muted-fg-color;
+ vertical-align: middle;
+
+ padding-left: 20px;
+ position: relative;
+
+ &::before {
+ height: 14px;
+ width: 14px;
+ background-color: $muted-fg-color;
+ mask-image: url('$(res)/img/feather-customised/trash.custom.svg');
+ mask-repeat: no-repeat;
+ mask-position: center;
+ mask-size: contain;
+ content: '';
+ position: absolute;
+ top: 2px;
+ left: 0;
+ }
+}
diff --git a/res/css/views/right_panel/_UserInfo.scss b/res/css/views/right_panel/_UserInfo.scss
index a4d88f9882..26b81e94f3 100644
--- a/res/css/views/right_panel/_UserInfo.scss
+++ b/res/css/views/right_panel/_UserInfo.scss
@@ -98,8 +98,8 @@ limitations under the License.
position: absolute;
top: 0;
left: 0;
- width: 100%;
- height: 100%;
+ width: 100% !important;
+ height: 100% !important;
}
.mx_UserInfo_avatar .mx_BaseAvatar_initial {
@@ -109,7 +109,7 @@ limitations under the License.
justify-content: center;
// override the calculated sizes so that the letter isn't HUGE
- font-size: 56px !important;
+ font-size: 6rem !important;
width: 100% !important;
transition: font-size 0.5s;
}
diff --git a/res/css/views/rooms/_Autocomplete.scss b/res/css/views/rooms/_Autocomplete.scss
index e5316f5a46..a4aebdb708 100644
--- a/res/css/views/rooms/_Autocomplete.scss
+++ b/res/css/views/rooms/_Autocomplete.scss
@@ -31,9 +31,10 @@
}
.mx_Autocomplete_Completion_pill {
- border-radius: 17px;
- height: 34px;
- padding: 0px 5px;
+ box-sizing: border-box;
+ border-radius: 2rem;
+ height: $font-34px;
+ padding: 0.4rem;
display: flex;
user-select: none;
cursor: pointer;
@@ -42,7 +43,7 @@
}
.mx_Autocomplete_Completion_pill > * {
- margin: 0 3px;
+ margin-right: 0.3rem;
}
/* styling for common completion elements */
diff --git a/res/css/views/rooms/_BasicMessageComposer.scss b/res/css/views/rooms/_BasicMessageComposer.scss
index e9013eb7b7..e126e523a6 100644
--- a/res/css/views/rooms/_BasicMessageComposer.scss
+++ b/res/css/views/rooms/_BasicMessageComposer.scss
@@ -46,22 +46,19 @@ limitations under the License.
&.mx_BasicMessageComposer_input_shouldShowPillAvatar {
span.mx_UserPill, span.mx_RoomPill {
- padding-left: 21px;
position: relative;
// avatar psuedo element
&::before {
- position: absolute;
- left: 2px;
- top: 2px;
content: var(--avatar-letter);
- width: 16px;
- height: 16px;
+ width: $font-16px;
+ height: $font-16px;
+ margin-right: 0.24rem;
background: var(--avatar-background), $avatar-bg-color;
color: $avatar-initial-color;
background-repeat: no-repeat;
- background-size: 16px;
- border-radius: 8px;
+ background-size: $font-16px;
+ border-radius: $font-16px;
text-align: center;
font-weight: normal;
line-height: $font-16px;
diff --git a/res/css/views/rooms/_EntityTile.scss b/res/css/views/rooms/_EntityTile.scss
index 966d2c4e70..8db71f297c 100644
--- a/res/css/views/rooms/_EntityTile.scss
+++ b/res/css/views/rooms/_EntityTile.scss
@@ -69,8 +69,6 @@ limitations under the License.
padding-right: 12px;
padding-top: 4px;
padding-bottom: 4px;
- width: 36px;
- height: 36px;
position: relative;
}
diff --git a/res/css/views/rooms/_EventTile.scss b/res/css/views/rooms/_EventTile.scss
index e015f30e48..d4e54f4473 100644
--- a/res/css/views/rooms/_EventTile.scss
+++ b/res/css/views/rooms/_EventTile.scss
@@ -45,7 +45,7 @@ limitations under the License.
}
.mx_EventTile.mx_EventTile_info .mx_EventTile_avatar {
- top: 8px;
+ top: $font-8px;
left: 65px;
}
@@ -110,21 +110,23 @@ limitations under the License.
user-select: none;
}
-.mx_EventTile_line, .mx_EventTile_reply {
+.mx_EventTile_continuation .mx_EventTile_line {
clear: both;
+}
+
+.mx_EventTile_line, .mx_EventTile_reply {
position: relative;
padding-left: 65px; /* left gutter */
- padding-top: 4px;
- padding-bottom: 2px;
+ padding-top: 3px;
+ padding-bottom: 3px;
border-radius: 4px;
- min-height: 24px;
line-height: $font-22px;
}
.mx_RoomView_timeline_rr_enabled,
// on ELS we need the margin to allow interaction with the expand/collapse button which is normally in the RR gutter
.mx_EventListSummary {
- .mx_EventTile_line, .mx_EventTile_reply {
+ .mx_EventTile_line {
/* ideally should be 100px, but 95px gives us a max thumbnail size of 800x600, which is nice */
margin-right: 110px;
}
@@ -242,34 +244,6 @@ limitations under the License.
color: $event-notsent-color;
}
-.mx_EventTile_redacted .mx_EventTile_line .mx_UnknownBody,
-.mx_EventTile_redacted .mx_EventTile_reply .mx_UnknownBody {
- --lozenge-color: $event-redacted-fg-color;
- --lozenge-border-color: $event-redacted-border-color;
- display: block;
- height: 22px;
- width: 250px;
- border-radius: 11px;
- background:
- repeating-linear-gradient(
- -45deg,
- var(--lozenge-color),
- var(--lozenge-color) 3px,
- transparent 3px,
- transparent 6px
- );
- box-shadow: 0px 0px 3px var(--lozenge-border-color) inset;
-}
-
-.mx_EventTile_sending.mx_EventTile_redacted .mx_UnknownBody {
- opacity: 0.4;
-}
-
-div.mx_EventTile_notSent.mx_EventTile_redacted .mx_UnknownBody {
- --lozenge-color: $event-notsent-color;
- --lozenge-border-color: $event-notsent-color;
-}
-
.mx_EventTile_contextual {
opacity: 0.4;
}
@@ -311,6 +285,8 @@ div.mx_EventTile_notSent.mx_EventTile_redacted .mx_UnknownBody {
.mx_EventTile_readAvatars .mx_BaseAvatar {
position: absolute;
display: inline-block;
+ height: $font-14px;
+ width: $font-14px;
}
.mx_EventTile_readAvatarRemainder {
@@ -661,3 +637,23 @@ div.mx_EventTile_notSent.mx_EventTile_redacted .mx_UnknownBody {
}
}
}
+
+.mx_EventTile_tileError {
+ color: red;
+ text-align: center;
+
+ // Remove some of the default tile padding so that the error is centered
+ margin-right: 0;
+ .mx_EventTile_line {
+ padding-left: 0;
+ margin-right: 0;
+ }
+
+ .mx_EventTile_line span {
+ padding: 4px 8px;
+ }
+
+ a {
+ margin-left: 1em;
+ }
+}
diff --git a/res/css/views/rooms/_RoomHeader.scss b/res/css/views/rooms/_RoomHeader.scss
index 969106c9ea..80f6c40f39 100644
--- a/res/css/views/rooms/_RoomHeader.scss
+++ b/res/css/views/rooms/_RoomHeader.scss
@@ -173,8 +173,6 @@ limitations under the License.
.mx_RoomHeader_avatar {
flex: 0;
- width: 28px;
- height: 28px;
margin: 0 7px;
position: relative;
}
diff --git a/res/css/views/rooms/_RoomRecoveryReminder.scss b/res/css/views/rooms/_RoomRecoveryReminder.scss
index 85d42ca4b4..09b28ae235 100644
--- a/res/css/views/rooms/_RoomRecoveryReminder.scss
+++ b/res/css/views/rooms/_RoomRecoveryReminder.scss
@@ -33,11 +33,6 @@ limitations under the License.
margin-bottom: 1em;
}
-.mx_RoomRecoveryReminder_button {
- @mixin mx_DialogButton;
- margin: 0 10px;
-}
-
.mx_RoomRecoveryReminder_secondary {
font-size: 90%;
margin-top: 1em;
diff --git a/res/css/views/rooms/_RoomTile.scss b/res/css/views/rooms/_RoomTile.scss
index 7be2a4e3d4..5bc7d5624d 100644
--- a/res/css/views/rooms/_RoomTile.scss
+++ b/res/css/views/rooms/_RoomTile.scss
@@ -20,10 +20,24 @@ limitations under the License.
flex-direction: row;
align-items: center;
cursor: pointer;
- height: 34px;
+ height: $font-34px;
margin: 0;
padding: 0 8px 0 10px;
position: relative;
+
+ .mx_RoomTile_menuButton {
+ display: none;
+ flex: 0 0 16px;
+ height: 16px;
+ background-image: url('$(res)/img/icon_context.svg');
+ background-repeat: no-repeat;
+ background-position: center;
+ }
+
+ .mx_UserOnlineDot {
+ display: block;
+ margin-right: 5px;
+ }
}
.mx_RoomTile:focus {
@@ -31,15 +45,6 @@ limitations under the License.
background-color: $roomtile-focused-bg-color;
}
-.mx_RoomTile_menuButton {
- display: none;
- flex: 0 0 16px;
- height: 16px;
- background-image: url('$(res)/img/icon_context.svg');
- background-repeat: no-repeat;
- background-position: center;
-}
-
.mx_RoomTile_tooltip {
display: inline-block;
position: relative;
@@ -151,7 +156,10 @@ limitations under the License.
}
.mx_RoomTile_menuButton {
- display: none; //no design for this for now
+ display: none; // no design for this for now
+ }
+ .mx_UserOnlineDot {
+ display: none; // no design for this for now
}
}
@@ -164,6 +172,9 @@ limitations under the License.
.mx_RoomTile_menuButton {
display: block;
}
+ .mx_UserOnlineDot {
+ display: none;
+ }
}
.mx_RoomTile_unreadNotify .mx_RoomTile_badge,
diff --git a/res/css/views/rooms/_UserOnlineDot.scss b/res/css/views/rooms/_UserOnlineDot.scss
index 339e5cc48a..f9da8648ed 100644
--- a/res/css/views/rooms/_UserOnlineDot.scss
+++ b/res/css/views/rooms/_UserOnlineDot.scss
@@ -17,7 +17,7 @@ limitations under the License.
.mx_UserOnlineDot {
border-radius: 50%;
background-color: $accent-color;
- height: 5px;
- width: 5px;
+ height: 6px;
+ width: 6px;
display: inline-block;
}
diff --git a/res/css/views/settings/_AvatarSetting.scss b/res/css/views/settings/_AvatarSetting.scss
index 35dba90f85..9fa10907b4 100644
--- a/res/css/views/settings/_AvatarSetting.scss
+++ b/res/css/views/settings/_AvatarSetting.scss
@@ -15,13 +15,13 @@ limitations under the License.
*/
.mx_AvatarSetting_avatar {
- width: 88px;
- height: 88px;
+ width: $font-88px;
+ height: $font-88px;
margin-left: 13px;
position: relative;
& > * {
- width: 88px;
+ width: $font-88px;
box-sizing: border-box;
}
@@ -63,7 +63,7 @@ limitations under the License.
& > img,
.mx_AvatarSetting_avatarPlaceholder {
display: block;
- height: 88px;
+ height: $font-88px;
border-radius: 4px;
}
diff --git a/res/css/views/settings/tabs/_SettingsTab.scss b/res/css/views/settings/tabs/_SettingsTab.scss
index 1fbfb35927..e3a61e6825 100644
--- a/res/css/views/settings/tabs/_SettingsTab.scss
+++ b/res/css/views/settings/tabs/_SettingsTab.scss
@@ -63,7 +63,7 @@ limitations under the License.
display: inline-block;
font-size: $font-14px;
color: $primary-fg-color;
- max-width: calc(100% - 48px); // Force word wrap instead of colliding with the switch
+ max-width: calc(100% - $font-48px); // Force word wrap instead of colliding with the switch
box-sizing: border-box;
padding-right: 10px;
}
diff --git a/res/css/views/settings/tabs/user/_GeneralUserSettingsTab.scss b/res/css/views/settings/tabs/user/_GeneralUserSettingsTab.scss
index 62d230e752..95a46b51ee 100644
--- a/res/css/views/settings/tabs/user/_GeneralUserSettingsTab.scss
+++ b/res/css/views/settings/tabs/user/_GeneralUserSettingsTab.scss
@@ -23,6 +23,12 @@ limitations under the License.
margin-top: 0;
}
+.mx_GeneralUserSettingsTab_accountSection .mx_Spinner,
+.mx_GeneralUserSettingsTab_discovery .mx_Spinner {
+ // Move the spinner to the left side of the container (default center)
+ justify-content: left;
+}
+
.mx_GeneralUserSettingsTab_accountSection .mx_EmailAddresses,
.mx_GeneralUserSettingsTab_accountSection .mx_PhoneNumbers,
.mx_GeneralUserSettingsTab_discovery .mx_ExistingEmailAddress,
diff --git a/res/css/views/settings/tabs/user/_SecurityUserSettingsTab.scss b/res/css/views/settings/tabs/user/_SecurityUserSettingsTab.scss
index b5a6693006..8700f8747d 100644
--- a/res/css/views/settings/tabs/user/_SecurityUserSettingsTab.scss
+++ b/res/css/views/settings/tabs/user/_SecurityUserSettingsTab.scss
@@ -55,3 +55,12 @@ limitations under the License.
.mx_SecurityUserSettingsTab_ignoredUser .mx_AccessibleButton {
margin-right: 10px;
}
+
+.mx_SecurityUserSettingsTab {
+ .mx_SettingsTab_section {
+ .mx_AccessibleButton_kind_link {
+ padding: 0;
+ font-size: inherit;
+ }
+ }
+}
diff --git a/res/img/03b381.png b/res/img/03b381.png
deleted file mode 100644
index cf28fc7e59..0000000000
Binary files a/res/img/03b381.png and /dev/null differ
diff --git a/res/img/368bd6.png b/res/img/368bd6.png
deleted file mode 100644
index a2700bd0ae..0000000000
Binary files a/res/img/368bd6.png and /dev/null differ
diff --git a/res/img/ac3ba8.png b/res/img/ac3ba8.png
deleted file mode 100644
index 031471d85a..0000000000
Binary files a/res/img/ac3ba8.png and /dev/null differ
diff --git a/res/img/feather-customised/monitor.svg b/res/img/feather-customised/monitor.svg
new file mode 100644
index 0000000000..231811d5a6
--- /dev/null
+++ b/res/img/feather-customised/monitor.svg
@@ -0,0 +1,5 @@
+
diff --git a/res/img/feather-customised/smartphone.svg b/res/img/feather-customised/smartphone.svg
new file mode 100644
index 0000000000..fde78c82e2
--- /dev/null
+++ b/res/img/feather-customised/smartphone.svg
@@ -0,0 +1,4 @@
+
diff --git a/res/img/feather-customised/trash.custom.svg b/res/img/feather-customised/trash.custom.svg
new file mode 100644
index 0000000000..dc1985ddb2
--- /dev/null
+++ b/res/img/feather-customised/trash.custom.svg
@@ -0,0 +1,7 @@
+
diff --git a/res/img/flags/AD.png b/res/img/flags/AD.png
deleted file mode 100644
index d5d59645fe..0000000000
Binary files a/res/img/flags/AD.png and /dev/null differ
diff --git a/res/img/flags/AE.png b/res/img/flags/AE.png
deleted file mode 100644
index 05c7418aa4..0000000000
Binary files a/res/img/flags/AE.png and /dev/null differ
diff --git a/res/img/flags/AF.png b/res/img/flags/AF.png
deleted file mode 100644
index bc7cef0916..0000000000
Binary files a/res/img/flags/AF.png and /dev/null differ
diff --git a/res/img/flags/AG.png b/res/img/flags/AG.png
deleted file mode 100644
index d48facad47..0000000000
Binary files a/res/img/flags/AG.png and /dev/null differ
diff --git a/res/img/flags/AI.png b/res/img/flags/AI.png
deleted file mode 100644
index 8fd27cd39e..0000000000
Binary files a/res/img/flags/AI.png and /dev/null differ
diff --git a/res/img/flags/AL.png b/res/img/flags/AL.png
deleted file mode 100644
index 883835ffb3..0000000000
Binary files a/res/img/flags/AL.png and /dev/null differ
diff --git a/res/img/flags/AM.png b/res/img/flags/AM.png
deleted file mode 100644
index b1bb36b987..0000000000
Binary files a/res/img/flags/AM.png and /dev/null differ
diff --git a/res/img/flags/AO.png b/res/img/flags/AO.png
deleted file mode 100644
index ae68b12c44..0000000000
Binary files a/res/img/flags/AO.png and /dev/null differ
diff --git a/res/img/flags/AQ.png b/res/img/flags/AQ.png
deleted file mode 100644
index 146e9c0a04..0000000000
Binary files a/res/img/flags/AQ.png and /dev/null differ
diff --git a/res/img/flags/AR.png b/res/img/flags/AR.png
deleted file mode 100644
index 8142adfc83..0000000000
Binary files a/res/img/flags/AR.png and /dev/null differ
diff --git a/res/img/flags/AS.png b/res/img/flags/AS.png
deleted file mode 100644
index cc5bf30daf..0000000000
Binary files a/res/img/flags/AS.png and /dev/null differ
diff --git a/res/img/flags/AT.png b/res/img/flags/AT.png
deleted file mode 100644
index e32414bd6a..0000000000
Binary files a/res/img/flags/AT.png and /dev/null differ
diff --git a/res/img/flags/AU.png b/res/img/flags/AU.png
deleted file mode 100644
index 8d1e143791..0000000000
Binary files a/res/img/flags/AU.png and /dev/null differ
diff --git a/res/img/flags/AW.png b/res/img/flags/AW.png
deleted file mode 100644
index 6ec178847e..0000000000
Binary files a/res/img/flags/AW.png and /dev/null differ
diff --git a/res/img/flags/AX.png b/res/img/flags/AX.png
deleted file mode 100644
index ba269c0453..0000000000
Binary files a/res/img/flags/AX.png and /dev/null differ
diff --git a/res/img/flags/AZ.png b/res/img/flags/AZ.png
deleted file mode 100644
index 2bf3c746e7..0000000000
Binary files a/res/img/flags/AZ.png and /dev/null differ
diff --git a/res/img/flags/BA.png b/res/img/flags/BA.png
deleted file mode 100644
index 3e3ec3fc76..0000000000
Binary files a/res/img/flags/BA.png and /dev/null differ
diff --git a/res/img/flags/BB.png b/res/img/flags/BB.png
deleted file mode 100644
index 694050ca46..0000000000
Binary files a/res/img/flags/BB.png and /dev/null differ
diff --git a/res/img/flags/BD.png b/res/img/flags/BD.png
deleted file mode 100644
index 6de2cde85b..0000000000
Binary files a/res/img/flags/BD.png and /dev/null differ
diff --git a/res/img/flags/BE.png b/res/img/flags/BE.png
deleted file mode 100644
index 742ba9231f..0000000000
Binary files a/res/img/flags/BE.png and /dev/null differ
diff --git a/res/img/flags/BF.png b/res/img/flags/BF.png
deleted file mode 100644
index 17f9f67d26..0000000000
Binary files a/res/img/flags/BF.png and /dev/null differ
diff --git a/res/img/flags/BG.png b/res/img/flags/BG.png
deleted file mode 100644
index b01d3ff57b..0000000000
Binary files a/res/img/flags/BG.png and /dev/null differ
diff --git a/res/img/flags/BH.png b/res/img/flags/BH.png
deleted file mode 100644
index d0f82e8285..0000000000
Binary files a/res/img/flags/BH.png and /dev/null differ
diff --git a/res/img/flags/BI.png b/res/img/flags/BI.png
deleted file mode 100644
index 21865ac720..0000000000
Binary files a/res/img/flags/BI.png and /dev/null differ
diff --git a/res/img/flags/BJ.png b/res/img/flags/BJ.png
deleted file mode 100644
index a7c6091434..0000000000
Binary files a/res/img/flags/BJ.png and /dev/null differ
diff --git a/res/img/flags/BL.png b/res/img/flags/BL.png
deleted file mode 100644
index 6d50a0f544..0000000000
Binary files a/res/img/flags/BL.png and /dev/null differ
diff --git a/res/img/flags/BM.png b/res/img/flags/BM.png
deleted file mode 100644
index 310a25ea23..0000000000
Binary files a/res/img/flags/BM.png and /dev/null differ
diff --git a/res/img/flags/BN.png b/res/img/flags/BN.png
deleted file mode 100644
index bc4da8d9a6..0000000000
Binary files a/res/img/flags/BN.png and /dev/null differ
diff --git a/res/img/flags/BO.png b/res/img/flags/BO.png
deleted file mode 100644
index 144b8d32db..0000000000
Binary files a/res/img/flags/BO.png and /dev/null differ
diff --git a/res/img/flags/BQ.png b/res/img/flags/BQ.png
deleted file mode 100644
index 0897943760..0000000000
Binary files a/res/img/flags/BQ.png and /dev/null differ
diff --git a/res/img/flags/BR.png b/res/img/flags/BR.png
deleted file mode 100644
index 0278492592..0000000000
Binary files a/res/img/flags/BR.png and /dev/null differ
diff --git a/res/img/flags/BS.png b/res/img/flags/BS.png
deleted file mode 100644
index 2b05a8fc7c..0000000000
Binary files a/res/img/flags/BS.png and /dev/null differ
diff --git a/res/img/flags/BT.png b/res/img/flags/BT.png
deleted file mode 100644
index 1f031df071..0000000000
Binary files a/res/img/flags/BT.png and /dev/null differ
diff --git a/res/img/flags/BV.png b/res/img/flags/BV.png
deleted file mode 100644
index aafb0f1776..0000000000
Binary files a/res/img/flags/BV.png and /dev/null differ
diff --git a/res/img/flags/BW.png b/res/img/flags/BW.png
deleted file mode 100644
index 3084016718..0000000000
Binary files a/res/img/flags/BW.png and /dev/null differ
diff --git a/res/img/flags/BY.png b/res/img/flags/BY.png
deleted file mode 100644
index ce9de9c9c7..0000000000
Binary files a/res/img/flags/BY.png and /dev/null differ
diff --git a/res/img/flags/BZ.png b/res/img/flags/BZ.png
deleted file mode 100644
index 33620c3f31..0000000000
Binary files a/res/img/flags/BZ.png and /dev/null differ
diff --git a/res/img/flags/CA.png b/res/img/flags/CA.png
deleted file mode 100644
index 4bbf8b1169..0000000000
Binary files a/res/img/flags/CA.png and /dev/null differ
diff --git a/res/img/flags/CC.png b/res/img/flags/CC.png
deleted file mode 100644
index fd40fc8a78..0000000000
Binary files a/res/img/flags/CC.png and /dev/null differ
diff --git a/res/img/flags/CD.png b/res/img/flags/CD.png
deleted file mode 100644
index 230aacd454..0000000000
Binary files a/res/img/flags/CD.png and /dev/null differ
diff --git a/res/img/flags/CF.png b/res/img/flags/CF.png
deleted file mode 100644
index c58ed4f7b2..0000000000
Binary files a/res/img/flags/CF.png and /dev/null differ
diff --git a/res/img/flags/CG.png b/res/img/flags/CG.png
deleted file mode 100644
index 6c2441e3e0..0000000000
Binary files a/res/img/flags/CG.png and /dev/null differ
diff --git a/res/img/flags/CH.png b/res/img/flags/CH.png
deleted file mode 100644
index 9fd87167df..0000000000
Binary files a/res/img/flags/CH.png and /dev/null differ
diff --git a/res/img/flags/CI.png b/res/img/flags/CI.png
deleted file mode 100644
index 9741b9b11f..0000000000
Binary files a/res/img/flags/CI.png and /dev/null differ
diff --git a/res/img/flags/CK.png b/res/img/flags/CK.png
deleted file mode 100644
index 6cca35967c..0000000000
Binary files a/res/img/flags/CK.png and /dev/null differ
diff --git a/res/img/flags/CL.png b/res/img/flags/CL.png
deleted file mode 100644
index 13b993d15d..0000000000
Binary files a/res/img/flags/CL.png and /dev/null differ
diff --git a/res/img/flags/CM.png b/res/img/flags/CM.png
deleted file mode 100644
index bca5730fb5..0000000000
Binary files a/res/img/flags/CM.png and /dev/null differ
diff --git a/res/img/flags/CN.png b/res/img/flags/CN.png
deleted file mode 100644
index e086855c73..0000000000
Binary files a/res/img/flags/CN.png and /dev/null differ
diff --git a/res/img/flags/CO.png b/res/img/flags/CO.png
deleted file mode 100644
index 65c0aba447..0000000000
Binary files a/res/img/flags/CO.png and /dev/null differ
diff --git a/res/img/flags/CR.png b/res/img/flags/CR.png
deleted file mode 100644
index b351c67a53..0000000000
Binary files a/res/img/flags/CR.png and /dev/null differ
diff --git a/res/img/flags/CU.png b/res/img/flags/CU.png
deleted file mode 100644
index e7a25c60b3..0000000000
Binary files a/res/img/flags/CU.png and /dev/null differ
diff --git a/res/img/flags/CV.png b/res/img/flags/CV.png
deleted file mode 100644
index f249bbaa46..0000000000
Binary files a/res/img/flags/CV.png and /dev/null differ
diff --git a/res/img/flags/CW.png b/res/img/flags/CW.png
deleted file mode 100644
index e02cacd3dd..0000000000
Binary files a/res/img/flags/CW.png and /dev/null differ
diff --git a/res/img/flags/CX.png b/res/img/flags/CX.png
deleted file mode 100644
index 3ea21422f0..0000000000
Binary files a/res/img/flags/CX.png and /dev/null differ
diff --git a/res/img/flags/CY.png b/res/img/flags/CY.png
deleted file mode 100644
index 3182f48bd2..0000000000
Binary files a/res/img/flags/CY.png and /dev/null differ
diff --git a/res/img/flags/CZ.png b/res/img/flags/CZ.png
deleted file mode 100644
index 5462334638..0000000000
Binary files a/res/img/flags/CZ.png and /dev/null differ
diff --git a/res/img/flags/DE.png b/res/img/flags/DE.png
deleted file mode 100644
index 93e269166b..0000000000
Binary files a/res/img/flags/DE.png and /dev/null differ
diff --git a/res/img/flags/DJ.png b/res/img/flags/DJ.png
deleted file mode 100644
index 243bb7390d..0000000000
Binary files a/res/img/flags/DJ.png and /dev/null differ
diff --git a/res/img/flags/DK.png b/res/img/flags/DK.png
deleted file mode 100644
index fc74cc396c..0000000000
Binary files a/res/img/flags/DK.png and /dev/null differ
diff --git a/res/img/flags/DM.png b/res/img/flags/DM.png
deleted file mode 100644
index c3a0e9d102..0000000000
Binary files a/res/img/flags/DM.png and /dev/null differ
diff --git a/res/img/flags/DO.png b/res/img/flags/DO.png
deleted file mode 100644
index 5c4a004fef..0000000000
Binary files a/res/img/flags/DO.png and /dev/null differ
diff --git a/res/img/flags/DZ.png b/res/img/flags/DZ.png
deleted file mode 100644
index 1589d0cc40..0000000000
Binary files a/res/img/flags/DZ.png and /dev/null differ
diff --git a/res/img/flags/EC.png b/res/img/flags/EC.png
deleted file mode 100644
index 4c53dead1c..0000000000
Binary files a/res/img/flags/EC.png and /dev/null differ
diff --git a/res/img/flags/EE.png b/res/img/flags/EE.png
deleted file mode 100644
index 3668de7919..0000000000
Binary files a/res/img/flags/EE.png and /dev/null differ
diff --git a/res/img/flags/EG.png b/res/img/flags/EG.png
deleted file mode 100644
index 66ec709df7..0000000000
Binary files a/res/img/flags/EG.png and /dev/null differ
diff --git a/res/img/flags/EH.png b/res/img/flags/EH.png
deleted file mode 100644
index 148be93c08..0000000000
Binary files a/res/img/flags/EH.png and /dev/null differ
diff --git a/res/img/flags/ER.png b/res/img/flags/ER.png
deleted file mode 100644
index 7cb8441514..0000000000
Binary files a/res/img/flags/ER.png and /dev/null differ
diff --git a/res/img/flags/ES.png b/res/img/flags/ES.png
deleted file mode 100644
index aae73b6fcb..0000000000
Binary files a/res/img/flags/ES.png and /dev/null differ
diff --git a/res/img/flags/ET.png b/res/img/flags/ET.png
deleted file mode 100644
index 7b420f02f4..0000000000
Binary files a/res/img/flags/ET.png and /dev/null differ
diff --git a/res/img/flags/FI.png b/res/img/flags/FI.png
deleted file mode 100644
index 42f64bf360..0000000000
Binary files a/res/img/flags/FI.png and /dev/null differ
diff --git a/res/img/flags/FJ.png b/res/img/flags/FJ.png
deleted file mode 100644
index cecc683c9c..0000000000
Binary files a/res/img/flags/FJ.png and /dev/null differ
diff --git a/res/img/flags/FK.png b/res/img/flags/FK.png
deleted file mode 100644
index 6074fea09c..0000000000
Binary files a/res/img/flags/FK.png and /dev/null differ
diff --git a/res/img/flags/FM.png b/res/img/flags/FM.png
deleted file mode 100644
index 45fdb66426..0000000000
Binary files a/res/img/flags/FM.png and /dev/null differ
diff --git a/res/img/flags/FO.png b/res/img/flags/FO.png
deleted file mode 100644
index d8fd75c638..0000000000
Binary files a/res/img/flags/FO.png and /dev/null differ
diff --git a/res/img/flags/FR.png b/res/img/flags/FR.png
deleted file mode 100644
index 6d50a0f544..0000000000
Binary files a/res/img/flags/FR.png and /dev/null differ
diff --git a/res/img/flags/GA.png b/res/img/flags/GA.png
deleted file mode 100644
index 3808a61f1d..0000000000
Binary files a/res/img/flags/GA.png and /dev/null differ
diff --git a/res/img/flags/GB.png b/res/img/flags/GB.png
deleted file mode 100644
index 589be70063..0000000000
Binary files a/res/img/flags/GB.png and /dev/null differ
diff --git a/res/img/flags/GD.png b/res/img/flags/GD.png
deleted file mode 100644
index babe1e4cc6..0000000000
Binary files a/res/img/flags/GD.png and /dev/null differ
diff --git a/res/img/flags/GE.png b/res/img/flags/GE.png
deleted file mode 100644
index d34cddeca9..0000000000
Binary files a/res/img/flags/GE.png and /dev/null differ
diff --git a/res/img/flags/GF.png b/res/img/flags/GF.png
deleted file mode 100644
index 98828a5906..0000000000
Binary files a/res/img/flags/GF.png and /dev/null differ
diff --git a/res/img/flags/GG.png b/res/img/flags/GG.png
deleted file mode 100644
index aec8969b28..0000000000
Binary files a/res/img/flags/GG.png and /dev/null differ
diff --git a/res/img/flags/GH.png b/res/img/flags/GH.png
deleted file mode 100644
index 70b1a623de..0000000000
Binary files a/res/img/flags/GH.png and /dev/null differ
diff --git a/res/img/flags/GI.png b/res/img/flags/GI.png
deleted file mode 100644
index 9aa58327e3..0000000000
Binary files a/res/img/flags/GI.png and /dev/null differ
diff --git a/res/img/flags/GL.png b/res/img/flags/GL.png
deleted file mode 100644
index cf1645c2b5..0000000000
Binary files a/res/img/flags/GL.png and /dev/null differ
diff --git a/res/img/flags/GM.png b/res/img/flags/GM.png
deleted file mode 100644
index ec374fb3c3..0000000000
Binary files a/res/img/flags/GM.png and /dev/null differ
diff --git a/res/img/flags/GN.png b/res/img/flags/GN.png
deleted file mode 100644
index 46874b4d98..0000000000
Binary files a/res/img/flags/GN.png and /dev/null differ
diff --git a/res/img/flags/GP.png b/res/img/flags/GP.png
deleted file mode 100644
index 81b7abdf0e..0000000000
Binary files a/res/img/flags/GP.png and /dev/null differ
diff --git a/res/img/flags/GQ.png b/res/img/flags/GQ.png
deleted file mode 100644
index 7fd1015e8b..0000000000
Binary files a/res/img/flags/GQ.png and /dev/null differ
diff --git a/res/img/flags/GR.png b/res/img/flags/GR.png
deleted file mode 100644
index 101de51eab..0000000000
Binary files a/res/img/flags/GR.png and /dev/null differ
diff --git a/res/img/flags/GS.png b/res/img/flags/GS.png
deleted file mode 100644
index 772c2cbe6d..0000000000
Binary files a/res/img/flags/GS.png and /dev/null differ
diff --git a/res/img/flags/GT.png b/res/img/flags/GT.png
deleted file mode 100644
index d5bd8c1e46..0000000000
Binary files a/res/img/flags/GT.png and /dev/null differ
diff --git a/res/img/flags/GU.png b/res/img/flags/GU.png
deleted file mode 100644
index 8923085d5a..0000000000
Binary files a/res/img/flags/GU.png and /dev/null differ
diff --git a/res/img/flags/GW.png b/res/img/flags/GW.png
deleted file mode 100644
index 20c268ce06..0000000000
Binary files a/res/img/flags/GW.png and /dev/null differ
diff --git a/res/img/flags/GY.png b/res/img/flags/GY.png
deleted file mode 100644
index 86f56635ef..0000000000
Binary files a/res/img/flags/GY.png and /dev/null differ
diff --git a/res/img/flags/HK.png b/res/img/flags/HK.png
deleted file mode 100644
index 907dc59624..0000000000
Binary files a/res/img/flags/HK.png and /dev/null differ
diff --git a/res/img/flags/HM.png b/res/img/flags/HM.png
deleted file mode 100644
index 8d1e143791..0000000000
Binary files a/res/img/flags/HM.png and /dev/null differ
diff --git a/res/img/flags/HN.png b/res/img/flags/HN.png
deleted file mode 100644
index 4cf8c3112c..0000000000
Binary files a/res/img/flags/HN.png and /dev/null differ
diff --git a/res/img/flags/HR.png b/res/img/flags/HR.png
deleted file mode 100644
index 413ceb1586..0000000000
Binary files a/res/img/flags/HR.png and /dev/null differ
diff --git a/res/img/flags/HT.png b/res/img/flags/HT.png
deleted file mode 100644
index 097abeb434..0000000000
Binary files a/res/img/flags/HT.png and /dev/null differ
diff --git a/res/img/flags/HU.png b/res/img/flags/HU.png
deleted file mode 100644
index 23499bf63c..0000000000
Binary files a/res/img/flags/HU.png and /dev/null differ
diff --git a/res/img/flags/ID.png b/res/img/flags/ID.png
deleted file mode 100644
index 80200657c6..0000000000
Binary files a/res/img/flags/ID.png and /dev/null differ
diff --git a/res/img/flags/IE.png b/res/img/flags/IE.png
deleted file mode 100644
index 63f2220118..0000000000
Binary files a/res/img/flags/IE.png and /dev/null differ
diff --git a/res/img/flags/IL.png b/res/img/flags/IL.png
deleted file mode 100644
index 0268826321..0000000000
Binary files a/res/img/flags/IL.png and /dev/null differ
diff --git a/res/img/flags/IM.png b/res/img/flags/IM.png
deleted file mode 100644
index c777acc490..0000000000
Binary files a/res/img/flags/IM.png and /dev/null differ
diff --git a/res/img/flags/IN.png b/res/img/flags/IN.png
deleted file mode 100644
index 85fa9bfe72..0000000000
Binary files a/res/img/flags/IN.png and /dev/null differ
diff --git a/res/img/flags/IO.png b/res/img/flags/IO.png
deleted file mode 100644
index 1675d8e7db..0000000000
Binary files a/res/img/flags/IO.png and /dev/null differ
diff --git a/res/img/flags/IQ.png b/res/img/flags/IQ.png
deleted file mode 100644
index f2c21f7260..0000000000
Binary files a/res/img/flags/IQ.png and /dev/null differ
diff --git a/res/img/flags/IR.png b/res/img/flags/IR.png
deleted file mode 100644
index 0b8e67506c..0000000000
Binary files a/res/img/flags/IR.png and /dev/null differ
diff --git a/res/img/flags/IS.png b/res/img/flags/IS.png
deleted file mode 100644
index 5ee3e63c5c..0000000000
Binary files a/res/img/flags/IS.png and /dev/null differ
diff --git a/res/img/flags/IT.png b/res/img/flags/IT.png
deleted file mode 100644
index 53b967be99..0000000000
Binary files a/res/img/flags/IT.png and /dev/null differ
diff --git a/res/img/flags/JE.png b/res/img/flags/JE.png
deleted file mode 100644
index a1437aba78..0000000000
Binary files a/res/img/flags/JE.png and /dev/null differ
diff --git a/res/img/flags/JM.png b/res/img/flags/JM.png
deleted file mode 100644
index 0d462fa3ae..0000000000
Binary files a/res/img/flags/JM.png and /dev/null differ
diff --git a/res/img/flags/JO.png b/res/img/flags/JO.png
deleted file mode 100644
index 8934db7eca..0000000000
Binary files a/res/img/flags/JO.png and /dev/null differ
diff --git a/res/img/flags/JP.png b/res/img/flags/JP.png
deleted file mode 100644
index 6f92d52365..0000000000
Binary files a/res/img/flags/JP.png and /dev/null differ
diff --git a/res/img/flags/KE.png b/res/img/flags/KE.png
deleted file mode 100644
index 866b3f15dc..0000000000
Binary files a/res/img/flags/KE.png and /dev/null differ
diff --git a/res/img/flags/KG.png b/res/img/flags/KG.png
deleted file mode 100644
index 56b433c756..0000000000
Binary files a/res/img/flags/KG.png and /dev/null differ
diff --git a/res/img/flags/KH.png b/res/img/flags/KH.png
deleted file mode 100644
index e1ddd5f84c..0000000000
Binary files a/res/img/flags/KH.png and /dev/null differ
diff --git a/res/img/flags/KI.png b/res/img/flags/KI.png
deleted file mode 100644
index 8b7c54bc0f..0000000000
Binary files a/res/img/flags/KI.png and /dev/null differ
diff --git a/res/img/flags/KM.png b/res/img/flags/KM.png
deleted file mode 100644
index 227a3b3396..0000000000
Binary files a/res/img/flags/KM.png and /dev/null differ
diff --git a/res/img/flags/KN.png b/res/img/flags/KN.png
deleted file mode 100644
index bc6189bed1..0000000000
Binary files a/res/img/flags/KN.png and /dev/null differ
diff --git a/res/img/flags/KP.png b/res/img/flags/KP.png
deleted file mode 100644
index c92248b910..0000000000
Binary files a/res/img/flags/KP.png and /dev/null differ
diff --git a/res/img/flags/KR.png b/res/img/flags/KR.png
deleted file mode 100644
index ab1cb94943..0000000000
Binary files a/res/img/flags/KR.png and /dev/null differ
diff --git a/res/img/flags/KW.png b/res/img/flags/KW.png
deleted file mode 100644
index 0b41c7a532..0000000000
Binary files a/res/img/flags/KW.png and /dev/null differ
diff --git a/res/img/flags/KY.png b/res/img/flags/KY.png
deleted file mode 100644
index 7af5290d31..0000000000
Binary files a/res/img/flags/KY.png and /dev/null differ
diff --git a/res/img/flags/KZ.png b/res/img/flags/KZ.png
deleted file mode 100644
index e10a1255a0..0000000000
Binary files a/res/img/flags/KZ.png and /dev/null differ
diff --git a/res/img/flags/LA.png b/res/img/flags/LA.png
deleted file mode 100644
index 6ad67d4255..0000000000
Binary files a/res/img/flags/LA.png and /dev/null differ
diff --git a/res/img/flags/LB.png b/res/img/flags/LB.png
deleted file mode 100644
index 865df57a42..0000000000
Binary files a/res/img/flags/LB.png and /dev/null differ
diff --git a/res/img/flags/LC.png b/res/img/flags/LC.png
deleted file mode 100644
index e83a2d08bc..0000000000
Binary files a/res/img/flags/LC.png and /dev/null differ
diff --git a/res/img/flags/LI.png b/res/img/flags/LI.png
deleted file mode 100644
index 57034d367c..0000000000
Binary files a/res/img/flags/LI.png and /dev/null differ
diff --git a/res/img/flags/LK.png b/res/img/flags/LK.png
deleted file mode 100644
index 6e7ad58254..0000000000
Binary files a/res/img/flags/LK.png and /dev/null differ
diff --git a/res/img/flags/LR.png b/res/img/flags/LR.png
deleted file mode 100644
index 46c3b84a92..0000000000
Binary files a/res/img/flags/LR.png and /dev/null differ
diff --git a/res/img/flags/LS.png b/res/img/flags/LS.png
deleted file mode 100644
index 79b505d490..0000000000
Binary files a/res/img/flags/LS.png and /dev/null differ
diff --git a/res/img/flags/LT.png b/res/img/flags/LT.png
deleted file mode 100644
index 7740cdc0a0..0000000000
Binary files a/res/img/flags/LT.png and /dev/null differ
diff --git a/res/img/flags/LU.png b/res/img/flags/LU.png
deleted file mode 100644
index 8f383e674e..0000000000
Binary files a/res/img/flags/LU.png and /dev/null differ
diff --git a/res/img/flags/LV.png b/res/img/flags/LV.png
deleted file mode 100644
index a0f36d89c4..0000000000
Binary files a/res/img/flags/LV.png and /dev/null differ
diff --git a/res/img/flags/LY.png b/res/img/flags/LY.png
deleted file mode 100644
index 2884c4c0a9..0000000000
Binary files a/res/img/flags/LY.png and /dev/null differ
diff --git a/res/img/flags/MA.png b/res/img/flags/MA.png
deleted file mode 100644
index 1f76cfc9bd..0000000000
Binary files a/res/img/flags/MA.png and /dev/null differ
diff --git a/res/img/flags/MC.png b/res/img/flags/MC.png
deleted file mode 100644
index 06fc2ad166..0000000000
Binary files a/res/img/flags/MC.png and /dev/null differ
diff --git a/res/img/flags/MD.png b/res/img/flags/MD.png
deleted file mode 100644
index 8e54c2b815..0000000000
Binary files a/res/img/flags/MD.png and /dev/null differ
diff --git a/res/img/flags/ME.png b/res/img/flags/ME.png
deleted file mode 100644
index 97424d4ec2..0000000000
Binary files a/res/img/flags/ME.png and /dev/null differ
diff --git a/res/img/flags/MF.png b/res/img/flags/MF.png
deleted file mode 100644
index 6d50a0f544..0000000000
Binary files a/res/img/flags/MF.png and /dev/null differ
diff --git a/res/img/flags/MG.png b/res/img/flags/MG.png
deleted file mode 100644
index 28bfccc9e8..0000000000
Binary files a/res/img/flags/MG.png and /dev/null differ
diff --git a/res/img/flags/MH.png b/res/img/flags/MH.png
deleted file mode 100644
index e482a65924..0000000000
Binary files a/res/img/flags/MH.png and /dev/null differ
diff --git a/res/img/flags/MK.png b/res/img/flags/MK.png
deleted file mode 100644
index 84e2e65e76..0000000000
Binary files a/res/img/flags/MK.png and /dev/null differ
diff --git a/res/img/flags/ML.png b/res/img/flags/ML.png
deleted file mode 100644
index 38fec34796..0000000000
Binary files a/res/img/flags/ML.png and /dev/null differ
diff --git a/res/img/flags/MM.png b/res/img/flags/MM.png
deleted file mode 100644
index 70a03c6b14..0000000000
Binary files a/res/img/flags/MM.png and /dev/null differ
diff --git a/res/img/flags/MN.png b/res/img/flags/MN.png
deleted file mode 100644
index 1e1bbe6089..0000000000
Binary files a/res/img/flags/MN.png and /dev/null differ
diff --git a/res/img/flags/MO.png b/res/img/flags/MO.png
deleted file mode 100644
index 3833d683e7..0000000000
Binary files a/res/img/flags/MO.png and /dev/null differ
diff --git a/res/img/flags/MP.png b/res/img/flags/MP.png
deleted file mode 100644
index 63119096b0..0000000000
Binary files a/res/img/flags/MP.png and /dev/null differ
diff --git a/res/img/flags/MQ.png b/res/img/flags/MQ.png
deleted file mode 100644
index 9cab441aec..0000000000
Binary files a/res/img/flags/MQ.png and /dev/null differ
diff --git a/res/img/flags/MR.png b/res/img/flags/MR.png
deleted file mode 100644
index c144de17f7..0000000000
Binary files a/res/img/flags/MR.png and /dev/null differ
diff --git a/res/img/flags/MS.png b/res/img/flags/MS.png
deleted file mode 100644
index 1221707042..0000000000
Binary files a/res/img/flags/MS.png and /dev/null differ
diff --git a/res/img/flags/MT.png b/res/img/flags/MT.png
deleted file mode 100644
index 7963aa618a..0000000000
Binary files a/res/img/flags/MT.png and /dev/null differ
diff --git a/res/img/flags/MU.png b/res/img/flags/MU.png
deleted file mode 100644
index d5d4d4008d..0000000000
Binary files a/res/img/flags/MU.png and /dev/null differ
diff --git a/res/img/flags/MV.png b/res/img/flags/MV.png
deleted file mode 100644
index 0f2ecb4389..0000000000
Binary files a/res/img/flags/MV.png and /dev/null differ
diff --git a/res/img/flags/MW.png b/res/img/flags/MW.png
deleted file mode 100644
index d0a5d24f55..0000000000
Binary files a/res/img/flags/MW.png and /dev/null differ
diff --git a/res/img/flags/MX.png b/res/img/flags/MX.png
deleted file mode 100644
index 096cb1111f..0000000000
Binary files a/res/img/flags/MX.png and /dev/null differ
diff --git a/res/img/flags/MY.png b/res/img/flags/MY.png
deleted file mode 100644
index 17f18ac519..0000000000
Binary files a/res/img/flags/MY.png and /dev/null differ
diff --git a/res/img/flags/MZ.png b/res/img/flags/MZ.png
deleted file mode 100644
index 66be6563c6..0000000000
Binary files a/res/img/flags/MZ.png and /dev/null differ
diff --git a/res/img/flags/NA.png b/res/img/flags/NA.png
deleted file mode 100644
index 7ecfd317c7..0000000000
Binary files a/res/img/flags/NA.png and /dev/null differ
diff --git a/res/img/flags/NC.png b/res/img/flags/NC.png
deleted file mode 100644
index 11126ade77..0000000000
Binary files a/res/img/flags/NC.png and /dev/null differ
diff --git a/res/img/flags/NE.png b/res/img/flags/NE.png
deleted file mode 100644
index d584fa8429..0000000000
Binary files a/res/img/flags/NE.png and /dev/null differ
diff --git a/res/img/flags/NF.png b/res/img/flags/NF.png
deleted file mode 100644
index c054042591..0000000000
Binary files a/res/img/flags/NF.png and /dev/null differ
diff --git a/res/img/flags/NG.png b/res/img/flags/NG.png
deleted file mode 100644
index 73aee15b3f..0000000000
Binary files a/res/img/flags/NG.png and /dev/null differ
diff --git a/res/img/flags/NI.png b/res/img/flags/NI.png
deleted file mode 100644
index fd044933e4..0000000000
Binary files a/res/img/flags/NI.png and /dev/null differ
diff --git a/res/img/flags/NL.png b/res/img/flags/NL.png
deleted file mode 100644
index 0897943760..0000000000
Binary files a/res/img/flags/NL.png and /dev/null differ
diff --git a/res/img/flags/NO.png b/res/img/flags/NO.png
deleted file mode 100644
index aafb0f1776..0000000000
Binary files a/res/img/flags/NO.png and /dev/null differ
diff --git a/res/img/flags/NP.png b/res/img/flags/NP.png
deleted file mode 100644
index 744458e17e..0000000000
Binary files a/res/img/flags/NP.png and /dev/null differ
diff --git a/res/img/flags/NR.png b/res/img/flags/NR.png
deleted file mode 100644
index 58c2afb228..0000000000
Binary files a/res/img/flags/NR.png and /dev/null differ
diff --git a/res/img/flags/NU.png b/res/img/flags/NU.png
deleted file mode 100644
index 007c99eca5..0000000000
Binary files a/res/img/flags/NU.png and /dev/null differ
diff --git a/res/img/flags/NZ.png b/res/img/flags/NZ.png
deleted file mode 100644
index 839368dd7b..0000000000
Binary files a/res/img/flags/NZ.png and /dev/null differ
diff --git a/res/img/flags/OM.png b/res/img/flags/OM.png
deleted file mode 100644
index 63a893367f..0000000000
Binary files a/res/img/flags/OM.png and /dev/null differ
diff --git a/res/img/flags/PA.png b/res/img/flags/PA.png
deleted file mode 100644
index 3515d95d37..0000000000
Binary files a/res/img/flags/PA.png and /dev/null differ
diff --git a/res/img/flags/PE.png b/res/img/flags/PE.png
deleted file mode 100644
index 58f70b8d18..0000000000
Binary files a/res/img/flags/PE.png and /dev/null differ
diff --git a/res/img/flags/PF.png b/res/img/flags/PF.png
deleted file mode 100644
index 2f33f2574f..0000000000
Binary files a/res/img/flags/PF.png and /dev/null differ
diff --git a/res/img/flags/PG.png b/res/img/flags/PG.png
deleted file mode 100644
index c796f587c6..0000000000
Binary files a/res/img/flags/PG.png and /dev/null differ
diff --git a/res/img/flags/PH.png b/res/img/flags/PH.png
deleted file mode 100644
index 0d98de0386..0000000000
Binary files a/res/img/flags/PH.png and /dev/null differ
diff --git a/res/img/flags/PK.png b/res/img/flags/PK.png
deleted file mode 100644
index 87f4e2f492..0000000000
Binary files a/res/img/flags/PK.png and /dev/null differ
diff --git a/res/img/flags/PL.png b/res/img/flags/PL.png
deleted file mode 100644
index 273869dfc6..0000000000
Binary files a/res/img/flags/PL.png and /dev/null differ
diff --git a/res/img/flags/PM.png b/res/img/flags/PM.png
deleted file mode 100644
index b74c396d92..0000000000
Binary files a/res/img/flags/PM.png and /dev/null differ
diff --git a/res/img/flags/PN.png b/res/img/flags/PN.png
deleted file mode 100644
index e34c62d598..0000000000
Binary files a/res/img/flags/PN.png and /dev/null differ
diff --git a/res/img/flags/PR.png b/res/img/flags/PR.png
deleted file mode 100644
index 8efdb91252..0000000000
Binary files a/res/img/flags/PR.png and /dev/null differ
diff --git a/res/img/flags/PS.png b/res/img/flags/PS.png
deleted file mode 100644
index 7a0cceec00..0000000000
Binary files a/res/img/flags/PS.png and /dev/null differ
diff --git a/res/img/flags/PT.png b/res/img/flags/PT.png
deleted file mode 100644
index 49e290827c..0000000000
Binary files a/res/img/flags/PT.png and /dev/null differ
diff --git a/res/img/flags/PW.png b/res/img/flags/PW.png
deleted file mode 100644
index 6cb2e1e70d..0000000000
Binary files a/res/img/flags/PW.png and /dev/null differ
diff --git a/res/img/flags/PY.png b/res/img/flags/PY.png
deleted file mode 100644
index a61c42c423..0000000000
Binary files a/res/img/flags/PY.png and /dev/null differ
diff --git a/res/img/flags/QA.png b/res/img/flags/QA.png
deleted file mode 100644
index bb091cc88c..0000000000
Binary files a/res/img/flags/QA.png and /dev/null differ
diff --git a/res/img/flags/RE.png b/res/img/flags/RE.png
deleted file mode 100644
index 6d50a0f544..0000000000
Binary files a/res/img/flags/RE.png and /dev/null differ
diff --git a/res/img/flags/RO.png b/res/img/flags/RO.png
deleted file mode 100644
index 4495d29eb0..0000000000
Binary files a/res/img/flags/RO.png and /dev/null differ
diff --git a/res/img/flags/RS.png b/res/img/flags/RS.png
deleted file mode 100644
index ebb0f28a7b..0000000000
Binary files a/res/img/flags/RS.png and /dev/null differ
diff --git a/res/img/flags/RU.png b/res/img/flags/RU.png
deleted file mode 100644
index 64532ffa58..0000000000
Binary files a/res/img/flags/RU.png and /dev/null differ
diff --git a/res/img/flags/RW.png b/res/img/flags/RW.png
deleted file mode 100644
index 64b3cfff04..0000000000
Binary files a/res/img/flags/RW.png and /dev/null differ
diff --git a/res/img/flags/SA.png b/res/img/flags/SA.png
deleted file mode 100644
index 250de6f6f5..0000000000
Binary files a/res/img/flags/SA.png and /dev/null differ
diff --git a/res/img/flags/SB.png b/res/img/flags/SB.png
deleted file mode 100644
index 5833c130eb..0000000000
Binary files a/res/img/flags/SB.png and /dev/null differ
diff --git a/res/img/flags/SC.png b/res/img/flags/SC.png
deleted file mode 100644
index ce5248f434..0000000000
Binary files a/res/img/flags/SC.png and /dev/null differ
diff --git a/res/img/flags/SD.png b/res/img/flags/SD.png
deleted file mode 100644
index d8711a83d6..0000000000
Binary files a/res/img/flags/SD.png and /dev/null differ
diff --git a/res/img/flags/SE.png b/res/img/flags/SE.png
deleted file mode 100644
index 81880931f3..0000000000
Binary files a/res/img/flags/SE.png and /dev/null differ
diff --git a/res/img/flags/SG.png b/res/img/flags/SG.png
deleted file mode 100644
index 6f00e57923..0000000000
Binary files a/res/img/flags/SG.png and /dev/null differ
diff --git a/res/img/flags/SH.png b/res/img/flags/SH.png
deleted file mode 100644
index 055dde68bc..0000000000
Binary files a/res/img/flags/SH.png and /dev/null differ
diff --git a/res/img/flags/SI.png b/res/img/flags/SI.png
deleted file mode 100644
index 9635983406..0000000000
Binary files a/res/img/flags/SI.png and /dev/null differ
diff --git a/res/img/flags/SJ.png b/res/img/flags/SJ.png
deleted file mode 100644
index aafb0f1776..0000000000
Binary files a/res/img/flags/SJ.png and /dev/null differ
diff --git a/res/img/flags/SK.png b/res/img/flags/SK.png
deleted file mode 100644
index 84c7021f0a..0000000000
Binary files a/res/img/flags/SK.png and /dev/null differ
diff --git a/res/img/flags/SL.png b/res/img/flags/SL.png
deleted file mode 100644
index c5ed199141..0000000000
Binary files a/res/img/flags/SL.png and /dev/null differ
diff --git a/res/img/flags/SM.png b/res/img/flags/SM.png
deleted file mode 100644
index 1af1ca284f..0000000000
Binary files a/res/img/flags/SM.png and /dev/null differ
diff --git a/res/img/flags/SN.png b/res/img/flags/SN.png
deleted file mode 100644
index d0b1843561..0000000000
Binary files a/res/img/flags/SN.png and /dev/null differ
diff --git a/res/img/flags/SO.png b/res/img/flags/SO.png
deleted file mode 100644
index 64e2970b9d..0000000000
Binary files a/res/img/flags/SO.png and /dev/null differ
diff --git a/res/img/flags/SR.png b/res/img/flags/SR.png
deleted file mode 100644
index b072dda835..0000000000
Binary files a/res/img/flags/SR.png and /dev/null differ
diff --git a/res/img/flags/SS.png b/res/img/flags/SS.png
deleted file mode 100644
index 83933d4521..0000000000
Binary files a/res/img/flags/SS.png and /dev/null differ
diff --git a/res/img/flags/ST.png b/res/img/flags/ST.png
deleted file mode 100644
index c102721a86..0000000000
Binary files a/res/img/flags/ST.png and /dev/null differ
diff --git a/res/img/flags/SV.png b/res/img/flags/SV.png
deleted file mode 100644
index 80de92e556..0000000000
Binary files a/res/img/flags/SV.png and /dev/null differ
diff --git a/res/img/flags/SX.png b/res/img/flags/SX.png
deleted file mode 100644
index dd52215c5d..0000000000
Binary files a/res/img/flags/SX.png and /dev/null differ
diff --git a/res/img/flags/SY.png b/res/img/flags/SY.png
deleted file mode 100644
index 78f45b7c0b..0000000000
Binary files a/res/img/flags/SY.png and /dev/null differ
diff --git a/res/img/flags/SZ.png b/res/img/flags/SZ.png
deleted file mode 100644
index 2182f4ff93..0000000000
Binary files a/res/img/flags/SZ.png and /dev/null differ
diff --git a/res/img/flags/TC.png b/res/img/flags/TC.png
deleted file mode 100644
index 3e3e19d4b3..0000000000
Binary files a/res/img/flags/TC.png and /dev/null differ
diff --git a/res/img/flags/TD.png b/res/img/flags/TD.png
deleted file mode 100644
index 753bec22b0..0000000000
Binary files a/res/img/flags/TD.png and /dev/null differ
diff --git a/res/img/flags/TF.png b/res/img/flags/TF.png
deleted file mode 100644
index 6d50a0f544..0000000000
Binary files a/res/img/flags/TF.png and /dev/null differ
diff --git a/res/img/flags/TG.png b/res/img/flags/TG.png
deleted file mode 100644
index 8501ada655..0000000000
Binary files a/res/img/flags/TG.png and /dev/null differ
diff --git a/res/img/flags/TH.png b/res/img/flags/TH.png
deleted file mode 100644
index 0c884c329e..0000000000
Binary files a/res/img/flags/TH.png and /dev/null differ
diff --git a/res/img/flags/TJ.png b/res/img/flags/TJ.png
deleted file mode 100644
index 3c9026fa0f..0000000000
Binary files a/res/img/flags/TJ.png and /dev/null differ
diff --git a/res/img/flags/TK.png b/res/img/flags/TK.png
deleted file mode 100644
index fd605749ea..0000000000
Binary files a/res/img/flags/TK.png and /dev/null differ
diff --git a/res/img/flags/TL.png b/res/img/flags/TL.png
deleted file mode 100644
index b4c834b1d6..0000000000
Binary files a/res/img/flags/TL.png and /dev/null differ
diff --git a/res/img/flags/TM.png b/res/img/flags/TM.png
deleted file mode 100644
index d18cb939a9..0000000000
Binary files a/res/img/flags/TM.png and /dev/null differ
diff --git a/res/img/flags/TN.png b/res/img/flags/TN.png
deleted file mode 100644
index 21c4b98be7..0000000000
Binary files a/res/img/flags/TN.png and /dev/null differ
diff --git a/res/img/flags/TO.png b/res/img/flags/TO.png
deleted file mode 100644
index c828206e35..0000000000
Binary files a/res/img/flags/TO.png and /dev/null differ
diff --git a/res/img/flags/TR.png b/res/img/flags/TR.png
deleted file mode 100644
index f2a5bd22c8..0000000000
Binary files a/res/img/flags/TR.png and /dev/null differ
diff --git a/res/img/flags/TT.png b/res/img/flags/TT.png
deleted file mode 100644
index 66d698334b..0000000000
Binary files a/res/img/flags/TT.png and /dev/null differ
diff --git a/res/img/flags/TV.png b/res/img/flags/TV.png
deleted file mode 100644
index 7a127f51ae..0000000000
Binary files a/res/img/flags/TV.png and /dev/null differ
diff --git a/res/img/flags/TW.png b/res/img/flags/TW.png
deleted file mode 100644
index 2353ba1b0a..0000000000
Binary files a/res/img/flags/TW.png and /dev/null differ
diff --git a/res/img/flags/TZ.png b/res/img/flags/TZ.png
deleted file mode 100644
index 7949f65d8a..0000000000
Binary files a/res/img/flags/TZ.png and /dev/null differ
diff --git a/res/img/flags/UA.png b/res/img/flags/UA.png
deleted file mode 100644
index 687e305294..0000000000
Binary files a/res/img/flags/UA.png and /dev/null differ
diff --git a/res/img/flags/UG.png b/res/img/flags/UG.png
deleted file mode 100644
index 0a21ad15c3..0000000000
Binary files a/res/img/flags/UG.png and /dev/null differ
diff --git a/res/img/flags/US.png b/res/img/flags/US.png
deleted file mode 100644
index c3a245b767..0000000000
Binary files a/res/img/flags/US.png and /dev/null differ
diff --git a/res/img/flags/UY.png b/res/img/flags/UY.png
deleted file mode 100644
index 21a347c6fc..0000000000
Binary files a/res/img/flags/UY.png and /dev/null differ
diff --git a/res/img/flags/UZ.png b/res/img/flags/UZ.png
deleted file mode 100644
index 643b6ae0cf..0000000000
Binary files a/res/img/flags/UZ.png and /dev/null differ
diff --git a/res/img/flags/VA.png b/res/img/flags/VA.png
deleted file mode 100644
index 63a13c0e81..0000000000
Binary files a/res/img/flags/VA.png and /dev/null differ
diff --git a/res/img/flags/VC.png b/res/img/flags/VC.png
deleted file mode 100644
index da991a9344..0000000000
Binary files a/res/img/flags/VC.png and /dev/null differ
diff --git a/res/img/flags/VE.png b/res/img/flags/VE.png
deleted file mode 100644
index e75e17c9f0..0000000000
Binary files a/res/img/flags/VE.png and /dev/null differ
diff --git a/res/img/flags/VG.png b/res/img/flags/VG.png
deleted file mode 100644
index 46f93cad1e..0000000000
Binary files a/res/img/flags/VG.png and /dev/null differ
diff --git a/res/img/flags/VI.png b/res/img/flags/VI.png
deleted file mode 100644
index 8c849a733e..0000000000
Binary files a/res/img/flags/VI.png and /dev/null differ
diff --git a/res/img/flags/VN.png b/res/img/flags/VN.png
deleted file mode 100644
index 6ea2122f9d..0000000000
Binary files a/res/img/flags/VN.png and /dev/null differ
diff --git a/res/img/flags/VU.png b/res/img/flags/VU.png
deleted file mode 100644
index bad3ba4d46..0000000000
Binary files a/res/img/flags/VU.png and /dev/null differ
diff --git a/res/img/flags/WF.png b/res/img/flags/WF.png
deleted file mode 100644
index d94359dcc4..0000000000
Binary files a/res/img/flags/WF.png and /dev/null differ
diff --git a/res/img/flags/WS.png b/res/img/flags/WS.png
deleted file mode 100644
index f8b80e5ba9..0000000000
Binary files a/res/img/flags/WS.png and /dev/null differ
diff --git a/res/img/flags/YE.png b/res/img/flags/YE.png
deleted file mode 100644
index 8b9bbd8942..0000000000
Binary files a/res/img/flags/YE.png and /dev/null differ
diff --git a/res/img/flags/YT.png b/res/img/flags/YT.png
deleted file mode 100644
index 328879361e..0000000000
Binary files a/res/img/flags/YT.png and /dev/null differ
diff --git a/res/img/flags/ZA.png b/res/img/flags/ZA.png
deleted file mode 100644
index 7f0a52d3b2..0000000000
Binary files a/res/img/flags/ZA.png and /dev/null differ
diff --git a/res/img/flags/ZM.png b/res/img/flags/ZM.png
deleted file mode 100644
index 87adc3afaa..0000000000
Binary files a/res/img/flags/ZM.png and /dev/null differ
diff --git a/res/img/flags/ZW.png b/res/img/flags/ZW.png
deleted file mode 100644
index 742c9f7e71..0000000000
Binary files a/res/img/flags/ZW.png and /dev/null differ
diff --git a/res/img/icon_person.svg b/res/img/icon_person.svg
deleted file mode 100644
index 4be70df0db..0000000000
--- a/res/img/icon_person.svg
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
diff --git a/res/themes/dark/css/_dark.scss b/res/themes/dark/css/_dark.scss
index 5d6ba033c8..6224c0820f 100644
--- a/res/themes/dark/css/_dark.scss
+++ b/res/themes/dark/css/_dark.scss
@@ -147,6 +147,9 @@ $button-danger-disabled-bg-color: #f5b6bb; // TODO: Verify color
$button-link-fg-color: $accent-color;
$button-link-bg-color: transparent;
+// Toggle switch
+$togglesw-off-color: $room-highlight-color;
+
$visual-bell-bg-color: #800;
$room-warning-bg-color: $header-panel-bg-color;
diff --git a/res/themes/light-custom/css/_custom.scss b/res/themes/light-custom/css/_custom.scss
index e4a08277f9..6206496150 100644
--- a/res/themes/light-custom/css/_custom.scss
+++ b/res/themes/light-custom/css/_custom.scss
@@ -17,6 +17,7 @@ limitations under the License.
//
// --accent-color
$accent-color: var(--accent-color);
+$accent-bg-color: var(--accent-color-15pct);
$button-bg-color: var(--accent-color);
$button-link-fg-color: var(--accent-color);
$button-primary-bg-color: var(--accent-color);
@@ -52,7 +53,6 @@ $tooltip-timeline-bg-color: var(--sidebar-color);
$dialog-backdrop-color: var(--sidebar-color-50pct);
//
// --roomlist-background-color
-$event-selected-color: var(--roomlist-background-color);
$header-panel-bg-color: var(--roomlist-background-color);
$reaction-row-button-bg-color: var(--roomlist-background-color);
$panel-gradient: var(--roomlist-background-color-0pct), var(--roomlist-background-color);
@@ -124,3 +124,15 @@ $notice-primary-color: var(--warning-color);
$pinned-unread-color: var(--warning-color);
$warning-color: var(--warning-color);
$button-danger-disabled-bg-color: var(--warning-color-50pct); // still needs alpha at 0.5
+
+$username-variant1-color: var(--username-colors_1, $username-variant1-color);
+$username-variant2-color: var(--username-colors_2, $username-variant2-color);
+$username-variant3-color: var(--username-colors_3, $username-variant3-color);
+$username-variant4-color: var(--username-colors_4, $username-variant4-color);
+$username-variant5-color: var(--username-colors_5, $username-variant5-color);
+$username-variant6-color: var(--username-colors_6, $username-variant6-color);
+$username-variant7-color: var(--username-colors_7, $username-variant7-color);
+$username-variant8-color: var(--username-colors_8, $username-variant8-color);
+
+$event-selected-color: var(--timeline-highlights-color);
+$event-highlight-bg-color: var(--timeline-highlights-color);
diff --git a/scripts/ci/end-to-end-tests.sh b/scripts/ci/end-to-end-tests.sh
index 2f907dffa2..1233677db4 100755
--- a/scripts/ci/end-to-end-tests.sh
+++ b/scripts/ci/end-to-end-tests.sh
@@ -13,7 +13,6 @@ handle_error() {
trap 'handle_error' ERR
-
echo "--- Building Riot"
scripts/ci/layered-riot-web.sh
cd ../riot-web
diff --git a/src/@types/global.d.ts b/src/@types/global.d.ts
new file mode 100644
index 0000000000..e6e339d067
--- /dev/null
+++ b/src/@types/global.d.ts
@@ -0,0 +1,53 @@
+/*
+Copyright 2020 The Matrix.org Foundation C.I.C.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+import * as ModernizrStatic from "modernizr";
+
+declare global {
+ interface Window {
+ Modernizr: ModernizrStatic;
+ Olm: {
+ init: () => Promise
{_t( "We'll store an encrypted copy of your keys on our server. " + - "Protect your backup with a passphrase to keep it secure.", + "Secure your backup with a recovery passphrase.", )}
{_t("For maximum security, this should be different from your account password.")}
@@ -307,7 +297,7 @@ export default class CreateKeyBackupDialog extends React.PureComponent { onChange={this._onPassPhraseChange} value={this.state.passPhrase} className="mx_CreateKeyBackupDialog_passPhraseInput" - placeholder={_t("Enter a passphrase...")} + placeholder={_t("Enter a recovery passphrase...")} autoFocus={true} />