diff --git a/.editorconfig b/.editorconfig index 880331a09e..87f4c70ae1 100644 --- a/.editorconfig +++ b/.editorconfig @@ -21,3 +21,9 @@ insert_final_newline = true indent_style = space indent_size = 4 trim_trailing_whitespace = true + +[*.{yml,yaml}] +indent_size = 4 + +[package.json] +indent_size = 2 diff --git a/.env.example b/.env.example new file mode 100644 index 0000000000..e2ac444dd0 --- /dev/null +++ b/.env.example @@ -0,0 +1,16 @@ +# To enable CSS hot-reload, set the following variable to 1. +CSS_HOT_RELOAD=1 +# To use the full page error dialog, set this to 1. Please report false positives to +# the issue tracker for handling. +FULL_PAGE_ERRORS=0 +# To use a single theme, uncomment the line with the theme you want to hot-reload. +MATRIX_THEMES='light' +#MATRIX_THEMES='dark' +#MATRIX_THEMES='legacy-light' +#MATRIX_THEMES='legacy-dark' +#MATRIX_THEMES='light-custom' +#MATRIX_THEMES='dark-custom' +# You can also enable multiple themes by using a comma-separated list. +# When multiple themes are enabled, switching between them may require a full page reload. +# Note that compilation times are proportional to the number of enabled themes. +#MATRIX_THEMES='light,dark' diff --git a/.eslintignore b/.eslintignore index fabbe10497..8a5f170a5f 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1,2 +1,5 @@ src/vector/modernizr.js +# Legacy skinning file that some people might still have src/component-index.js +# Auto-generated file +src/modules.ts diff --git a/.eslintrc-module_system.js b/.eslintrc-module_system.js new file mode 100644 index 0000000000..cdf5cf64b5 --- /dev/null +++ b/.eslintrc-module_system.js @@ -0,0 +1,72 @@ +module.exports = { + plugins: ["matrix-org"], + extends: ["./.eslintrc.js"], + parserOptions: { + project: ["./tsconfig.module_system.json"], + }, + overrides: [ + { + files: ["module_system/**/*.{ts,tsx}"], + extends: ["plugin:matrix-org/typescript", "plugin:matrix-org/react"], + // NOTE: These rules are frozen and new rules should not be added here. + // New changes belong in https://github.com/matrix-org/eslint-plugin-matrix-org/ + rules: { + // Things we do that break the ideal style + "prefer-promise-reject-errors": "off", + "quotes": "off", + + // We disable this while we're transitioning + "@typescript-eslint/no-explicit-any": "off", + // We're okay with assertion errors when we ask for them + "@typescript-eslint/no-non-null-assertion": "off", + + // Ban matrix-js-sdk/src imports in favour of matrix-js-sdk/src/matrix imports to prevent unleashing hell. + "no-restricted-imports": [ + "error", + { + paths: [ + { + name: "matrix-js-sdk", + message: "Please use matrix-js-sdk/src/matrix instead", + }, + { + name: "matrix-js-sdk/", + message: "Please use matrix-js-sdk/src/matrix instead", + }, + { + name: "matrix-js-sdk/src", + message: "Please use matrix-js-sdk/src/matrix instead", + }, + { + name: "matrix-js-sdk/src/", + message: "Please use matrix-js-sdk/src/matrix instead", + }, + { + name: "matrix-js-sdk/src/index", + message: "Please use matrix-js-sdk/src/matrix instead", + }, + { + name: "matrix-react-sdk", + message: "Please use matrix-react-sdk/src/index instead", + }, + { + name: "matrix-react-sdk/", + message: "Please use matrix-react-sdk/src/index instead", + }, + ], + patterns: [ + { + group: ["matrix-js-sdk/lib", "matrix-js-sdk/lib/", "matrix-js-sdk/lib/**"], + message: "Please use matrix-js-sdk/src/* instead", + }, + { + group: ["matrix-react-sdk/lib", "matrix-react-sdk/lib/", "matrix-react-sdk/lib/**"], + message: "Please use matrix-react-sdk/src/* instead", + }, + ], + }, + ], + }, + }, + ], +}; diff --git a/.eslintrc.js b/.eslintrc.js index c181384fd5..edbec961c2 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1,3 +1,95 @@ module.exports = { - extends: ["./node_modules/matrix-react-sdk/.eslintrc.js"], -} + plugins: ["matrix-org"], + extends: ["plugin:matrix-org/babel", "plugin:matrix-org/react"], + parserOptions: { + project: ["./tsconfig.json"], + }, + env: { + browser: true, + node: true, + }, + rules: { + // Things we do that break the ideal style + quotes: "off", + }, + settings: { + react: { + version: "detect", + }, + }, + overrides: [ + { + files: ["src/**/*.{ts,tsx}", "test/**/*.{ts,tsx}", "scripts/*.ts"], + extends: ["plugin:matrix-org/typescript", "plugin:matrix-org/react"], + // NOTE: These rules are frozen and new rules should not be added here. + // New changes belong in https://github.com/matrix-org/eslint-plugin-matrix-org/ + rules: { + // Things we do that break the ideal style + "prefer-promise-reject-errors": "off", + "quotes": "off", + + // We disable this while we're transitioning + "@typescript-eslint/no-explicit-any": "off", + // We're okay with assertion errors when we ask for them + "@typescript-eslint/no-non-null-assertion": "off", + + // Ban matrix-js-sdk/src imports in favour of matrix-js-sdk/src/matrix imports to prevent unleashing hell. + "no-restricted-imports": [ + "error", + { + paths: [ + { + name: "matrix-js-sdk", + message: "Please use matrix-js-sdk/src/matrix instead", + }, + { + name: "matrix-js-sdk/", + message: "Please use matrix-js-sdk/src/matrix instead", + }, + { + name: "matrix-js-sdk/src", + message: "Please use matrix-js-sdk/src/matrix instead", + }, + { + name: "matrix-js-sdk/src/", + message: "Please use matrix-js-sdk/src/matrix instead", + }, + { + name: "matrix-js-sdk/src/index", + message: "Please use matrix-js-sdk/src/matrix instead", + }, + { + name: "matrix-react-sdk", + message: "Please use matrix-react-sdk/src/index instead", + }, + { + name: "matrix-react-sdk/", + message: "Please use matrix-react-sdk/src/index instead", + }, + ], + patterns: [ + { + group: ["matrix-js-sdk/lib", "matrix-js-sdk/lib/", "matrix-js-sdk/lib/**"], + message: "Please use matrix-js-sdk/src/* instead", + }, + { + group: ["matrix-react-sdk/lib", "matrix-react-sdk/lib/", "matrix-react-sdk/lib/**"], + message: "Please use matrix-react-sdk/src/* instead", + }, + ], + }, + ], + }, + }, + { + files: ["test/**/*.{ts,tsx}"], + rules: { + // We don't need super strict typing in test utilities + "@typescript-eslint/explicit-function-return-type": "off", + "@typescript-eslint/explicit-member-accessibility": "off", + "@typescript-eslint/ban-ts-comment": "off", + "@typescript-eslint/no-floating-promises": "off", + }, + }, + ], +}; diff --git a/.git-blame-ignore-revs b/.git-blame-ignore-revs new file mode 100644 index 0000000000..a490a009da --- /dev/null +++ b/.git-blame-ignore-revs @@ -0,0 +1,2 @@ +# prettier +7921a6cbf86b035d2b0c1daecb4c24beaf5a5abc diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 0000000000..0b5e2923b9 --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1,5 @@ +* @element-hq/element-web-reviewers +/.github/workflows/** @element-hq/element-web-team +/package.json @element-hq/element-web-team +/yarn.lock @element-hq/element-web-team +/src/i18n/strings diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md deleted file mode 100644 index a2042975e1..0000000000 --- a/.github/ISSUE_TEMPLATE.md +++ /dev/null @@ -1,46 +0,0 @@ - - - - -### Description - -Describe here the problem that you are experiencing, or the feature you are requesting. - -### Steps to reproduce - -- For bugs, list the steps -- that reproduce the bug -- using hyphens as bullet points - -Describe how what happens differs from what you expected. - -Log: sent/not sent? - - - -### Version information - - - -- **Platform**: web (in-browser) or desktop? - -For the web app: - -- **Browser**: Chrome, Safari, Firefox? which version? -- **OS**: Windows, macOS, Ubuntu, Arch Linux, etc? -- **URL**: riot.im/develop / riot.im/app / somewhere else? If a private server, what version of riot-web? - -For the desktop app: - -- **OS**: Windows, macOS, Ubuntu, Arch Linux, etc? -- **Version**: 1.x.y diff --git a/.github/ISSUE_TEMPLATE/bug-desktop.yml b/.github/ISSUE_TEMPLATE/bug-desktop.yml new file mode 100644 index 0000000000..529c0a0ebc --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug-desktop.yml @@ -0,0 +1,76 @@ +name: Bug report for the Element desktop app (not in a browser) +description: File a bug report if you are using the desktop Element application. +labels: [T-Defect] +body: + - type: markdown + attributes: + value: | + Thanks for taking the time to fill out this bug report! + + Please report security issues by email to security@matrix.org + - type: textarea + id: reproduction-steps + attributes: + label: Steps to reproduce + description: Please attach screenshots, videos or logs if you can. + placeholder: Tell us what you see! + value: | + 1. Where are you starting? What can you see? + 2. What do you click? + 3. More steps… + validations: + required: true + - type: textarea + id: result + attributes: + label: Outcome + placeholder: Tell us what went wrong + value: | + #### What did you expect? + + #### What happened instead? + validations: + required: true + - type: input + id: os + attributes: + label: Operating system + placeholder: Windows, macOS, Ubuntu, Arch Linux… + validations: + required: false + - type: input + id: version + attributes: + label: Application version + description: You can find the version information in Settings -> Help & About. + placeholder: e.g. Element version 1.7.34, olm version 3.2.3 + validations: + required: false + - type: input + id: source + attributes: + label: How did you install the app? + description: Where did you install the app from? Please give a link or a description. + placeholder: e.g. From https://element.io/get-started + validations: + required: false + - type: input + id: homeserver + attributes: + label: Homeserver + description: | + Which server is your account registered on? If it is a local or non-public homeserver, please tell us what is the homeserver implementation (ex: Synapse/Dendrite/etc.) and the version. + placeholder: e.g. matrix.org or Synapse 1.50.0rc1 + validations: + required: false + - type: dropdown + id: rageshake + attributes: + label: Will you send logs? + description: | + Did you know that you can send a /rageshake command from your application to submit logs for this issue? Trigger the defect, then type `/rageshake` into the message input area followed by a description of the problem and send the command. You will be able to add a link to this defect report and submit anonymous logs to the developers. + options: + - "Yes" + - "No" + validations: + required: true diff --git a/.github/ISSUE_TEMPLATE/bug-web.yml b/.github/ISSUE_TEMPLATE/bug-web.yml new file mode 100644 index 0000000000..24ab78a153 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug-web.yml @@ -0,0 +1,84 @@ +name: Bug report for Element Web (in browser) +description: File a bug report if you are using Element in a web browser like Firefox, Chrome, Edge, and so on. +labels: [T-Defect] +body: + - type: markdown + attributes: + value: | + Thanks for taking the time to fill out this bug report! + + Please report security issues by email to security@matrix.org + - type: textarea + id: reproduction-steps + attributes: + label: Steps to reproduce + description: Please attach screenshots, videos or logs if you can. + placeholder: Tell us what you see! + value: | + 1. Where are you starting? What can you see? + 2. What do you click? + 3. More steps… + validations: + required: true + - type: textarea + id: result + attributes: + label: Outcome + placeholder: Tell us what went wrong + value: | + #### What did you expect? + + #### What happened instead? + validations: + required: true + - type: input + id: os + attributes: + label: Operating system + placeholder: Windows, macOS, Ubuntu, Arch Linux… + validations: + required: false + - type: input + id: browser + attributes: + label: Browser information + description: Which browser are you using? Which version? + placeholder: e.g. Chromium Version 92.0.4515.131 + validations: + required: false + - type: input + id: webapp-url + attributes: + label: URL for webapp + description: Which URL are you using to access the webapp? If a private server, tell us what version of Element Web you are using. + placeholder: e.g. develop.element.io, app.element.io + validations: + required: false + - type: input + id: version + attributes: + label: Application version + description: You can find the version information in Settings -> Help & About. + placeholder: e.g. Element version 1.7.34, olm version 3.2.3 + validations: + required: false + - type: input + id: homeserver + attributes: + label: Homeserver + description: | + Which server is your account registered on? If it is a local or non-public homeserver, please tell us what is the homeserver implementation (ex: Synapse/Dendrite/etc.) and the version. + placeholder: e.g. matrix.org or Synapse 1.50.0rc1 + validations: + required: false + - type: dropdown + id: rageshake + attributes: + label: Will you send logs? + description: | + Did you know that you can send a /rageshake command from the web application to submit logs for this issue? Trigger the defect, then type `/rageshake` into the message input area followed by a description of the problem and send the command. You will be able to add a link to this defect report and submit anonymous logs to the developers. + options: + - "Yes" + - "No" + validations: + required: true diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md deleted file mode 100644 index 5f472303dd..0000000000 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ /dev/null @@ -1,56 +0,0 @@ ---- -name: Bug report -about: Create a report to help us improve -title: '' -labels: bug -assignees: '' - ---- - - - - - -### Description - -Describe here the problem that you are experiencing, or the feature you are requesting. - -### Steps to reproduce - -- For bugs, list the steps -- that reproduce the bug -- using hyphens as bullet points - -Describe how what happens differs from what you expected. - - -Logs being sent: yes/no - - - -### Version information - - - -- **Platform**: web (in-browser) or desktop? - -For the web app: - -- **Browser**: Chrome, Safari, Firefox? which version? -- **OS**: Windows, macOS, Ubuntu, Arch Linux, etc? -- **URL**: riot.im/develop / riot.im/app / somewhere else? If a private server, what version of riot-web? - -For the desktop app: - -- **OS**: Windows, macOS, Ubuntu, Arch Linux, etc? -- **Version**: 1.x.y diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000000..b34e449368 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,5 @@ +blank_issues_enabled: false +contact_links: + - name: Questions & support + url: https://matrix.to/#/#element-web:matrix.org + about: Please ask and answer questions here. diff --git a/.github/ISSUE_TEMPLATE/enhancement.yml b/.github/ISSUE_TEMPLATE/enhancement.yml new file mode 100644 index 0000000000..7dd384e78f --- /dev/null +++ b/.github/ISSUE_TEMPLATE/enhancement.yml @@ -0,0 +1,36 @@ +name: Enhancement request +description: Do you have a suggestion or feature request? +labels: [T-Enhancement] +body: + - type: markdown + attributes: + value: | + Thank you for taking the time to propose an enhancement to an existing feature. If you would like to propose a new feature or a major cross-platform change, please [start a discussion here](https://github.com/element-hq/element-meta/discussions/new?category=ideas). + - type: textarea + id: usecase + attributes: + label: Your use case + description: What would you like to be able to do? Please feel welcome to include screenshots or mock ups. + placeholder: Tell us what you would like to do! + value: | + #### What would you like to do? + + #### Why would you like to do it? + + #### How would you like to achieve it? + validations: + required: true + - type: textarea + id: alternative + attributes: + label: Have you considered any alternatives? + placeholder: A clear and concise description of any alternative solutions or features you've considered. + validations: + required: false + - type: textarea + id: additional-context + attributes: + label: Additional context + placeholder: Is there anything else you'd like to add? + validations: + required: false diff --git a/.github/ISSUE_TEMPLATE/suggestion-or-feature-request.md b/.github/ISSUE_TEMPLATE/suggestion-or-feature-request.md deleted file mode 100644 index b27af8faeb..0000000000 --- a/.github/ISSUE_TEMPLATE/suggestion-or-feature-request.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -name: Suggestion or Feature request -about: Suggest an idea for this project -title: '' -labels: suggestion -assignees: '' - ---- - -**Is your suggestion related to a problem? Please describe.** -A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] - -**Describe the solution you'd like** -A clear and concise description of what you want to happen. - -**Describe alternatives you've considered** -A clear and concise description of any alternative solutions or features you've considered. - -**Additional context** -Add any other context or screenshots about the feature request here. diff --git a/.github/ISSUE_TEMPLATE/user-interface-or-usability-bug-report.md b/.github/ISSUE_TEMPLATE/user-interface-or-usability-bug-report.md deleted file mode 100644 index b3e68ccec9..0000000000 --- a/.github/ISSUE_TEMPLATE/user-interface-or-usability-bug-report.md +++ /dev/null @@ -1,58 +0,0 @@ ---- -name: User Interface or Usability Bug report -about: Please include screenshots in UI/UX bug reports -title: '' -labels: bug, ui/ux -assignees: '' - ---- - - - - - - - -### Description - -Describe here the problem that you are experiencing, or the feature you are requesting. - -### Steps to reproduce - -- For bugs, list the steps -- that reproduce the bug -- using hyphens as bullet points - -Describe how what happens differs from what you expected. - - -Logs being sent: yes/no - - - -### Version information - - - -- **Platform**: web (in-browser) or desktop? - -For the web app: - -- **Browser**: Chrome, Safari, Firefox? which version? -- **OS**: Windows, macOS, Ubuntu, Arch Linux, etc? -- **URL**: riot.im/develop / riot.im/app / somewhere else? If a private server, what version of riot-web? - -For the desktop app: - -- **OS**: Windows, macOS, Ubuntu, Arch Linux, etc? -- **Version**: 1.x.y diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000000..4e8b5a7507 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,8 @@ + + +## Checklist + +- [ ] Tests written for new code (and old code if feasible). +- [ ] New or updated `public`/`exported` symbols have accurate [TSDoc](https://tsdoc.org/) documentation. +- [ ] Linter and other CI checks pass. +- [ ] Sign-off given on the changes (see [CONTRIBUTING.md](https://github.com/element-hq/element-web/blob/develop/CONTRIBUTING.md)). diff --git a/.github/cfp_headers b/.github/cfp_headers new file mode 100644 index 0000000000..497a5ff58d --- /dev/null +++ b/.github/cfp_headers @@ -0,0 +1,16 @@ +/* + ! Access-Control-Allow-Origin + X-XSS-Protection: 1; mode=block + X-Content-Type-Options: nosniff + X-Frame-Options: SAMEORIGIN + Content-Security-Policy: frame-ancestors 'self' + Strict-Transport-Security: max-age=31536000; includeSubDomains; preload + +/version + Content-Type: text/plain + +/apple-app-site-association + Content-Type: application/json + +/.well-known/assetlinks.json + Content-Type: application/json diff --git a/.github/labels.yml b/.github/labels.yml new file mode 100644 index 0000000000..848a79ba30 --- /dev/null +++ b/.github/labels.yml @@ -0,0 +1,266 @@ +- name: "A-Aliases" + color: "bfd4f2" +- name: "A-Authentication" + color: "bfd4f2" +- name: "A-Autocomplete" + color: "bfd4f2" +- name: "A-Breadcrumbs" + color: "bfd4f2" +- name: "A-Bridge" + color: "bfd4f2" +- name: "A-Broadcast" + description: "Broadcast-style voice messages" + color: "bfd4f2" +- name: "A-Create-Room" + description: "Create room flow, user suggestions, etc." + color: "bfd4f2" +- name: "A-DevTools" + description: "/devtools, show hidden events, etc." + color: "bfd4f2" +- name: "A-Dialogs" + color: "bfd4f2" +- name: "A-Disambiguation" + color: "bfd4f2" +- name: "A-DM-Start" + description: "Creating a DM with another user" + color: "bfd4f2" +- name: "A-E2EE-Dehydration" + color: "8CC59A" +- name: "A-Electron" + color: "bfd4f2" +- name: "A-Element-Call" + description: "Group calls via Element Call" + color: "bfd4f2" +- name: "A-Element-R" + description: "Issues affecting the port of Element's crypto layer to Rust" + color: "bfd4f2" +- name: "A-ELS" + description: "Event List Summary (and Membership ELS, MELS)" + color: "bfd4f2" +- name: "A-Emotes" + color: "bfd4f2" +- name: "A-EMS" + description: "Issues related to EMS" + color: "bfd4f2" +- name: "A-Error-Message" + color: "bfd4f2" +- name: "A-Federation" + color: "bfd4f2" +- name: "A-Feedback-Reporting" + description: "Reporting process for bugs, debug logs (rageshakes), suggestions" + color: "bfd4f2" +- name: "A-File-Download" + color: "bfd4f2" +- name: "A-File-Panel" + color: "bfd4f2" +- name: "A-Identity-Server" + color: "bfd4f2" +- name: "A-Indexing" + description: "Indexing messages via Seshat" + color: "bfd4f2" +- name: "A-IRC-Layout" + color: "bfd4f2" +- name: "A-Jump-To-Date" + description: "Jump to date headers or slash command" + color: "bfd4f2" +- name: "A-Lazy-Loading" + color: "bfd4f2" +- name: "A-Light-Box" + description: "UI when viewing an image" + color: "bfd4f2" +- name: "A-Location-Sharing" + color: "bfd4f2" +- name: "A-Logout" + description: "Logout, sign out, etc." + color: "bfd4f2" +- name: "A-Maths" + description: "Render LaTeX maths in messages" + color: "bfd4f2" +- name: "A-Memory" + description: "Memory leaks, leak hunting tools" + color: "bfd4f2" +- name: "A-Message-Forwarding" + color: "bfd4f2" +- name: "A-Message-Pinning" + color: "bfd4f2" +- name: "A-Message-Previews" + color: "bfd4f2" +- name: "A-Message-Starring" + description: "Saving favourite messages for later" + color: "bfd4f2" +- name: "A-Modules" + description: "Module system related" + color: "bfd4f2" +- name: "A-New-Search-Experience" + description: "The new search dialog available in Labs" + color: "bfd4f2" +- name: "A-Packaging" + description: "Packaging, signing, releasing" + color: "bfd4f2" +- name: "A-Peeking" + color: "bfd4f2" +- name: "A-Picture-in-Picture" + color: "bfd4f2" +- name: "A-Power-Levels" + description: "The permissions that users have in rooms and spaces" + color: "bfd4f2" +- name: "A-Replies" + description: "reply" + color: "bfd4f2" +- name: "A-Session-Mgmt" + description: "Session / device names, management UI, etc." + color: "bfd4f2" +- name: "A-Share" + color: "bfd4f2" +- name: "A-Shortcuts" + description: "Keyboard shortcuts" + color: "bfd4f2" +- name: "A-Sliding-Sync" + description: "Also known as Sync v3 - https://github.com/matrix-org/sliding-sync" + color: "bfd4f2" +- name: "A-Soft-Logout" + description: "https://github.com/element-hq/element-web/issues/10224" + color: "bfd4f2" +- name: "A-Spaces-Settings" + color: "bfd4f2" +- name: "A-SSO" + color: "bfd4f2" +- name: "A-Status-Bar" + description: "Unsent messages warning and 'Connectivity to the server has been lost'" + color: "bfd4f2" +- name: "A-Storage" + description: "Storage layer of the app, including IndexedDB, local storage, etc." + color: "bfd4f2" +- name: "A-Technical-Debt" + color: "bfd4f2" +- name: "A-Testing" + description: "Testing, code coverage, etc." + color: "bfd4f2" +- name: "A-Themes-Custom" + description: "Custom theme variables or support" + color: "bfd4f2" +- name: "A-Themes-Official" + description: "Official themes (light, dark)" + color: "bfd4f2" +- name: "A-Theming" + color: "bfd4f2" +- name: "A-Timeline-Jumpy-Scroll" + description: "Stable timeline dream ✨" + color: "bfd4f2" +- name: "A-Timesheet-1" + description: "Log any time spent on this into the A-Timesheet-1 project" + color: "5319E7" +- name: "A-Toast" + color: "bfd4f2" +- name: "A-Tooltips" + description: "Anything related to tooltips" + color: "bfd4f2" +- name: "A-UI-Customisation" + description: "UIFeatures etc. for customising entire parts of the UI" + color: "bfd4f2" +- name: "A-URL-Previews" + color: "bfd4f2" +- name: "A-User-Menu" + description: "The top left main menu with the user's name and avatar" + color: "bfd4f2" +- name: "A-User-Search" + description: "The start DM or invite to room dialogs (things dealing with `/user_directory/search`)" + color: "bfd4f2" +- name: "A-Video-Rooms" + description: "Persistent group calls" + color: "bfd4f2" +- name: "A-Voice-Messages" + color: "bfd4f2" +- name: "A-Welcome-Page" + color: "bfd4f2" +- name: "backport staging" + description: "Label to automatically backport PR to staging branch" + color: "B60205" +- name: "Dependencies" + description: "Pull requests that update a dependency file" + color: "0366d6" +- name: "Hacktoberfest" + description: "Issues which are suitable for Hacktoberfest PRs: https://hacktoberfest.digitalocean.com/" + color: "ff7518" +- name: "P4" + description: "[OBSOLETE LABEL] Interesting — Not yet scheduled, will accept patches" + color: "d1e5f0" +- name: "spam" + color: "B60205" +- name: "Sponsored" + color: "ffc8f4" +- name: "T-Deprecation" + description: "A pull request that makes something deprecated" + color: "98e6ae" +- name: "T-Other" + description: "Questions, user support, anything else" + color: "98e6ae" +- name: "Team: App" + color: "FFA500" +- name: "X-Blocked" + color: "ff7979" +- name: "X-Cannot-Reproduce" + color: "ff7979" +- name: "X-Command" + description: "Created using the !github command" + color: "ff7979" +- name: "X-Community-Supported-Platform" + description: "This issue occurs in a platform not directly supported by us, but by a community project elsewhere" + color: "ff7979" +- name: "X-Upcoming-Release-Blocker" + description: "This does not affect the current release cycle but will affect the next one" + color: "e99695" +- name: "Z-Actions" + color: "ededed" +- name: "Z-Cache-Confusion" + description: "Related to internal cache (clearing helps / causes the issue)" + color: "ededed" +- name: "Z-Community-PR" + description: "Issue is solved by a community member's PR" + color: "ededed" +- name: "Z-Element-R-Blocker" + description: "A blocker for enabling Element R by default" + color: "ededed" +- name: "Z-Experimental" + color: "ededed" +- name: "Z-Fixed by Element Call" + description: "Issues which can be closed when we move to Element Call" + color: "ededed" +- name: "Z-Fixed-By-OIDC" + description: "Issues which can be closed when we move to OIDC" + color: "ededed" +- name: "Z-Flaky-Test" + description: "A test is raising false alarms" + color: "ededed" +- name: "Z-FOSDEM" + description: "Issues in chat.fosdem.org" + color: "ededed" +- name: "Z-Gitter" + description: "Issues relating to or coming out of the Gitter migration, feature parity, etc" + color: "ededed" +- name: "Z-Legacy-Crypto" + description: "Issues affecting the legacy crypto stack" + color: "EEEEEE" +- name: "Z-Maximised-Widgets" + color: "ededed" +- name: "Z-Papercuts" + description: "Visible. Impactful. Predictable to action." + color: "ededed" +- name: "Z-Power-Users" + color: "ededed" +- name: "Z-Rageshake" + description: "Has attached rageshake (not for log submission process)" + color: "ededed" +- name: "Z-RICE" + color: "ededed" +- name: "Z-Soft-Crash" + description: "React soft crash caught by an error boundary" + color: "ededed" +- name: "Z-Spec-Compliance" + description: "An area where Element doesn't correctly implement the spec" + color: "ededed" +- name: "Z-t3chguy" + color: "ededed" +- name: "Z-Flaky-Test-Disabled" + description: "The flaking test has been disabled" + color: "ededed" diff --git a/.github/release-drafter.yml b/.github/release-drafter.yml new file mode 100644 index 0000000000..397303b467 --- /dev/null +++ b/.github/release-drafter.yml @@ -0,0 +1,3 @@ +_extends: matrix-org/matrix-react-sdk +version-resolver: + default: patch diff --git a/.github/renovate.json b/.github/renovate.json new file mode 100644 index 0000000000..76320426d9 --- /dev/null +++ b/.github/renovate.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "extends": ["github>matrix-org/renovate-config-element-web"] +} diff --git a/.github/workflows/backport.yml b/.github/workflows/backport.yml new file mode 100644 index 0000000000..dd793898ec --- /dev/null +++ b/.github/workflows/backport.yml @@ -0,0 +1,30 @@ +name: Backport +on: + pull_request_target: + types: + - closed + - labeled + branches: + - develop + +jobs: + backport: + name: Backport + runs-on: ubuntu-latest + # Only react to merged PRs for security reasons. + # See https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#pull_request_target. + if: > + github.event.pull_request.merged + && ( + github.event.action == 'closed' + || ( + github.event.action == 'labeled' + && contains(github.event.label.name, 'backport') + ) + ) + steps: + - uses: tibdex/backport@9565281eda0731b1d20c4025c43339fb0a23812e # v2 + with: + labels_template: "<%= JSON.stringify([...labels, 'X-Release-Blocker']) %>" + # We can't use GITHUB_TOKEN here or CI won't run on the new PR + github_token: ${{ secrets.ELEMENT_BOT_TOKEN }} diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000000..84bb3d263d --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,49 @@ +name: Build +on: + pull_request: {} + push: + branches: [develop, master] + merge_group: + types: [checks_requested] +# develop pushes and repository_dispatch handled in build_develop.yaml +env: + # These must be set for fetchdep.sh to get the right branch + REPOSITORY: ${{ github.repository }} + PR_NUMBER: ${{ github.event.pull_request.number }} +jobs: + build: + name: "Build on ${{ matrix.image }}" + # We build on all 3 platforms to ensure we don't have any OS-specific build incompatibilities + strategy: + fail-fast: false + matrix: + image: + - ubuntu-latest + - windows-latest + - macos-latest + isDevelop: + - ${{ github.event_name == 'push' && github.ref_name == 'develop' }} + # Skip the ubuntu-latest build for the develop branch as the dedicated CD build_develop workflow handles that + exclude: + - isDevelop: true + image: ubuntu-latest + runs-on: ${{ matrix.image }} + defaults: + run: + shell: bash + steps: + - uses: actions/checkout@v4 + + - uses: actions/setup-node@v4 + with: + cache: "yarn" + node-version: "lts/*" + + # Workaround for yarn install timeouts, especially on Windows + - run: yarn config set network-timeout 300000 + + - name: Install Dependencies + run: "./scripts/layered.sh" + + - name: Build + run: "yarn build" diff --git a/.github/workflows/build_debian.yaml b/.github/workflows/build_debian.yaml new file mode 100644 index 0000000000..254b99d261 --- /dev/null +++ b/.github/workflows/build_debian.yaml @@ -0,0 +1,78 @@ +name: Build Debian package +on: + release: + types: [published] +concurrency: ${{ github.workflow }} +jobs: + build: + name: Build package + environment: packages.element.io + runs-on: ubuntu-latest + env: + R2_INCOMING_BUCKET: ${{ vars.R2_INCOMING_BUCKET }} + R2_URL: ${{ vars.CF_R2_S3_API }} + VERSION: ${{ github.ref_name }} + steps: + - uses: actions/checkout@v4 + + - name: Download package + run: | + wget "https://github.com/element-hq/element-web/releases/download/$VERSION/element-$VERSION.tar.gz" + wget "https://github.com/element-hq/element-web/releases/download/$VERSION/element-$VERSION.tar.gz.asc" + + - name: Check GPG signature + run: | + wget "https://packages.element.io/element-release-key.gpg" + gpg --import element-release-key.gpg + gpg --fingerprint "$FINGERPRINT" + gpg --verify "element-$VERSION.tar.gz.asc" "element-$VERSION.tar.gz" + env: + FINGERPRINT: ${{ vars.GPG_FINGERPRINT }} + + - name: Prepare + run: | + mkdir -p debian/tmp/DEBIAN + find debian -maxdepth 1 -type f -exec cp "{}" debian/tmp/DEBIAN/ \; + mkdir -p debian/tmp/usr/share/element-web/ debian/tmp/etc/element-web/ + + tar -xf "element-$VERSION.tar.gz" -C debian/tmp/usr/share/element-web --strip-components=1 --no-same-owner --no-same-permissions + mv debian/tmp/usr/share/element-web/config.sample.json debian/tmp/etc/element-web/config.json + ln -s /etc/element-web/config.json debian/tmp/usr/share/element-web/config.json + + - name: Write changelog + run: | + VERSION=$(cat package.json | jq -r .version) + TIME=$(date -d "$PUBLISHED_AT" -R) + { + echo "element-web ($VERSION) default; urgency=medium" + echo "$BODY" | sed 's/^##/\n */g;s/^\*/ */g' | perl -pe 's/\[.+?]\((.+?)\)/\1/g' + echo "" + echo " -- $ACTOR $TIME" + } > debian/tmp/DEBIAN/changelog + env: + ACTOR: ${{ github.actor }} + VERSION: ${{ github.event.release.tag_name }} + BODY: ${{ github.event.release.body }} + PUBLISHED_AT: ${{ github.event.release.published_at }} + + - name: Build deb package + run: | + VERSION=$(cat package.json | jq -r .version) + dpkg-gencontrol -v"$VERSION" -ldebian/tmp/DEBIAN/changelog + dpkg-deb -Zxz --root-owner-group --build debian/tmp element-web.deb + + - uses: actions/upload-artifact@v4 + with: + name: element-web.deb + path: element-web.deb + retention-days: 14 + + - name: Publish to packages.element.io + if: github.event.release.prerelease == false + uses: element-hq/packages.element.io@master + with: + file: element-web.deb + github-token: ${{ secrets.ELEMENT_BOT_TOKEN }} + bucket-api: ${{ vars.CF_R2_S3_API }} + bucket-key-id: ${{ secrets.CF_R2_ACCESS_KEY_ID }} + bucket-access-key: ${{ secrets.CF_R2_TOKEN }} diff --git a/.github/workflows/build_develop.yml b/.github/workflows/build_develop.yml new file mode 100644 index 0000000000..2407d2e6f1 --- /dev/null +++ b/.github/workflows/build_develop.yml @@ -0,0 +1,126 @@ +# Separate to the main build workflow for access to develop +# environment secrets, largely similar to build.yaml. +name: Build and Deploy develop +on: + push: + branches: [develop] + repository_dispatch: + types: [element-web-notify] +concurrency: + group: ${{ github.repository_owner }}-${{ github.workflow }}-${{ github.ref_name }} + cancel-in-progress: true +jobs: + build: + name: "Build & Deploy develop.element.io" + # Only respect triggers from our develop branch, ignore that of forks + if: github.repository == 'element-hq/element-web' + runs-on: ubuntu-latest + environment: develop + env: + R2_BUCKET: "element-web-develop" + R2_URL: ${{ vars.CF_R2_S3_API }} + R2_PUBLIC_URL: "https://element-web-develop.element.io" + steps: + - uses: actions/checkout@v4 + + - uses: actions/setup-node@v4 + with: + cache: "yarn" + node-version: "lts/*" + + - name: Install Dependencies + run: "./scripts/layered.sh" + + - name: Build, Package & Upload sourcemaps + run: "./scripts/ci_package.sh" + env: + SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} + SENTRY_DSN: ${{ secrets.SENTRY_DSN }} + SENTRY_URL: ${{ secrets.SENTRY_URL }} + SENTRY_ORG: element + SENTRY_PROJECT: riot-web + # We only deploy the latest bundles to Cloudflare Pages and use _redirects to fallback to R2 for + # older ones. This redirect means that 'self' is insufficient in the CSP, + # and we have to add the R2 URL. + # Once Cloudflare redirects support proxying mode we will be able to ditch this. + # See Proxying in support table at https://developers.cloudflare.com/pages/platform/redirects + CSP_EXTRA_SOURCE: ${{ env.R2_PUBLIC_URL }} + + - run: mv dist/element-*.tar.gz dist/develop.tar.gz + + - uses: actions/upload-artifact@v4 + with: + name: webapp + path: dist/develop.tar.gz + retention-days: 1 + + - name: Extract webapp + run: | + mkdir _deploy + tar xf dist/develop.tar.gz -C _deploy --strip-components=1 + + - name: Copy config + run: cp element.io/develop/config.json _deploy/config.json + + - name: Populate 404.html + run: echo "404 Not Found" > _deploy/404.html + + - name: Populate _headers + run: cp .github/cfp_headers _deploy/_headers + + # Redirect requests for the develop tarball and the historical bundles to R2 + # We find the latest 100 bundle.css files and add their bundles to the redirects file + # S3 has no sane way to get the age of a directory as they don't really exist + - name: Populate _redirects + run: | + { + echo "/develop.tar.gz $R2_PUBLIC_URL/develop.tar.gz 301" + aws s3api --region auto --endpoint-url $R2_URL list-objects-v2 --bucket $R2_BUCKET \ + --query "sort_by(Contents[?ends_with(Key, '/bundle.css')], &LastModified)[-100:].Key" \ + --prefix "bundles/" | jq -r '.[]' | grep -oE '[^\"].*\/\s*' | while read -r path ; do + echo "/${path}* $R2_PUBLIC_URL/${path}:splat 301" + done + } | tee _deploy/_redirects + env: + AWS_ACCESS_KEY_ID: ${{ secrets.CF_R2_ACCESS_KEY_ID }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.CF_R2_TOKEN }} + + # We may be trying to deploy the same webapp bundles again, we need to ensure that the live bundles + # are not present in the _redirects file and instead accessed directly from Cloudflare Pages. + - name: Trim _redirects + working-directory: _deploy + run: | + find bundles -type d -mindepth 1 -maxdepth 1 -exec sed -i "\:{}:d" _redirects \; + + - name: Wait for other steps to succeed + uses: t3chguy/wait-on-check-action@18541021811b56544d90e0f073401c2b99e249d6 # fork + with: + ref: ${{ github.sha }} + running-workflow-name: "Build & Deploy develop.element.io" + repo-token: ${{ secrets.GITHUB_TOKEN }} + wait-interval: 10 + check-regexp: ^((?!SonarCloud|SonarQube|issue|board|label|Release|prepare|GitHub Pages).)*$ + + # We keep the latest develop.tar.gz on R2 instead of relying on the github artifact uploaded earlier + # as the expires after 24h and requires auth to download. + # Element Desktop's fetch script uses this tarball to fetch latest develop to build Nightlies. + - name: Deploy to R2 + run: | + aws s3 cp dist/develop.tar.gz s3://$R2_BUCKET/develop.tar.gz --endpoint-url $R2_URL --region=auto + aws s3 cp _deploy/ s3://$R2_BUCKET/ --recursive --endpoint-url $R2_URL --region=auto + env: + AWS_ACCESS_KEY_ID: ${{ secrets.CF_R2_ACCESS_KEY_ID }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.CF_R2_TOKEN }} + + - name: Deploy to Cloudflare Pages + id: cfp + uses: cloudflare/pages-action@f0a1cd58cd66095dee69bfa18fa5efd1dde93bca # v1 + with: + apiToken: ${{ secrets.CF_PAGES_TOKEN }} + accountId: ${{ secrets.CF_PAGES_ACCOUNT_ID }} + projectName: element-web-develop + directory: _deploy + gitHubToken: ${{ secrets.GITHUB_TOKEN }} + + - run: | + echo "Deployed to ${{ steps.cfp.outputs.url }}" >> $GITHUB_STEP_SUMMARY diff --git a/.github/workflows/dockerhub.yaml b/.github/workflows/dockerhub.yaml new file mode 100644 index 0000000000..a8f93b42ef --- /dev/null +++ b/.github/workflows/dockerhub.yaml @@ -0,0 +1,94 @@ +name: Dockerhub +on: + workflow_dispatch: {} + push: + tags: [v*] + schedule: + # This job can take a while, and we have usage limits, so just publish develop only twice a day + - cron: "0 7/12 * * *" +concurrency: ${{ github.workflow }}-${{ github.ref_name }} + +permissions: + id-token: write # needed for signing the images with GitHub OIDC Token +jobs: + buildx: + name: Docker Buildx + runs-on: ubuntu-latest + environment: dockerhub + strategy: + fail-fast: false + matrix: + include: + - variant: vanilla + # Variant we ship to aid ESS in providing a build on the OpenCoDE platform including specific modules + - variant: opendesk + flavor: suffix=-opendesk,onlatest=true + prepare: mv variants/openDesk/* . + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 # needed for docker-package to be able to calculate the version + + - name: Install Cosign + uses: sigstore/cosign-installer@59acb6260d9c0ba8f4a2f9d9b48431a222b68e20 # v3 + + - name: Prepare + if: matrix.prepare + run: ${{ matrix.prepare }} + + - name: Set up QEMU + uses: docker/setup-qemu-action@49b3bc8e6bdd4a60e6116a5414239cba5943d3cf # v3 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@aa33708b10e362ff993539393ff100fa93ed6a27 # v3 + with: + install: true + + - name: Login to Docker Hub + uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + + - name: Docker meta + id: meta + uses: docker/metadata-action@8e5442c4ef9f78752691e2d8f8d19755c6f78e81 # v5 + with: + images: | + vectorim/element-web + tags: | + type=ref,event=branch + type=ref,event=tag + flavor: | + latest=${{ contains(github.ref_name, '-rc.') && 'false' || 'auto' }} + ${{ matrix.flavor }} + + - name: Build and push + id: build-and-push + uses: docker/build-push-action@5176d81f87c23d6fc96624dfdbcd9f3830bbe445 # v6 + with: + context: . + push: true + platforms: linux/amd64,linux/arm64 + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + + - name: Sign the images with GitHub OIDC Token + env: + DIGEST: ${{ steps.build-and-push.outputs.digest }} + TAGS: ${{ steps.meta.outputs.tags }} + run: | + images="" + for tag in ${TAGS}; do + images+="${tag}@${DIGEST} " + done + cosign sign --yes ${images} + + - name: Update repo description + if: matrix.variant == 'vanilla' + uses: peter-evans/dockerhub-description@e98e4d1628a5f3be2be7c231e50981aee98723ae # v4 + continue-on-error: true + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + repository: vectorim/element-web diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml new file mode 100644 index 0000000000..2f45996e24 --- /dev/null +++ b/.github/workflows/docs.yml @@ -0,0 +1,116 @@ +name: Deploy documentation + +on: + push: + branches: [develop] + workflow_dispatch: {} + +permissions: + contents: read + pages: write + id-token: write + +concurrency: + group: "pages" + cancel-in-progress: false + +jobs: + build: + name: GitHub Pages + runs-on: ubuntu-latest + steps: + - name: Fetch element-desktop + uses: actions/checkout@v4 + with: + repository: element-hq/element-desktop + path: element-desktop + + - name: Fetch element-web + uses: actions/checkout@v4 + with: + path: element-web + + - name: Fetch matrix-react-sdk + uses: actions/checkout@v4 + with: + repository: matrix-org/matrix-react-sdk + path: matrix-react-sdk + + - name: Fetch matrix-js-sdk + uses: actions/checkout@v4 + with: + repository: matrix-org/matrix-js-sdk + path: matrix-js-sdk + + - uses: actions/setup-node@v4 + with: + cache: "yarn" + cache-dependency-path: element-web/yarn.lock + node-version: "lts/*" + + - name: Generate automations docs + working-directory: element-web + run: | + yarn install --frozen-lockfile + yarn ts-node ./scripts/gen-workflow-mermaid.ts ../element-desktop ../element-web ../matrix-react-sdk ../matrix-js-sdk > docs/automations.md + echo "- [Automations](automations.md)" >> docs/SUMMARY.md + + - name: Setup mdBook + uses: peaceiris/actions-mdbook@v2 + with: + mdbook-version: "0.4.10" + + - name: Install mdbook extensions + run: cargo install mdbook-combiner mdbook-mermaid + + - name: Prepare docs + run: | + mkdir docs + + mv element-desktop/README.md element-desktop/docs/ + mv element-desktop/docs "docs/Element Desktop" + + mv element-web/README.md element-web/docs/ + mv element-web/docs/lib docs/ + mv element-web/docs "docs/Element Web" + + mv matrix-react-sdk/README.md matrix-react-sdk/docs/ + mv matrix-react-sdk/docs "docs/Matrix React SDK" + + mv matrix-js-sdk/README.md matrix-js-sdk/docs/ + mv matrix-js-sdk/docs "docs/Matrix JS SDK" + + sed -i -e 's/\.\.\/README.md/README.md/' docs/**/SUMMARY.md + + mdbook-combiner -m docs + sed -i -E 's/^\t# (.+)$/- [\1]()/gm;t' SUMMARY.md + sed -i -E 's/^- \[(.+)]\(<>\)$/---\n# \1/gm;t' SUMMARY.md + sed -i -E 's/\t- \[Introduction]/- [Introduction]/gm;t' SUMMARY.md + + cat < docs/SUMMARY.md + # Summary + - [Introduction]() + + EOF + cat SUMMARY.md >> docs/SUMMARY.md + + mv element-web/book.toml . + + - name: Build docs + run: mdbook build + + - name: Upload artifact + uses: actions/upload-pages-artifact@v3 + with: + path: ./book + + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + needs: build + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4 diff --git a/.github/workflows/end-to-end-tests.yaml b/.github/workflows/end-to-end-tests.yaml new file mode 100644 index 0000000000..782efb43b5 --- /dev/null +++ b/.github/workflows/end-to-end-tests.yaml @@ -0,0 +1,29 @@ +# Triggers after the "Downstream artifacts" build has finished, to run the +# matrix-react-sdk playwright tests (with access to repo secrets) + +name: matrix-react-sdk End to End Tests +on: + merge_group: + types: [checks_requested] + pull_request: {} + push: + branches: [develop, master] + +concurrency: + group: ${{ github.workflow }}-${{ github.event.workflow_run.head_branch || github.run_id }} + cancel-in-progress: ${{ github.event.workflow_run.event == 'pull_request' }} + +jobs: + playwright: + name: Playwright + uses: matrix-org/matrix-react-sdk/.github/workflows/end-to-end-tests.yaml@develop + permissions: + actions: read + issues: read + pull-requests: read + with: + element-web-sha: ${{ github.sha }} + react-sdk-repository: matrix-org/matrix-react-sdk + # We only want to run the playwright tests on merge queue to prevent regressions + # from creeping in. They take a long time to run and consume multiple concurrent runners. + skip: ${{ github.event_name != 'merge_group' }} diff --git a/.github/workflows/issue_closed.yml b/.github/workflows/issue_closed.yml new file mode 100644 index 0000000000..ddcd3d12bd --- /dev/null +++ b/.github/workflows/issue_closed.yml @@ -0,0 +1,156 @@ +# For duplicate issues, ensure the close type is right (not planned), update it if not +# For all closed (completed) issues, cascade the closure onto any referenced rageshakes +# For all closed (not planned) issues, comment on rageshakes to move them into the canonical issue if one exists +on: + issues: + types: [closed] +jobs: + tidy: + name: Tidy closed issues + runs-on: ubuntu-latest + steps: + - uses: actions/github-script@v7 + id: main + with: + # PAT needed as the GITHUB_TOKEN won't be able to see cross-references from other orgs (matrix-org) + github-token: ${{ secrets.ELEMENT_BOT_TOKEN }} + script: | + const variables = { + owner: context.repo.owner, + name: context.repo.repo, + number: context.issue.number, + }; + + const query = `query($owner:String!, $name:String!, $number:Int!) { + repository(owner: $owner, name: $name) { + issue(number: $number) { + stateReason, + timelineItems(first: 100, itemTypes: [MARKED_AS_DUPLICATE_EVENT, UNMARKED_AS_DUPLICATE_EVENT, CROSS_REFERENCED_EVENT]) { + edges { + node { + __typename + ... on MarkedAsDuplicateEvent { + canonical { + ... on Issue { + repository { + nameWithOwner + } + number + } + ... on PullRequest { + repository { + nameWithOwner + } + number + } + } + } + ... on UnmarkedAsDuplicateEvent { + canonical { + ... on Issue { + repository { + nameWithOwner + } + number + } + ... on PullRequest { + repository { + nameWithOwner + } + number + } + } + } + ... on CrossReferencedEvent { + source { + ... on Issue { + repository { + nameWithOwner + } + number + } + ... on PullRequest { + repository { + nameWithOwner + } + number + } + } + } + } + } + } + } + } + }`; + + const result = await github.graphql(query, variables); + const { stateReason, timelineItems: { edges } } = result.repository.issue; + + const RAGESHAKE_OWNER = "matrix-org"; + const RAGESHAKE_REPO = "element-web-rageshakes"; + const rageshakes = new Set(); + const duplicateOf = new Set(); + + console.log("Edges: ", JSON.stringify(edges)); + + for (const { node } of edges) { + switch(node.__typename) { + case "MarkedAsDuplicateEvent": + duplicateOf.add(node.canonical.repository.nameWithOwner + "#" + node.canonical.number); + break; + case "UnmarkedAsDuplicateEvent": + duplicateOf.remove(node.canonical.repository.nameWithOwner + "#" + node.canonical.number); + break; + case "CrossReferencedEvent": + if (node.source.repository.nameWithOwner === (RAGESHAKE_OWNER + "/" + RAGESHAKE_REPO)) { + rageshakes.add(node.source.number); + } + break; + } + } + + console.log("Duplicate of: ", duplicateOf); + console.log("Found rageshakes: ", rageshakes); + + if (duplicateOf.size) { + const body = Array.from(duplicateOf).join("\n"); + + // Comment on all rageshakes to create relationship to the issue this was closed as duplicate of + for (const rageshake of rageshakes) { + github.rest.issues.createComment({ + owner: RAGESHAKE_OWNER, + repo: RAGESHAKE_REPO, + issue_number: rageshake, + body, + }); + } + + // Duplicate was closed with wrong reason, fix it + if (stateReason === "COMPLETED") { + core.setOutput("closeAsNotPlanned", "true"); + } + } else { + // This issue was closed, close all related rageshakes + for (const rageshake of rageshakes) { + github.rest.issues.update({ + owner: RAGESHAKE_OWNER, + repo: RAGESHAKE_REPO, + issue_number: rageshake, + state: "closed", + }); + } + } + - uses: actions/github-script@v7 + name: Close duplicate as Not Planned + if: steps.main.outputs.closeAsNotPlanned + with: + # We do this step separately, and with the default token so as to not re-trigger this workflow when re-closing + script: | + await github.graphql(`mutation($id:ID!) { + closeIssue(input: { issueId:$id, stateReason:NOT_PLANNED }) { + clientMutationId + } + }`, { + id: context.payload.issue.node_id, + }); diff --git a/.github/workflows/localazy_download.yaml b/.github/workflows/localazy_download.yaml new file mode 100644 index 0000000000..a880c3b2e4 --- /dev/null +++ b/.github/workflows/localazy_download.yaml @@ -0,0 +1,10 @@ +name: Localazy Download +on: + workflow_dispatch: {} + schedule: + - cron: "0 6 * * 1,3,5" # Every Monday, Wednesday and Friday at 6am UTC +jobs: + download: + uses: matrix-org/matrix-web-i18n/.github/workflows/localazy_download.yaml@main + secrets: + ELEMENT_BOT_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }} diff --git a/.github/workflows/localazy_upload.yaml b/.github/workflows/localazy_upload.yaml new file mode 100644 index 0000000000..9ba79800db --- /dev/null +++ b/.github/workflows/localazy_upload.yaml @@ -0,0 +1,11 @@ +name: Localazy Upload +on: + push: + branches: [develop] + paths: + - "src/i18n/strings/en_EN.json" +jobs: + upload: + uses: matrix-org/matrix-web-i18n/.github/workflows/localazy_upload.yaml@main + secrets: + LOCALAZY_WRITE_KEY: ${{ secrets.LOCALAZY_WRITE_KEY }} diff --git a/.github/workflows/pending-reviews.yaml b/.github/workflows/pending-reviews.yaml new file mode 100644 index 0000000000..5aaae6011b --- /dev/null +++ b/.github/workflows/pending-reviews.yaml @@ -0,0 +1,90 @@ +name: Pending reviews automation +on: + # We run it on a schedule instead of on pull_request_* events to not create confusing messaging in the PR + schedule: + - cron: "*/10 * * * *" +concurrency: ${{ github.workflow }} +jobs: + bot: + name: Pending reviews bot + runs-on: ubuntu-latest + environment: Matrix + env: + URL: "https://github.com/pulls?q=is%3Apr+is%3Aopen+repo%3Amatrix-org%2Fmatrix-js-sdk+repo%3Amatrix-org%2Fmatrix-react-sdk+repo%3Aelement-hq%2Felement-web+repo%3Aelement-hq%2Felement-desktop+review-requested%3A%40me+sort%3Aupdated-desc+" + RELEASE_BLOCKERS_URL: "https://github.com/pulls?q=is%3Aopen+repo%3Amatrix-org%2Fmatrix-js-sdk+repo%3Amatrix-org%2Fmatrix-react-sdk+repo%3Aelement-hq%2Felement-web+repo%3Aelement-hq%2Felement-desktop+sort%3Aupdated-desc+label%3AX-Release-Blocker+" + steps: + - uses: actions/github-script@v7 + env: + HS_URL: ${{ secrets.BETABOT_HS_URL }} + ROOM_ID: ${{ secrets.ROOM_ID }} + TOKEN: ${{ secrets.BETABOT_ACCESS_TOKEN }} + with: + # PAT needed as the GITHUB_TOKEN won't be able to see cross-references from other orgs (matrix-org) + github-token: ${{ secrets.ELEMENT_BOT_TOKEN }} + script: | + const { HS_URL, ROOM_ID, TOKEN, URL, RELEASE_BLOCKERS_URL } = process.env; + + async function updateCounter(counter, link, severity, title, value, clearOnZero) { + const apiUrl = `${HS_URL}/_matrix/client/v3/rooms/${ROOM_ID}/state/re.jki.counter/${counter}`; + const headers = { + "Content-Type": "application/json", + "Authorization": `Bearer ${TOKEN}`, + }; + const res = await fetch(apiUrl, { + method: "GET", + headers, + }); + + const data = await res.json(); + + if (data.value === issueCount) { + console.log("Pending review count already correct"); + return; + } + + let body = {}; + if (issueCount || !clearOnZero) { + body = JSON.stringify({ + link, + severity, + title, + value, + }); + } + + await fetch(apiUrl, { + method: "PUT", + body, + headers, + }); + } + + const repos = [ + "element-hq/element-desktop", + "element-hq/element-web", + "matrix-org/matrix-react-sdk", + "matrix-org/matrix-js-sdk", + ]; + const teams = [ + "matrix-org/element-web-team", + "matrix-org/element-web-reviewers", + "element-hq/element-web-team", + "element-hq/element-web-reviewers", + ]; + + let issueCount = 0; + for (const team of teams) { + const org = team.split("/", 2)[0]; + const reposInOrg = repos.filter(repo => repo.startsWith(org + "/")); + const { data } = await github.rest.search.issuesAndPullRequests({ + q: `is:pr is:open review:required ${reposInOrg.map(r => `repo:${r}`).join(" ")} team-review-requested:${team}`, + }); + issueCount += data.total_count; + } + await updateCounter("gh_reviews", URL, "warning", "Pending reviews", issueCount); + + const { data } = await github.rest.search.issuesAndPullRequests({ + q: `is:open ${repos.map(repo => `repo:${repo}`).join(" ")} label:X-Release-Blocker`, + }); + const blockerCount = data.total_count; + await updateCounter("release_blockers", RELEASE_BLOCKERS_URL, "alert", "Release Blockers", blockerCount, true); diff --git a/.github/workflows/pull_request.yaml b/.github/workflows/pull_request.yaml new file mode 100644 index 0000000000..1f49adfcc4 --- /dev/null +++ b/.github/workflows/pull_request.yaml @@ -0,0 +1,11 @@ +name: Pull Request +on: + pull_request_target: + types: [opened, edited, labeled, unlabeled, synchronize] + merge_group: + types: [checks_requested] +jobs: + action: + uses: matrix-org/matrix-js-sdk/.github/workflows/pull_request.yaml@develop + secrets: + ELEMENT_BOT_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }} diff --git a/.github/workflows/release-drafter.yml b/.github/workflows/release-drafter.yml new file mode 100644 index 0000000000..f5602338b3 --- /dev/null +++ b/.github/workflows/release-drafter.yml @@ -0,0 +1,11 @@ +name: Release Drafter +on: + push: + branches: [staging] + workflow_dispatch: {} +concurrency: ${{ github.workflow }} +jobs: + draft: + uses: matrix-org/matrix-js-sdk/.github/workflows/release-drafter-workflow.yml@develop + with: + include-changes: matrix-react-sdk diff --git a/.github/workflows/release-gitflow.yml b/.github/workflows/release-gitflow.yml new file mode 100644 index 0000000000..22ad5bcb84 --- /dev/null +++ b/.github/workflows/release-gitflow.yml @@ -0,0 +1,15 @@ +# Gitflow merge-back master->develop +name: Merge master -> develop +on: + push: + branches: [master] +concurrency: ${{ github.repository }}-${{ github.workflow }} +jobs: + merge: + uses: matrix-org/matrix-js-sdk/.github/workflows/release-gitflow.yml@develop + secrets: + ELEMENT_BOT_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }} + with: + dependencies: | + matrix-react-sdk + matrix-js-sdk diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000000..3bb1418986 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,62 @@ +name: Release Process +on: + workflow_dispatch: + inputs: + mode: + description: What type of release + required: true + default: rc + type: choice + options: + - rc + - final +concurrency: ${{ github.workflow }} +jobs: + release: + uses: matrix-org/matrix-js-sdk/.github/workflows/release-make.yml@develop + secrets: + ELEMENT_BOT_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }} + GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }} + GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }} + with: + final: ${{ inputs.mode == 'final' }} + gpg-fingerprint: ${{ vars.GPG_FINGERPRINT }} + asset-path: dist/*.tar.gz + expected-asset-count: 3 + + notify-downstream: + name: Trigger release drafter downstream + needs: release + runs-on: ubuntu-latest + steps: + - name: Notify element-desktop repo that element-web release has completed to re-trigger release-drafter + uses: benc-uk/workflow-dispatch@25b02cc069be46d637e8fe2f1e8484008e9e9609 # v1 + with: + workflow: release-drafter.yml + repo: element-hq/element-desktop + ref: staging + # Required when using the `repo` option. Either a PAT or a token generated from the GitHub app or CLI + token: "${{ secrets.ELEMENT_BOT_TOKEN }}" + + check: + name: Post release checks + needs: release + runs-on: ubuntu-latest + steps: + - name: Wait for dockerhub + uses: t3chguy/wait-on-check-action@18541021811b56544d90e0f073401c2b99e249d6 # fork + with: + ref: master + repo-token: ${{ secrets.GITHUB_TOKEN }} + wait-interval: 10 + check-name: "Docker Buildx (vanilla)" + allowed-conclusions: success + + - name: Wait for debian package + uses: t3chguy/wait-on-check-action@18541021811b56544d90e0f073401c2b99e249d6 # fork + with: + ref: master + repo-token: ${{ secrets.GITHUB_TOKEN }} + wait-interval: 10 + check-name: Build package + allowed-conclusions: success diff --git a/.github/workflows/release_prepare.yml b/.github/workflows/release_prepare.yml new file mode 100644 index 0000000000..3bddad4d04 --- /dev/null +++ b/.github/workflows/release_prepare.yml @@ -0,0 +1,124 @@ +name: Cut branches +on: + workflow_dispatch: + inputs: + element-desktop: + description: Prepare element-desktop + required: true + type: boolean + default: true + element-web: + description: Prepare element-web + required: true + type: boolean + default: true + matrix-react-sdk: + description: Prepare matrix-react-sdk + required: true + type: boolean + default: true + matrix-js-sdk: + description: Prepare matrix-js-sdk + required: true + type: boolean + default: true +jobs: + prepare: + runs-on: ubuntu-latest + env: + # The order is specified bottom-up to avoid any races for allchange + REPOS: matrix-js-sdk matrix-react-sdk element-web element-desktop + steps: + - name: Checkout Element Desktop + uses: actions/checkout@v4 + if: inputs.element-desktop + with: + repository: element-hq/element-desktop + path: element-desktop + ref: staging + fetch-depth: 0 + fetch-tags: true + token: ${{ secrets.ELEMENT_BOT_TOKEN }} + - name: Checkout Element Web + uses: actions/checkout@v4 + if: inputs.element-web + with: + repository: element-hq/element-web + path: element-web + ref: staging + fetch-depth: 0 + fetch-tags: true + token: ${{ secrets.ELEMENT_BOT_TOKEN }} + - name: Checkout Matrix React SDK + uses: actions/checkout@v4 + if: inputs.matrix-react-sdk + with: + repository: matrix-org/matrix-react-sdk + path: matrix-react-sdk + ref: staging + fetch-depth: 0 + fetch-tags: true + token: ${{ secrets.ELEMENT_BOT_TOKEN }} + - name: Checkout Matrix JS SDK + uses: actions/checkout@v4 + if: inputs.matrix-js-sdk + with: + repository: matrix-org/matrix-js-sdk + path: matrix-js-sdk + ref: staging + fetch-depth: 0 + fetch-tags: true + token: ${{ secrets.ELEMENT_BOT_TOKEN }} + + - name: Merge develop + run: | + git config --global user.email "releases@riot.im" + git config --global user.name "RiotRobot" + for REPO in $REPOS; do [ -d "$REPO" ] && git -C "$REPO" merge origin/develop; done + + - name: Push staging + run: for REPO in $REPOS; do [ -d "$REPO" ] && git -C "$REPO" push origin staging; done + + - name: Wait for matrix-js-sdk draft + if: inputs.matrix-js-sdk + uses: t3chguy/wait-on-check-action@18541021811b56544d90e0f073401c2b99e249d6 # fork + with: + ref: staging + repo: matrix-org/matrix-js-sdk + repo-token: ${{ secrets.ELEMENT_BOT_TOKEN }} + wait-interval: 10 + check-name: draft + allowed-conclusions: success + + - name: Wait for matrix-react-sdk draft + if: inputs.matrix-react-sdk + uses: t3chguy/wait-on-check-action@18541021811b56544d90e0f073401c2b99e249d6 # fork + with: + ref: staging + repo: matrix-org/matrix-react-sdk + repo-token: ${{ secrets.ELEMENT_BOT_TOKEN }} + wait-interval: 10 + check-name: draft + allowed-conclusions: success + + - name: Wait for element-web draft + if: inputs.element-web + uses: t3chguy/wait-on-check-action@18541021811b56544d90e0f073401c2b99e249d6 # fork + with: + ref: staging + repo: element-hq/element-web + repo-token: ${{ secrets.ELEMENT_BOT_TOKEN }} + wait-interval: 10 + check-name: draft + allowed-conclusions: success + + - name: Wait for element-desktop draft + if: inputs.element-desktop + uses: t3chguy/wait-on-check-action@18541021811b56544d90e0f073401c2b99e249d6 # fork + with: + ref: staging + repo: element-hq/element-desktop + repo-token: ${{ secrets.ELEMENT_BOT_TOKEN }} + wait-interval: 10 + check-name: draft + allowed-conclusions: success diff --git a/.github/workflows/sonarqube.yml b/.github/workflows/sonarqube.yml new file mode 100644 index 0000000000..2859573d5a --- /dev/null +++ b/.github/workflows/sonarqube.yml @@ -0,0 +1,16 @@ +name: SonarQube +on: + workflow_run: + workflows: ["Tests"] + types: + - completed +concurrency: + group: ${{ github.workflow }}-${{ github.event.workflow_run.head_branch }} + cancel-in-progress: true +jobs: + sonarqube: + name: 🩻 SonarQube + uses: matrix-org/matrix-js-sdk/.github/workflows/sonarcloud.yml@develop + secrets: + SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + ELEMENT_BOT_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }} diff --git a/.github/workflows/static_analysis.yaml b/.github/workflows/static_analysis.yaml new file mode 100644 index 0000000000..ed0148f36c --- /dev/null +++ b/.github/workflows/static_analysis.yaml @@ -0,0 +1,107 @@ +name: Static Analysis +on: + pull_request: {} + push: + branches: [develop, master] + merge_group: + types: [checks_requested] + repository_dispatch: + types: [element-web-notify] +env: + # These must be set for fetchdep.sh to get the right branch + REPOSITORY: ${{ github.repository }} + PR_NUMBER: ${{ github.event.pull_request.number }} +jobs: + ts_lint: + name: "Typescript Syntax Check" + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - uses: actions/setup-node@v4 + with: + cache: "yarn" + node-version: "lts/*" + + - name: Install Dependencies + run: "./scripts/layered.sh" + + - name: Typecheck + run: "yarn run lint:types" + + i18n_lint: + name: "i18n Check" + uses: matrix-org/matrix-web-i18n/.github/workflows/i18n_check.yml@main + with: + hardcoded-words: "Element" + + js_lint: + name: "ESLint" + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - uses: actions/setup-node@v4 + with: + cache: "yarn" + node-version: "lts/*" + + # Does not need branch matching as only analyses this layer + - name: Install Deps + run: "yarn install --frozen-lockfile" + + - name: Run Linter + run: "yarn run lint:js" + + style_lint: + name: "Style Lint" + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - uses: actions/setup-node@v4 + with: + cache: "yarn" + node-version: "lts/*" + + # Needs branch matching as it inherits .stylelintrc.js from matrix-react-sdk + - name: Install Dependencies + run: "./scripts/layered.sh" + + - name: Run Linter + run: "yarn run lint:style" + + workflow_lint: + name: "Workflow Lint" + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - uses: actions/setup-node@v4 + with: + cache: "yarn" + node-version: "lts/*" + + # Does not need branch matching as only analyses this layer + - name: Install Deps + run: "yarn install --frozen-lockfile" + + - name: Run Linter + run: "yarn lint:workflows" + + analyse_dead_code: + name: "Analyse Dead Code" + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - uses: actions/setup-node@v4 + with: + cache: "yarn" + node-version: "lts/*" + + - name: Install Deps + run: "scripts/layered.sh" + + - name: Dead Code Analysis + run: "yarn run analyse:unused-exports" diff --git a/.github/workflows/sync-labels.yml b/.github/workflows/sync-labels.yml new file mode 100644 index 0000000000..bb22292a64 --- /dev/null +++ b/.github/workflows/sync-labels.yml @@ -0,0 +1,21 @@ +name: Sync labels +on: + workflow_dispatch: {} + schedule: + - cron: "0 1 * * *" # 1am every day + push: + branches: + - develop + paths: + - .github/labels.yml +jobs: + sync-labels: + uses: element-hq/element-meta/.github/workflows/sync-labels.yml@develop + with: + LABELS: | + element-hq/element-meta + .github/labels.yml + DELETE: true + WET: true + secrets: + ELEMENT_BOT_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }} diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml new file mode 100644 index 0000000000..01965af419 --- /dev/null +++ b/.github/workflows/tests.yaml @@ -0,0 +1,60 @@ +name: Tests +on: + pull_request: {} + push: + branches: [develop, master] + merge_group: + types: [checks_requested] + repository_dispatch: + types: [element-web-notify] +env: + # These must be set for fetchdep.sh to get the right branch + REPOSITORY: ${{ github.repository }} + PR_NUMBER: ${{ github.event.pull_request.number }} +jobs: + jest: + name: Jest + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Yarn cache + uses: actions/setup-node@v4 + with: + cache: "yarn" + node-version: "lts/*" + + - name: Install Dependencies + run: "./scripts/layered.sh" + + - name: Get number of CPU cores + id: cpu-cores + uses: SimenB/github-actions-cpu-cores@97ba232459a8e02ff6121db9362b09661c875ab8 # v2 + + - name: Run tests with coverage + run: "yarn coverage --ci --max-workers ${{ steps.cpu-cores.outputs.count }}" + + - name: Upload Artifact + uses: actions/upload-artifact@v4 + with: + name: coverage + path: | + coverage + !coverage/lcov-report + + skip_sonar: + name: Skip SonarCloud in merge queue + if: github.event_name == 'merge_group' + runs-on: ubuntu-latest + needs: jest + steps: + - name: Skip SonarCloud + uses: Sibz/github-status-action@faaa4d96fecf273bd762985e0e7f9f933c774918 # v1 + with: + authToken: ${{ secrets.GITHUB_TOKEN }} + state: success + description: SonarCloud skipped + context: SonarCloud Code Analysis + sha: ${{ github.sha }} + target_url: https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }} diff --git a/.github/workflows/triage-assigned.yml b/.github/workflows/triage-assigned.yml new file mode 100644 index 0000000000..98112d556f --- /dev/null +++ b/.github/workflows/triage-assigned.yml @@ -0,0 +1,18 @@ +name: Move issued assigned to specific team members to their boards + +on: + issues: + types: [assigned] + +jobs: + web-app-team: + runs-on: ubuntu-latest + if: | + contains(github.event.issue.assignees.*.login, 't3chguy') || + contains(github.event.issue.assignees.*.login, 'andybalaam') || + contains(github.event.issue.assignees.*.login, 'MidhunSureshR') + steps: + - uses: actions/add-to-project@main + with: + project-url: https://github.com/orgs/element-hq/projects/67 + github-token: ${{ secrets.ELEMENT_BOT_TOKEN }} diff --git a/.github/workflows/triage-incoming.yml b/.github/workflows/triage-incoming.yml new file mode 100644 index 0000000000..47ed03efe3 --- /dev/null +++ b/.github/workflows/triage-incoming.yml @@ -0,0 +1,14 @@ +name: Move new issues into Issue triage board + +on: + issues: + types: [opened] + +jobs: + automate-project-columns: + runs-on: ubuntu-latest + steps: + - uses: actions/add-to-project@main + with: + project-url: https://github.com/orgs/element-hq/projects/120 + github-token: ${{ secrets.ELEMENT_BOT_TOKEN }} diff --git a/.github/workflows/triage-labelled.yml b/.github/workflows/triage-labelled.yml new file mode 100644 index 0000000000..fe7b275cad --- /dev/null +++ b/.github/workflows/triage-labelled.yml @@ -0,0 +1,200 @@ +name: Move labelled issues to correct projects + +on: + issues: + types: [labeled] + workflow_call: + secrets: + ELEMENT_BOT_TOKEN: + required: true + +jobs: + apply_Z-Labs_label: + name: Add Z-Labs label for features behind labs flags + runs-on: ubuntu-latest + if: > + contains(github.event.issue.labels.*.name, 'A-Maths') || + contains(github.event.issue.labels.*.name, 'A-Message-Pinning') || + contains(github.event.issue.labels.*.name, 'A-Location-Sharing') || + contains(github.event.issue.labels.*.name, 'Z-IA') || + contains(github.event.issue.labels.*.name, 'A-Jump-To-Date ') || + contains(github.event.issue.labels.*.name, 'A-Themes-Custom') || + contains(github.event.issue.labels.*.name, 'A-E2EE-Dehydration') || + contains(github.event.issue.labels.*.name, 'A-Tags') || + contains(github.event.issue.labels.*.name, 'A-Video-Rooms') || + contains(github.event.issue.labels.*.name, 'A-Message-Starring') || + contains(github.event.issue.labels.*.name, 'A-Rich-Text-Editor') || + contains(github.event.issue.labels.*.name, 'A-Element-Call') + steps: + - uses: actions/github-script@v7 + with: + script: | + github.rest.issues.addLabels({ + issue_number: context.issue.number, + owner: context.repo.owner, + repo: context.repo.repo, + labels: ['Z-Labs'] + }) + + apply_Help-Wanted_label: + name: Add "Help Wanted" label to all "good first issue" and Hacktoberfest + runs-on: ubuntu-latest + if: > + contains(github.event.issue.labels.*.name, 'good first issue') || + contains(github.event.issue.labels.*.name, 'Hacktoberfest') + steps: + - uses: actions/github-script@v7 + with: + script: | + github.rest.issues.addLabels({ + issue_number: context.issue.number, + owner: context.repo.owner, + repo: context.repo.repo, + labels: ['Help Wanted'] + }) + + move_needs_info_issues: + name: X-Needs-Info issues to Need info column on triage board + runs-on: ubuntu-latest + if: > + contains(github.event.issue.labels.*.name, 'X-Needs-Info') + steps: + - id: add_to_project + uses: actions/add-to-project@v1.0.2 + with: + project-url: ${{ env.PROJECT_URL }} + github-token: ${{ secrets.ELEMENT_BOT_TOKEN }} + + - id: set_fields + uses: titoportas/update-project-fields@421a54430b3cdc9eefd8f14f9ce0142ab7678751 # v0.1.0 + with: + project-url: ${{ env.PROJECT_URL }} + github-token: ${{ secrets.ELEMENT_BOT_TOKEN }} + item-id: ${{ steps.add_to_project.outputs.itemId }} # Use the item-id output of the previous step + field-keys: Status + field-values: "Needs info" + env: + PROJECT_URL: https://github.com/orgs/element-hq/projects/120 + + move_flakey_test_issues: + name: Z-Flaky-Test issues to Sized for maintainer column on triage board + runs-on: ubuntu-latest + if: > + contains(github.event.issue.labels.*.name, 'Z-Flaky-Test') + steps: + - id: add_to_project + uses: actions/add-to-project@v1.0.2 + with: + project-url: ${{ env.PROJECT_URL }} + github-token: ${{ secrets.ELEMENT_BOT_TOKEN }} + + - id: set_fields + uses: titoportas/update-project-fields@421a54430b3cdc9eefd8f14f9ce0142ab7678751 # v0.1.0 + with: + project-url: ${{ env.PROJECT_URL }} + github-token: ${{ secrets.ELEMENT_BOT_TOKEN }} + item-id: ${{ steps.add_to_project.outputs.itemId }} # Use the item-id output of the previous step + field-keys: Status + field-values: "Sized for maintainer" + env: + PROJECT_URL: https://github.com/orgs/element-hq/projects/120 + + add_priority_design_issues_to_project: + name: P1 X-Needs-Design to Design project board + runs-on: ubuntu-latest + if: > + contains(github.event.issue.labels.*.name, 'X-Needs-Design') && + (contains(github.event.issue.labels.*.name, 'S-Critical') && + (contains(github.event.issue.labels.*.name, 'O-Frequent') || + contains(github.event.issue.labels.*.name, 'O-Occasional')) || + contains(github.event.issue.labels.*.name, 'S-Major') && + contains(github.event.issue.labels.*.name, 'O-Frequent') || + contains(github.event.issue.labels.*.name, 'A11y')) + steps: + - uses: actions/add-to-project@main + with: + project-url: https://github.com/orgs/element-hq/projects/18 + github-token: ${{ secrets.ELEMENT_BOT_TOKEN }} + + add_product_issues: + name: X-Needs-Product to product project board + runs-on: ubuntu-latest + if: > + contains(github.event.issue.labels.*.name, 'X-Needs-Product') + steps: + - uses: actions/add-to-project@main + with: + project-url: https://github.com/orgs/element-hq/projects/28 + github-token: ${{ secrets.ELEMENT_BOT_TOKEN }} + + Search_issues_to_board: + name: Search issues to project board + runs-on: ubuntu-latest + if: > + contains(github.event.issue.labels.*.name, 'A-New-Search-Experience') + steps: + - uses: actions/add-to-project@main + with: + project-url: https://github.com/orgs/element-hq/projects/48 + github-token: ${{ secrets.ELEMENT_BOT_TOKEN }} + + voip: + name: Add labelled issues to VoIP project board + runs-on: ubuntu-latest + if: > + contains(github.event.issue.labels.*.name, 'Team: VoIP') + steps: + - uses: actions/add-to-project@main + with: + project-url: https://github.com/orgs/element-hq/projects/41 + github-token: ${{ secrets.ELEMENT_BOT_TOKEN }} + + verticals_feature: + name: Add labelled issues to Verticals Feature project + runs-on: ubuntu-latest + if: > + contains(github.event.issue.labels.*.name, 'Team: Verticals Feature') + steps: + - uses: actions/add-to-project@main + with: + project-url: https://github.com/orgs/element-hq/projects/57 + github-token: ${{ secrets.ELEMENT_BOT_TOKEN }} + + tech_debt: + name: Add labelled issues to tech debt project + runs-on: ubuntu-latest + if: > + contains(github.event.issue.labels.*.name, 'A-Developer-Experience') || + contains(github.event.issue.labels.*.name, 'A-Documentation') || + contains(github.event.issue.labels.*.name, 'A-Packaging') || + contains(github.event.issue.labels.*.name, 'A-Technical-Debt') || + contains(github.event.issue.labels.*.name, 'A-Testing') || + contains(github.event.issue.labels.*.name, 'Z-Flaky-Test') + steps: + - uses: actions/add-to-project@main + with: + project-url: https://github.com/orgs/element-hq/projects/101 + github-token: ${{ secrets.ELEMENT_BOT_TOKEN }} + + element_r: + name: Add Element R issues to Crypto Team board + runs-on: ubuntu-latest + if: > + contains(github.event.issue.labels.*.name, 'A-Element-R') + steps: + - id: add_to_project + uses: actions/add-to-project@v1.0.2 + with: + project-url: ${{ env.PROJECT_URL }} + github-token: ${{ secrets.ELEMENT_BOT_TOKEN }} + + - id: set_fields + uses: titoportas/update-project-fields@421a54430b3cdc9eefd8f14f9ce0142ab7678751 # v0.1.0 + with: + project-url: ${{ env.PROJECT_URL }} + github-token: ${{ secrets.ELEMENT_BOT_TOKEN }} + item-id: ${{ steps.add_to_project.outputs.itemId }} # Use the item-id output of the previous step + field-keys: Workstream,module + field-values: Element-R,web + env: + PROJECT_URL: https://github.com/orgs/element-hq/projects/76 diff --git a/.github/workflows/triage-move-review-requests.yml b/.github/workflows/triage-move-review-requests.yml new file mode 100644 index 0000000000..9d2924c1a9 --- /dev/null +++ b/.github/workflows/triage-move-review-requests.yml @@ -0,0 +1,139 @@ +name: Move pull requests asking for review to the relevant project +on: + pull_request_target: + types: [review_requested] + +jobs: + add_design_pr_to_project: + name: Move PRs asking for design review to the design board + runs-on: ubuntu-latest + steps: + - uses: octokit/graphql-action@v2.x + id: find_team_members + with: + headers: '{"GraphQL-Features": "projects_next_graphql"}' + query: | + query find_team_members($team: String!) { + organization(login: "element-hq") { + team(slug: $team) { + members { + nodes { + login + } + } + } + } + } + team: ${{ env.TEAM }} + env: + TEAM: "design" + GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }} + - id: any_matching_reviewers + run: | + # Fetch requested reviewers, and people who are on the team + echo '${{ tojson(fromjson(steps.find_team_members.outputs.data).organization.team.members.nodes[*].login) }}' | tee /tmp/team_members.json + echo '${{ tojson(github.event.pull_request.requested_reviewers[*].login) }}' | tee /tmp/reviewers.json + jq --raw-output .[] < /tmp/team_members.json | sort | tee /tmp/team_members.txt + jq --raw-output .[] < /tmp/reviewers.json | sort | tee /tmp/reviewers.txt + + # Fetch requested team reviewers, and the name of the team + echo '${{ tojson(github.event.pull_request.requested_teams[*].slug) }}' | tee /tmp/team_reviewers.json + jq --raw-output .[] < /tmp/team_reviewers.json | sort | tee /tmp/team_reviewers.txt + echo '${{ env.TEAM }}' | tee /tmp/team.txt + + # If either a reviewer matches a team member, or a team matches our team, say "true" + if [ $(join /tmp/team_members.txt /tmp/reviewers.txt | wc -l) != 0 ]; then + echo "match=true" >> $GITHUB_OUTPUT + elif [ $(join /tmp/team.txt /tmp/team_reviewers.txt | wc -l) != 0 ]; then + echo "match=true" >> $GITHUB_OUTPUT + else + echo "match=false" >> $GITHUB_OUTPUT + fi + env: + TEAM: "design" + - uses: octokit/graphql-action@v2.x + id: add_to_project + if: steps.any_matching_reviewers.outputs.match == 'true' + with: + headers: '{"GraphQL-Features": "projects_next_graphql"}' + query: | + mutation add_to_project($projectid:ID!, $contentid:ID!) { + addProjectV2ItemById(input: {projectId: $projectid contentId: $contentid}) { + item { + id + } + } + } + projectid: ${{ env.PROJECT_ID }} + contentid: ${{ github.event.pull_request.node_id }} + env: + PROJECT_ID: "PVT_kwDOAM0swc0sUA" + TEAM: "design" + GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }} + + add_product_pr_to_project: + name: Move PRs asking for design review to the design board + runs-on: ubuntu-latest + steps: + - uses: octokit/graphql-action@v2.x + id: find_team_members + with: + headers: '{"GraphQL-Features": "projects_next_graphql"}' + query: | + query find_team_members($team: String!) { + organization(login: "element-hq") { + team(slug: $team) { + members { + nodes { + login + } + } + } + } + } + team: ${{ env.TEAM }} + env: + TEAM: "product" + GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }} + - id: any_matching_reviewers + run: | + # Fetch requested reviewers, and people who are on the team + echo '${{ tojson(fromjson(steps.find_team_members.outputs.data).organization.team.members.nodes[*].login) }}' | tee /tmp/team_members.json + echo '${{ tojson(github.event.pull_request.requested_reviewers[*].login) }}' | tee /tmp/reviewers.json + jq --raw-output .[] < /tmp/team_members.json | sort | tee /tmp/team_members.txt + jq --raw-output .[] < /tmp/reviewers.json | sort | tee /tmp/reviewers.txt + + # Fetch requested team reviewers, and the name of the team + echo '${{ tojson(github.event.pull_request.requested_teams[*].slug) }}' | tee /tmp/team_reviewers.json + jq --raw-output .[] < /tmp/team_reviewers.json | sort | tee /tmp/team_reviewers.txt + echo '${{ env.TEAM }}' | tee /tmp/team.txt + + # If either a reviewer matches a team member, or a team matches our team, say "true" + if [ $(join /tmp/team_members.txt /tmp/reviewers.txt | wc -l) != 0 ]; then + echo "match=true" >> $GITHUB_OUTPUT + elif [ $(join /tmp/team.txt /tmp/team_reviewers.txt | wc -l) != 0 ]; then + echo "match=true" >> $GITHUB_OUTPUT + else + echo "match=false" >> $GITHUB_OUTPUT + fi + env: + TEAM: "product" + - uses: octokit/graphql-action@v2.x + id: add_to_project + if: steps.any_matching_reviewers.outputs.match == 'true' + with: + headers: '{"GraphQL-Features": "projects_next_graphql"}' + query: | + mutation add_to_project($projectid:ID!, $contentid:ID!) { + addProjectV2ItemById(input: {projectId: $projectid contentId: $contentid}) { + item { + id + } + } + } + projectid: ${{ env.PROJECT_ID }} + contentid: ${{ github.event.pull_request.node_id }} + env: + PROJECT_ID: "PVT_kwDOAM0swc4AAg6N" + TEAM: "product" + GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }} diff --git a/.github/workflows/triage-stale-flaky-tests.yml b/.github/workflows/triage-stale-flaky-tests.yml new file mode 100644 index 0000000000..70d63dd2df --- /dev/null +++ b/.github/workflows/triage-stale-flaky-tests.yml @@ -0,0 +1,17 @@ +name: Close stale flaky issues +on: + schedule: + - cron: "30 1 * * *" +jobs: + close: + runs-on: ubuntu-latest + permissions: + issues: write + steps: + - uses: actions/stale@v9 + with: + only-labels: "Z-Flaky-Test" + days-before-stale: 14 + days-before-close: 0 + close-issue-message: "This flaky test issue has not been updated in 14 days. It is being closed as presumed resolved." + exempt-issue-labels: "Z-Flaky-Test-Disabled" diff --git a/.github/workflows/triage-unlabelled.yml b/.github/workflows/triage-unlabelled.yml new file mode 100644 index 0000000000..59d1bf471d --- /dev/null +++ b/.github/workflows/triage-unlabelled.yml @@ -0,0 +1,71 @@ +name: Move unlabelled from needs info columns to triaged + +on: + issues: + types: [unlabeled] + +jobs: + Move_Unabeled_Issue_On_Project_Board: + name: Move no longer X-Needs-Info issues to Triaged + runs-on: ubuntu-latest + if: > + ${{ + !contains(github.event.issue.labels.*.name, 'X-Needs-Info') }} + env: + BOARD_NAME: "Issue triage" + OWNER: ${{ github.repository_owner }} + REPO: ${{ github.event.repository.name }} + ISSUE: ${{ github.event.issue.number }} + steps: + - name: Check if issue is already in "${{ env.BOARD_NAME }}" + run: | + json=$(curl -s -H 'Content-Type: application/json' -H "Authorization: bearer ${{ secrets.GITHUB_TOKEN }}" -X POST -d '{"query": "query($issue: Int!, $owner: String!, $repo: String!) { repository(owner: $owner, name: $repo) { issue(number: $issue) { projectCards { nodes { project { name } isArchived } } } } } ", "variables" : "{ \"issue\": '${ISSUE}', \"owner\": \"'${OWNER}'\", \"repo\": \"'${REPO}'\" }" }' https://api.github.com/graphql) + if echo $json | jq '.data.repository.issue.projectCards.nodes | length'; then + if [[ $(echo $json | jq '.data.repository.issue.projectCards.nodes[0].project.name') =~ "${BOARD_NAME}" ]]; then + if [[ $(echo $json | jq '.data.repository.issue.projectCards.nodes[0].isArchived') == 'true' ]]; then + echo "Issue is already in Project '$BOARD_NAME', but is archived - skipping workflow"; + echo "SKIP_ACTION=true" >> $GITHUB_ENV + else + echo "Issue is already in Project '$BOARD_NAME', proceeding"; + echo "ALREADY_IN_BOARD=true" >> $GITHUB_ENV + fi + else + echo "Issue is not in project '$BOARD_NAME', cancelling this workflow" + echo "ALREADY_IN_BOARD=false" >> $GITHUB_ENV + fi + fi + - name: Move issue + uses: alex-page/github-project-automation-plus@303f24a24c67ce7adf565a07e96720faf126fe36 + if: ${{ env.ALREADY_IN_BOARD == 'true' && env.SKIP_ACTION != 'true' }} + with: + project: Issue triage + column: Triaged + repo-token: ${{ secrets.ELEMENT_BOT_TOKEN }} + + remove_Z-Labs_label: + name: Remove Z-Labs label when features behind labs flags are removed + runs-on: ubuntu-latest + if: > + !(contains(github.event.issue.labels.*.name, 'A-Maths') || + contains(github.event.issue.labels.*.name, 'A-Message-Pinning') || + contains(github.event.issue.labels.*.name, 'A-Location-Sharing') || + contains(github.event.issue.labels.*.name, 'Z-IA') || + contains(github.event.issue.labels.*.name, 'A-Jump-To-Date') || + contains(github.event.issue.labels.*.name, 'A-Themes-Custom') || + contains(github.event.issue.labels.*.name, 'A-E2EE-Dehydration') || + contains(github.event.issue.labels.*.name, 'A-Tags') || + contains(github.event.issue.labels.*.name, 'A-Video-Rooms') || + contains(github.event.issue.labels.*.name, 'A-Message-Starring') || + contains(github.event.issue.labels.*.name, 'A-Rich-Text-Editor') || + contains(github.event.issue.labels.*.name, 'A-Element-Call')) && + contains(github.event.issue.labels.*.name, 'Z-Labs') + steps: + - uses: actions/github-script@v7 + with: + script: | + github.rest.issues.removeLabel({ + issue_number: context.issue.number, + owner: context.repo.owner, + repo: context.repo.repo, + name: ['Z-Labs'] + }) diff --git a/.github/workflows/update-jitsi.yml b/.github/workflows/update-jitsi.yml new file mode 100644 index 0000000000..cf25e602e5 --- /dev/null +++ b/.github/workflows/update-jitsi.yml @@ -0,0 +1,32 @@ +# Re-fetches the Jitsi SDK and opens a PR to update it if it's different from what's in the repository +name: Update Jitsi +on: + workflow_dispatch: {} + schedule: + - cron: "0 3 * * 0" # 3am every Sunday +jobs: + update: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - uses: actions/setup-node@v4 + with: + cache: "yarn" + node-version: "lts/*" + + - name: Install Deps + run: "yarn install --frozen-lockfile" + + - name: Fetch Jitsi + run: "yarn update:jitsi" + + - name: Create Pull Request + uses: peter-evans/create-pull-request@c5a7806660adbe173f04e3e038b0ccdcd758773c # v6 + with: + token: ${{ secrets.ELEMENT_BOT_TOKEN }} + branch: actions/jitsi-update + delete-branch: true + title: Jitsi Update + labels: | + T-Task diff --git a/.github/workflows/update-topics.yaml b/.github/workflows/update-topics.yaml new file mode 100644 index 0000000000..b24c84ad26 --- /dev/null +++ b/.github/workflows/update-topics.yaml @@ -0,0 +1,102 @@ +name: Update release topics +on: + workflow_dispatch: + inputs: + expected_status: + description: What type of release is the next expected release + required: true + default: RC + type: choice + options: + - RC + - Release + expected_date: + description: Expected release date e.g. July 11th + required: true + type: string +concurrency: ${{ github.workflow }} +jobs: + bot: + name: Release topic update + runs-on: ubuntu-latest + environment: Matrix + steps: + - uses: actions/github-script@v7 + env: + HS_URL: ${{ secrets.BETABOT_HS_URL }} + LOBBY_ROOM_ID: ${{ secrets.ROOM_ID }} + PUBLIC_ROOM_ID: "!YTvKGNlinIzlkMTVRl:matrix.org" + ANNOUNCEMENT_ROOM_ID: "!bijaLdadorKgNGtHdA:matrix.org" + TOKEN: ${{ secrets.BETABOT_ACCESS_TOKEN }} + RELEASE_STATUS: "Release status: ${{ inputs.expected_status }} expected ${{ inputs.expected_date }}" + with: + script: | + const { HS_URL, TOKEN, RELEASE_STATUS, LOBBY_ROOM_ID, PUBLIC_ROOM_ID, ANNOUNCEMENT_ROOM_ID } = process.env; + + const repo = context.repo; + const { data } = await github.rest.repos.getLatestRelease({ + owner: repo.owner, + repo: repo.repo, + }); + console.log("Found latest version: " + data.tag_name); + + const releaseTopic = `Stable: ${data.tag_name} | ${RELEASE_STATUS}`; + console.log("Release topic: " + releaseTopic); + + const regex = /Stable: v(.+) \| Release status: (\w+) expected (\w+ \d+\w\w)/gm; + + async function updateReleaseInTopic(roomId) { + const apiUrl = `${HS_URL}/_matrix/client/v3/rooms/${roomId}/state/m.room.topic/`; + const headers = { + "Content-Type": "application/json", + "Authorization": `Bearer ${TOKEN}`, + }; + await fetch(`${HS_URL}/_matrix/client/v3/rooms/${roomId}/join`, { + method: "POST", + headers, + body: "{}", + }); + + let res = await fetch(apiUrl, { + method: "GET", + headers, + }); + + if (!res.ok) { + console.log(roomId, "failed to fetch", await res.text()); + return; + } + + const data = await res.json(); + console.log(roomId, "got event", data); + + const topic = data.topic.replace(regex, releaseTopic); + if (topic === data.topic) { + console.log(roomId, "nothing to do"); + return; + } + if (data["org.matrix.msc3765.topic"]) { + data["org.matrix.msc3765.topic"].forEach(d => { + d.body = d.body.replace(regex, releaseTopic); + }); + } + + res = await fetch(apiUrl, { + method: "PUT", + body: JSON.stringify({ + ...data, + topic, + }), + headers, + }); + + if (res.ok) { + console.log(roomId, "topic updated:", topic); + } else { + console.log(roomId, await res.text()); + } + } + + await updateReleaseInTopic(LOBBY_ROOM_ID); + await updateReleaseInTopic(PUBLIC_ROOM_ID); + await updateReleaseInTopic(ANNOUNCEMENT_ROOM_ID); diff --git a/.gitignore b/.gitignore index c7f99f6925..3685381460 100644 --- a/.gitignore +++ b/.gitignore @@ -16,6 +16,16 @@ electron/pub /config.json /config.json.* /config.local*.json +# Legacy skinning file that some people might still have /src/component-index.js /.tmp /webpack-stats.json +.vscode +.vscode/ +.env +/coverage +# Auto-generated file +/src/modules.ts +/build_config.yaml +/book +/index.html diff --git a/.husky/pre-commit b/.husky/pre-commit new file mode 100755 index 0000000000..f0e9c9e0cb --- /dev/null +++ b/.husky/pre-commit @@ -0,0 +1,4 @@ +#!/usr/bin/env sh +. "$(dirname "$0")/_/husky.sh" + +npx lint-staged --concurrent false diff --git a/.lintstagedrc b/.lintstagedrc new file mode 100644 index 0000000000..c07ed8df5b --- /dev/null +++ b/.lintstagedrc @@ -0,0 +1,7 @@ +{ + "*": "prettier --write", + "src/**/*.(ts|tsx)": ["eslint --fix"], + "scripts/**/*.(ts|tsx)": ["eslint --fix"], + "module_system/**/*.(ts|tsx)": ["eslint --fix --config .eslintrc-module_system.js module_system"], + "*.pcss": ["stylelint --fix"] +} diff --git a/.modernizr.json b/.modernizr.json index e6fde5a968..0cfa76f1ad 100644 --- a/.modernizr.json +++ b/.modernizr.json @@ -1,38 +1,37 @@ { - "minify": true, - "classPrefix": "modernizr_", - "options": [ - "setClasses" - ], - "feature-detects": [ - "test/css/animations", - "test/css/displaytable", - "test/css/filters", - "test/css/flexbox", - "test/css/objectfit", + "minify": false, + "enableClasses": false, + "feature-detects": [ + "test/css/animations", + "test/css/displaytable", + "test/css/filters", + "test/css/flexbox", + "test/css/objectfit", - "test/es5/date", - "test/es5/function", - "test/es5/object", - "test/es5/undefined", + "test/es5/date", + "test/es5/function", + "test/es5/object", + "test/es5/undefined", - "test/es6/array", - "test/es6/collections", - "test/es6/promises", - "test/es6/string", + "test/es6/array", + "test/es6/collections", + "test/es6/promises", + "test/es6/string", - "test/svg", - "test/svg/asimg", - "test/svg/filters", + "test/svg", + "test/svg/asimg", + "test/svg/filters", - "test/url/parser", - "test/url/urlsearchparams", + "test/url/parser", + "test/url/urlsearchparams", - "test/cors", - "test/crypto", - "test/iframe/sandbox", - "test/json", - "test/network/fetch", - "test/storage/localstorage" - ] + "test/cors", + "test/crypto", + "test/iframe/sandbox", + "test/json", + "test/network/fetch", + "test/storage/localstorage", + "test/window/resizeobserver", + "test/audio/webaudio" + ] } diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000000..03ebae2ef5 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,34 @@ +/build +/dist +/lib +/node_modules +/packages/ +/webapp +/*.log +yarn.lock +electron/dist +electron/pub +**/.idea +/.tmp +/webpack-stats.json +.vscode +.vscode/ +.env +/coverage +# Auto-generated file +/src/modules.ts +/src/i18n/strings +/build_config.yaml +# Raises an error because it contains a template var breaking the script tag +src/vector/index.html +src/vector/modernizr.js +/docs/lib +/book +/debian/tmp + +# This file is owned, parsed, and generated by allchange, which doesn't comply with prettier +/CHANGELOG.md +/docs/changelogs + +# Downloaded and already minified +res/jitsi_external_api.min.js diff --git a/.prettierrc.js b/.prettierrc.js new file mode 100644 index 0000000000..6a17910f1a --- /dev/null +++ b/.prettierrc.js @@ -0,0 +1 @@ +module.exports = require("eslint-plugin-matrix-org/.prettierrc.js"); diff --git a/.stylelintrc.js b/.stylelintrc.js index 7296210285..467e1d0e77 100644 --- a/.stylelintrc.js +++ b/.stylelintrc.js @@ -1,26 +1,4 @@ -// Copied from react-sdk -// TODO: Only keep one copy of this for synchronization purposes module.exports = { - "extends": "stylelint-config-standard", - "plugins": [ - "stylelint-scss", - ], - "rules": { - "indentation": 4, - "comment-empty-line-before": null, - "declaration-empty-line-before": null, - "length-zero-no-unit": null, - "rule-empty-line-before": null, - "color-hex-length": null, - "max-empty-lines": null, - "number-no-trailing-zeros": null, - "number-leading-zero": null, - "selector-list-comma-newline-after": null, - "at-rule-no-unknown": null, - "no-descending-specificity": null, - "scss/at-rule-no-unknown": [true, { - // https://github.com/vector-im/riot-web/issues/10544 - "ignoreAtRules": ["define-mixin"], - }], - } + ...require("matrix-react-sdk/.stylelintrc.js"), + extends: ["stylelint-config-standard"], }; diff --git a/AUTHORS.rst b/AUTHORS.rst index a92ca066cc..d027b59c99 100644 --- a/AUTHORS.rst +++ b/AUTHORS.rst @@ -16,3 +16,6 @@ include: * Alexandr Korsak (https://github.com/oivoodoo) Improved multiple file uploading + +* Thom Cleary (https://github.com/thomcatdotrocks) + Small update for tarball deployment diff --git a/CHANGELOG.md b/CHANGELOG.md index 370eb4dd40..f8c113a443 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4116 +1,379 @@ -Changes in [1.6.6](https://github.com/vector-im/riot-web/releases/tag/v1.6.6) (2020-06-23) -========================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.6.6-rc.1...v1.6.6) - - * Upgrade to JS SDK 7.0.0 and React SDK 2.8.0 - -Changes in [1.6.6-rc.1](https://github.com/vector-im/riot-web/releases/tag/v1.6.6-rc.1) (2020-06-17) -==================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.6.5...v1.6.6-rc.1) - - * Upgrade to JS SDK 7.0.0-rc.1 and React SDK 2.8.0-rc.1 - * Update from Weblate - [\#14067](https://github.com/vector-im/riot-web/pull/14067) - * Update from Weblate - [\#14032](https://github.com/vector-im/riot-web/pull/14032) - * Attempt to fix decoder ring for relative hosted riots - [\#13987](https://github.com/vector-im/riot-web/pull/13987) - * Upgrade deps - [\#13952](https://github.com/vector-im/riot-web/pull/13952) - * Fix riot-desktop manual update check getting stuck on Downloading... - [\#13946](https://github.com/vector-im/riot-web/pull/13946) - * Bump websocket-extensions from 0.1.3 to 0.1.4 - [\#13943](https://github.com/vector-im/riot-web/pull/13943) - * Add e2ee-default:false docs - [\#13914](https://github.com/vector-im/riot-web/pull/13914) - * make IPC calls to get pickle key - [\#13846](https://github.com/vector-im/riot-web/pull/13846) - * fix loading test for new sso pattern - [\#13913](https://github.com/vector-im/riot-web/pull/13913) - * Fix login loop where the sso flow returns to `#/login` - [\#13889](https://github.com/vector-im/riot-web/pull/13889) - * Fix typo in docs - [\#13905](https://github.com/vector-im/riot-web/pull/13905) - * Remove cross-signing from labs - [\#13904](https://github.com/vector-im/riot-web/pull/13904) - * Add PWA Platform with PWA-specific badge controls - [\#13890](https://github.com/vector-im/riot-web/pull/13890) - * Modernizr check for subtle crypto as we require it all over the place - [\#13828](https://github.com/vector-im/riot-web/pull/13828) - -Changes in [1.6.5](https://github.com/vector-im/riot-web/releases/tag/v1.6.5) (2020-06-16) -========================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.6.4...v1.6.5) - -* Upgrade to JS SDK 6.2.2 and React SDK 2.7.2 - -Changes in [1.6.4](https://github.com/vector-im/riot-web/releases/tag/v1.6.4) (2020-06-05) -========================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.6.3...v1.6.4) - -* Upgrade to JS SDK 6.2.1 and React SDK 2.7.1 - -Changes in [1.6.3](https://github.com/vector-im/riot-web/releases/tag/v1.6.3) (2020-06-04) -========================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.6.3-rc.1...v1.6.3) - -## Security notice - -Riot Web 1.6.3 fixes a vulnerability in single sign-on (SSO) deployments where Riot Web could be confused into sending authentication details to an attacker-controlled server. Thanks to Quentin Gliech for responsibly disclosing this via Matrix's Security Disclosure Policy. - -## All changes - - * Fix login loop where the sso flow returns to `#/login` to release - [\#13915](https://github.com/vector-im/riot-web/pull/13915) - -Changes in [1.6.3-rc.1](https://github.com/vector-im/riot-web/releases/tag/v1.6.3-rc.1) (2020-06-02) -==================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.6.2...v1.6.3-rc.1) - - * Upgrade to JS SDK 6.2.0-rc.1 and React SDK 2.7.0-rc.2 - * Get rid of welcome.html's Chat with Riot Bot button - [\#13842](https://github.com/vector-im/riot-web/pull/13842) - * Update from Weblate - [\#13886](https://github.com/vector-im/riot-web/pull/13886) - * Allow deferring of Update Toast until the next morning - [\#13864](https://github.com/vector-im/riot-web/pull/13864) - * Give contextual feedback for manual update check instead of banner - [\#13862](https://github.com/vector-im/riot-web/pull/13862) - * Add app-load doc - [\#13834](https://github.com/vector-im/riot-web/pull/13834) - * Update Modular hosting link - [\#13777](https://github.com/vector-im/riot-web/pull/13777) - * Replace New Version Bar with a Toast - [\#13776](https://github.com/vector-im/riot-web/pull/13776) - * Remove webpack-build-notifier from lockfile - [\#13814](https://github.com/vector-im/riot-web/pull/13814) - * Add media queries and mobile viewport (#12142) - [\#13818](https://github.com/vector-im/riot-web/pull/13818) - * Fix @types/react conflict in matrix-react-sdk - [\#13809](https://github.com/vector-im/riot-web/pull/13809) - * Fix manual update checking, super in arrow funcs doesn't work - [\#13808](https://github.com/vector-im/riot-web/pull/13808) - * Update from Weblate - [\#13806](https://github.com/vector-im/riot-web/pull/13806) - * Convert platforms to Typescript - [\#13756](https://github.com/vector-im/riot-web/pull/13756) - * Fix EventEmitter typescript signature in node typings - [\#13764](https://github.com/vector-im/riot-web/pull/13764) - * Add docs and labs flag for new room list implementation - [\#13675](https://github.com/vector-im/riot-web/pull/13675) - * Add font scaling labs setting. - [\#13352](https://github.com/vector-im/riot-web/pull/13352) - * Add labs flag for alternate message layouts - [\#13350](https://github.com/vector-im/riot-web/pull/13350) - * Move dispatcher references in support of TypeScript conversion - [\#13666](https://github.com/vector-im/riot-web/pull/13666) - * Update from Weblate - [\#13704](https://github.com/vector-im/riot-web/pull/13704) - * Replace favico.js dependency with simplified variant grown from it - [\#13649](https://github.com/vector-im/riot-web/pull/13649) - * Remove Electron packaging scripts - [\#13688](https://github.com/vector-im/riot-web/pull/13688) - * Fix postcss order to allow mixin variables to work - [\#13674](https://github.com/vector-im/riot-web/pull/13674) - * Pass screenAfterLogin through SSO in the callback url - [\#13650](https://github.com/vector-im/riot-web/pull/13650) - -Changes in [1.6.2](https://github.com/vector-im/riot-web/releases/tag/v1.6.2) (2020-05-22) -========================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.6.1...v1.6.2) - - * Upgrade to React SDK 2.6.1 - -Changes in [1.6.1](https://github.com/vector-im/riot-web/releases/tag/v1.6.1) (2020-05-19) -========================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.6.1-rc.1...v1.6.1) - - * Upgrade to React SDK 2.6.0 and JS SDK 6.1.0 - -Changes in [1.6.1-rc.1](https://github.com/vector-im/riot-web/releases/tag/v1.6.1-rc.1) (2020-05-14) -==================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.6.0...v1.6.1-rc.1) - - * Upgrade to React SDK 2.6.0-rc.1 and JS SDK 6.1.0-rc.1 - * Update from Weblate - [\#13673](https://github.com/vector-im/riot-web/pull/13673) - * Add notranslate class to matrixchat to prevent translation by Google - Translate - [\#13669](https://github.com/vector-im/riot-web/pull/13669) - * Added Anchor Link to the development of matrix sdk - [\#13638](https://github.com/vector-im/riot-web/pull/13638) - * Prefetch the formatting button mask svg images - [\#13631](https://github.com/vector-im/riot-web/pull/13631) - * use a different image in previews - [\#13488](https://github.com/vector-im/riot-web/pull/13488) - * Update from Weblate - [\#13625](https://github.com/vector-im/riot-web/pull/13625) - * Remove electron_app as we now have riot-desktop repo - [\#13544](https://github.com/vector-im/riot-web/pull/13544) - * add new images for PWA icons - [\#13556](https://github.com/vector-im/riot-web/pull/13556) - * Remove unused feature flag from config - [\#13504](https://github.com/vector-im/riot-web/pull/13504) - * Update from Weblate - [\#13486](https://github.com/vector-im/riot-web/pull/13486) - * Developer tool: convert rageshake error locations back to sourcecode - locations - [\#13357](https://github.com/vector-im/riot-web/pull/13357) - * App load tweaks, improve error pages - [\#13329](https://github.com/vector-im/riot-web/pull/13329) - * Tweak default device name to be more compact - [\#13465](https://github.com/vector-im/riot-web/pull/13465) - * Tweak default device name on macOS - [\#13460](https://github.com/vector-im/riot-web/pull/13460) - * Update docs with custom theming changes - [\#13406](https://github.com/vector-im/riot-web/pull/13406) - * Update from Weblate - [\#13395](https://github.com/vector-im/riot-web/pull/13395) - * Remove docs and config for invite only padlocks - [\#13374](https://github.com/vector-im/riot-web/pull/13374) - * Revert "Add font scaling labs setting." - [\#13351](https://github.com/vector-im/riot-web/pull/13351) - * Expand feature flag docs to cover additional release channels - [\#13341](https://github.com/vector-im/riot-web/pull/13341) - * Optimized image assets by recompressing without affecting quality. - [\#13034](https://github.com/vector-im/riot-web/pull/13034) - * Add font scaling labs setting. - [\#13199](https://github.com/vector-im/riot-web/pull/13199) - * Remove encrypted message search feature flag - [\#13325](https://github.com/vector-im/riot-web/pull/13325) - * Fix `default_federate` settting description - [\#13312](https://github.com/vector-im/riot-web/pull/13312) - * Clarify that the .well-known method for Jitsi isn't available yet - [\#13314](https://github.com/vector-im/riot-web/pull/13314) - * add config option to tsc resolveJsonModule - [\#13296](https://github.com/vector-im/riot-web/pull/13296) - * Fix dispatcher import to be extension agnostic - [\#13297](https://github.com/vector-im/riot-web/pull/13297) - * Document more config options in config.md (fixes #13089) - [\#13260](https://github.com/vector-im/riot-web/pull/13260) - * Fix tests post-js-sdk-filters change - [\#13295](https://github.com/vector-im/riot-web/pull/13295) - * Make Jitsi download script a JS script - [\#13227](https://github.com/vector-im/riot-web/pull/13227) - * Use matrix-react-sdk type extensions as a base - [\#13271](https://github.com/vector-im/riot-web/pull/13271) - * Allow Riot Web to randomly pick welcome backgrounds - [\#13235](https://github.com/vector-im/riot-web/pull/13235) - * Update cross-signing feature docs and document fallback procedures - [\#13224](https://github.com/vector-im/riot-web/pull/13224) - -Changes in [1.6.0](https://github.com/vector-im/riot-web/releases/tag/v1.6.0) (2020-05-05) -========================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.6.0-rc.6...v1.6.0) - - * Cross-signing and E2EE by default for DMs and private rooms enabled - * Upgrade to React SDK 2.5.0 and JS SDK 6.0.0 - -Changes in [1.6.0-rc.6](https://github.com/vector-im/riot-web/releases/tag/v1.6.0-rc.6) (2020-05-01) -==================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.6.0-rc.5...v1.6.0-rc.6) - - * Upgrade to React SDK 2.5.0-rc.6 and JS SDK 6.0.0-rc.2 - -Changes in [1.6.0-rc.5](https://github.com/vector-im/riot-web/releases/tag/v1.6.0-rc.5) (2020-04-30) -==================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.6.0-rc.4...v1.6.0-rc.5) - - * Upgrade to React SDK 2.5.0-rc.5 and JS SDK 6.0.0-rc.1 - * Remove feature flag docs from docs on release - [\#13375](https://github.com/vector-im/riot-web/pull/13375) - -Changes in [1.6.0-rc.4](https://github.com/vector-im/riot-web/releases/tag/v1.6.0-rc.4) (2020-04-23) -==================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.6.0-rc.3...v1.6.0-rc.4) - - * Upgrade to React SDK 2.5.0-rc.4 and JS SDK 5.3.1-rc.4 - -Changes in [1.6.0-rc.3](https://github.com/vector-im/riot-web/releases/tag/v1.6.0-rc.3) (2020-04-17) -==================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.6.0-rc.2...v1.6.0-rc.3) - - * Upgrade to React SDK 2.5.0-rc.3 and JS SDK 5.3.1-rc.3 - -Changes in [1.6.0-rc.2](https://github.com/vector-im/riot-web/releases/tag/v1.6.0-rc.2) (2020-04-16) -==================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.6.0-rc.1...v1.6.0-rc.2) - - * Upgrade to React SDK 2.5.0-rc.2 and JS SDK 5.3.1-rc.2 - * Enable cross-signing / E2EE by default for DM without config changes - -Changes in [1.6.0-rc.1](https://github.com/vector-im/riot-web/releases/tag/v1.6.0-rc.1) (2020-04-15) -==================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.5.16-rc.1...v1.6.0-rc.1) - - * Enable cross-signing / E2EE by default for DM on release - [\#13179](https://github.com/vector-im/riot-web/pull/13179) - * Upgrade to React SDK 2.5.0-rc.1 and JS SDK 5.3.1-rc.1 - * Add instruction to resolve the inotify watch limit issue - [\#13128](https://github.com/vector-im/riot-web/pull/13128) - * docs: labs: add a pointer to config.md - [\#13149](https://github.com/vector-im/riot-web/pull/13149) - * Fix Electron SSO handling to support multiple profiles - [\#13028](https://github.com/vector-im/riot-web/pull/13028) - * Add riot-desktop shortcuts for forward/back matching browsers&slack - [\#13133](https://github.com/vector-im/riot-web/pull/13133) - * Allow rageshake to fail in init - [\#13164](https://github.com/vector-im/riot-web/pull/13164) - * Fix broken yarn install link in README.md - [\#13125](https://github.com/vector-im/riot-web/pull/13125) - * fix build:jitsi scripts crash caused by a missing folder - [\#13122](https://github.com/vector-im/riot-web/pull/13122) - * App load order changes to catch errors better - [\#13095](https://github.com/vector-im/riot-web/pull/13095) - * Upgrade deps - [\#13080](https://github.com/vector-im/riot-web/pull/13080) - -Changes in [1.5.16-rc.1](https://github.com/vector-im/riot-web/releases/tag/v1.5.16-rc.1) (2020-04-08) -====================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.5.15...v1.5.16-rc.1) - - * Upgrade React SDK to 2.4.0-rc.1 and JS SDK to 5.3.0-rc.1 - * Update from Weblate - [\#13078](https://github.com/vector-im/riot-web/pull/13078) - * Mention Jitsi support at the .well-known level in Jitsi docs - [\#13047](https://github.com/vector-im/riot-web/pull/13047) - * Add new default home page fallback - [\#13049](https://github.com/vector-im/riot-web/pull/13049) - * App load order tweaks for code splitting - [\#13032](https://github.com/vector-im/riot-web/pull/13032) - * Add some docs about Jitsi widgets and Jitsi configuration - [\#13027](https://github.com/vector-im/riot-web/pull/13027) - * Bump minimist from 1.2.2 to 1.2.3 in /electron_app - [\#13030](https://github.com/vector-im/riot-web/pull/13030) - * Fix Electron mac-specific shortcut being registered on Web too. - [\#13020](https://github.com/vector-im/riot-web/pull/13020) - * Add a console warning that errors from Jitsi Meet are fine - [\#12968](https://github.com/vector-im/riot-web/pull/12968) - * Fix popout support for jitsi widgets - [\#12975](https://github.com/vector-im/riot-web/pull/12975) - * Some grammar and clarifications - [\#12925](https://github.com/vector-im/riot-web/pull/12925) - * Don't immediately remove notifications from notification trays - [\#12861](https://github.com/vector-im/riot-web/pull/12861) - * Remove welcome user from config - [\#12894](https://github.com/vector-im/riot-web/pull/12894) - -Changes in [1.5.15](https://github.com/vector-im/riot-web/releases/tag/v1.5.15) (2020-04-01) -============================================================================================ -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.5.14...v1.5.15) - -## Security notice - -The `jitsi.html` widget wrapper introduced in Riot 1.5.14 could be used to extract user data by tricking the user into adding a custom widget or opening a link in the browser used to run Riot. Jitsi widgets created through Riot UI do not pose a risk and do not need to be recreated. - -It is important to purge any copies of Riot 1.5.14 so that the vulnerable `jitsi.html` wrapper from that version is no longer accessible. - -## All changes - - * Upgrade React SDK to 2.3.1 for Jitsi fixes - * Fix popout support for jitsi widgets - [\#12980](https://github.com/vector-im/riot-web/pull/12980) - -Changes in [1.5.14](https://github.com/vector-im/riot-web/releases/tag/v1.5.14) (2020-03-30) -============================================================================================ -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.5.14-rc.1...v1.5.14) - - * Upgrade JS SDK to 5.2.0 and React SDK to 2.3.0 - -Changes in [1.5.14-rc.1](https://github.com/vector-im/riot-web/releases/tag/v1.5.14-rc.1) (2020-03-26) -====================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.5.13...v1.5.14-rc.1) - - * Upgrade JS SDK to 5.2.0-rc.1 and React SDK to 2.3.0-rc.1 - * Update from Weblate - [\#12890](https://github.com/vector-im/riot-web/pull/12890) - * App load tweaks - [\#12869](https://github.com/vector-im/riot-web/pull/12869) - * Add review policy doc - [\#12730](https://github.com/vector-im/riot-web/pull/12730) - * Fix artifact searching in redeployer - [\#12875](https://github.com/vector-im/riot-web/pull/12875) - * Fix Jitsi wrapper being large by getting the config from elsewhere - [\#12845](https://github.com/vector-im/riot-web/pull/12845) - * Add webpack stats which will be used by CI and stored to artifacts - [\#12832](https://github.com/vector-im/riot-web/pull/12832) - * Revert "Remove useless app preloading from Jitsi widget wrapper" - [\#12842](https://github.com/vector-im/riot-web/pull/12842) - * Remove useless app preloading from Jitsi widget wrapper - [\#12836](https://github.com/vector-im/riot-web/pull/12836) - * Update from Weblate - [\#12829](https://github.com/vector-im/riot-web/pull/12829) - * Fix version for Docker builds - [\#12799](https://github.com/vector-im/riot-web/pull/12799) - * Register Mac electron specific Cmd+, shortcut to User Settings - [\#12800](https://github.com/vector-im/riot-web/pull/12800) - * Use a local widget wrapper for Jitsi calls - [\#12780](https://github.com/vector-im/riot-web/pull/12780) - * Delete shortcuts.md - [\#12786](https://github.com/vector-im/riot-web/pull/12786) - * Remove remainders of gemini-scrollbar and react-gemini-scrollbar - [\#12756](https://github.com/vector-im/riot-web/pull/12756) - * Update electron to v7.1.14 - [\#12762](https://github.com/vector-im/riot-web/pull/12762) - * Add url tests to Modernizr - [\#12735](https://github.com/vector-im/riot-web/pull/12735) - * ElectronPlatform: Add support to remove events from the event index. - [\#12703](https://github.com/vector-im/riot-web/pull/12703) - * Bump minimist from 1.2.0 to 1.2.2 in /electron_app - [\#12744](https://github.com/vector-im/riot-web/pull/12744) - * Add docs and flag for custom theme support - [\#12731](https://github.com/vector-im/riot-web/pull/12731) - * Declare jsx in tsconfig for IDEs - [\#12716](https://github.com/vector-im/riot-web/pull/12716) - * Remove stuff that yarn install doesn't think we need - [\#12713](https://github.com/vector-im/riot-web/pull/12713) - * yarn upgrade - [\#12691](https://github.com/vector-im/riot-web/pull/12691) - * Support TypeScript for React components - [\#12696](https://github.com/vector-im/riot-web/pull/12696) - -Changes in [1.5.13](https://github.com/vector-im/riot-web/releases/tag/v1.5.13) (2020-03-17) -============================================================================================ -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.5.13-rc.1...v1.5.13) - - * Upgrade to JS SDK 5.1.1 and React SDK 2.2.3 - -Changes in [1.5.13-rc.1](https://github.com/vector-im/riot-web/releases/tag/v1.5.13-rc.1) (2020-03-11) -====================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.5.12...v1.5.13-rc.1) - - * Update from Weblate - [\#12688](https://github.com/vector-im/riot-web/pull/12688) - * Fix Docker image version for develop builds - [\#12670](https://github.com/vector-im/riot-web/pull/12670) - * docker: optimize custom sdk builds - [\#12612](https://github.com/vector-im/riot-web/pull/12612) - * riot-desktop open SSO in browser so user doesn't have to auth twice - [\#12590](https://github.com/vector-im/riot-web/pull/12590) - * Fix SSO flows for electron 8.0.2 by re-breaking will-navigate - [\#12585](https://github.com/vector-im/riot-web/pull/12585) - * index.html: Place noscript on top of the page - [\#12563](https://github.com/vector-im/riot-web/pull/12563) - * Remove will-navigate comment after Electron fix - [\#12561](https://github.com/vector-im/riot-web/pull/12561) - * Update loading test for JS SDK IDB change - [\#12552](https://github.com/vector-im/riot-web/pull/12552) - * Upgrade deps - [\#12528](https://github.com/vector-im/riot-web/pull/12528) - -Changes in [1.5.12](https://github.com/vector-im/riot-web/releases/tag/v1.5.12) (2020-03-04) -============================================================================================ -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.5.11...v1.5.12) - - * Upgrade to React SDK 2.2.1 - * Revert to Electron 7.1.12 to fix Arch Linux tray icon - * Fix image download links so they open in a new tab - -Changes in [1.5.11](https://github.com/vector-im/riot-web/releases/tag/v1.5.11) (2020-03-02) -============================================================================================ -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.5.11-rc.1...v1.5.11) - - * Upgrade to JS SDK 5.1.0 and React SDK 2.2.0 - * Fix SSO flows for Electron 8.0.2 by disabling will-navigate - [\#12585](https://github.com/vector-im/riot-web/pull/12585) - -Changes in [1.5.11-rc.1](https://github.com/vector-im/riot-web/releases/tag/v1.5.11-rc.1) (2020-02-26) -====================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.5.10...v1.5.11-rc.1) - - * Upgrade to JS SDK 5.1.0-rc.1 and React SDK 2.2.0-rc.1 - * Change Windows signing to warning when missing token - [\#12523](https://github.com/vector-im/riot-web/pull/12523) - * Modernizr remove t3st/es6/contains - [\#12524](https://github.com/vector-im/riot-web/pull/12524) - * Switch out any eval-using Modernizr rules - [\#12519](https://github.com/vector-im/riot-web/pull/12519) - * Update from Weblate - [\#12522](https://github.com/vector-im/riot-web/pull/12522) - * Notify electron of language changes - [\#12487](https://github.com/vector-im/riot-web/pull/12487) - * Relax macOS notarisation check to print a warning - [\#12503](https://github.com/vector-im/riot-web/pull/12503) - * Clarify supported tier means desktop OSes - [\#12486](https://github.com/vector-im/riot-web/pull/12486) - * Use noreferrer in addition to noopener for edge case browsers - [\#12477](https://github.com/vector-im/riot-web/pull/12477) - * Document start / end composer shortcuts - [\#12466](https://github.com/vector-im/riot-web/pull/12466) - * Update from Weblate - [\#12480](https://github.com/vector-im/riot-web/pull/12480) - * Remove buildkite pipeline - [\#12464](https://github.com/vector-im/riot-web/pull/12464) - * Remove exec so release script continues - [\#12435](https://github.com/vector-im/riot-web/pull/12435) - * Use Persistent Storage where possible - [\#12425](https://github.com/vector-im/riot-web/pull/12425) - -Changes in [1.5.10](https://github.com/vector-im/riot-web/releases/tag/v1.5.10) (2020-02-19) -============================================================================================ -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.5.9...v1.5.10) - - * Get rid of dependence on usercontent.riot.im - [\#12292](https://github.com/vector-im/riot-web/pull/12292) - * Add experimental support tier - [\#12377](https://github.com/vector-im/riot-web/pull/12377) - -Changes in [1.5.9](https://github.com/vector-im/riot-web/releases/tag/v1.5.9) (2020-02-17) -========================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.5.9-rc.1...v1.5.9) - - * Automate SDK dep upgrades for release - [\#12374](https://github.com/vector-im/riot-web/pull/12374) - -Changes in [1.5.9-rc.1](https://github.com/vector-im/riot-web/releases/tag/v1.5.9-rc.1) (2020-02-13) -==================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.5.8...v1.5.9-rc.1) - - * Upgrade JS SDK to 5.0.0-rc.1 and React SDK 2.1.0-rc.2 - * Update from Weblate - [\#12354](https://github.com/vector-im/riot-web/pull/12354) - * Add top left menu shortcut - [\#12310](https://github.com/vector-im/riot-web/pull/12310) - * Remove modernizr rules for features on which we only soft depend - [\#12272](https://github.com/vector-im/riot-web/pull/12272) - * Embed CSP meta tag and stop using script-src unsafe-inline - [\#12258](https://github.com/vector-im/riot-web/pull/12258) - * Add contribute.json - [\#12251](https://github.com/vector-im/riot-web/pull/12251) - * Improve Browser checks - [\#12232](https://github.com/vector-im/riot-web/pull/12232) - * Document padlock flag - [\#12173](https://github.com/vector-im/riot-web/pull/12173) - * Enable cross-signing on /develop - [\#12126](https://github.com/vector-im/riot-web/pull/12126) - * Switch back to legacy decorators - [\#12110](https://github.com/vector-im/riot-web/pull/12110) - * Update babel targets - [\#12102](https://github.com/vector-im/riot-web/pull/12102) - * Install deps for linting - [\#12076](https://github.com/vector-im/riot-web/pull/12076) - * Update from Weblate - [\#12062](https://github.com/vector-im/riot-web/pull/12062) - * Change to minimal Webpack output - [\#12049](https://github.com/vector-im/riot-web/pull/12049) - * Remove docs for new invite dialog labs feature - [\#12015](https://github.com/vector-im/riot-web/pull/12015) - * ElectronPlatform: Add the indexSize method. - [\#11529](https://github.com/vector-im/riot-web/pull/11529) - * ElectronPlatform: Add the ability to load file events from the event index - [\#11907](https://github.com/vector-im/riot-web/pull/11907) - * Fix the remainder of the cookie links - [\#12008](https://github.com/vector-im/riot-web/pull/12008) - * Use bash in Docker scripts - [\#12001](https://github.com/vector-im/riot-web/pull/12001) - * Use debian to build the Docker image - [\#11999](https://github.com/vector-im/riot-web/pull/11999) - * Update cookie policy urls on /app and /develop config.json - [\#11998](https://github.com/vector-im/riot-web/pull/11998) - * BuildKite: Only deploy to /develop if everything else passed - [\#11996](https://github.com/vector-im/riot-web/pull/11996) - * Add docs for admin report content message - [\#11995](https://github.com/vector-im/riot-web/pull/11995) - * Load as little as possible in index.js for the skinner - [\#11959](https://github.com/vector-im/riot-web/pull/11959) - * Fix webpack config (by stealing Dave's config) - [\#11956](https://github.com/vector-im/riot-web/pull/11956) - * Force Jest to resolve the js-sdk and react-sdk to src directories - [\#11954](https://github.com/vector-im/riot-web/pull/11954) - * Fix build to not babel modules inside js/react sdk - [\#11949](https://github.com/vector-im/riot-web/pull/11949) - * Fix webpack to babel js-sdk & react-sdk but no other deps - [\#11944](https://github.com/vector-im/riot-web/pull/11944) - -Changes in [1.5.8](https://github.com/vector-im/riot-web/releases/tag/v1.5.8) (2020-01-27) -========================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.5.8-rc.2...v1.5.8) - - * Fixes for alias display and copy / paste on composer - -Changes in [1.5.8-rc.2](https://github.com/vector-im/riot-web/releases/tag/v1.5.8-rc.2) (2020-01-22) -==================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.5.8-rc.1...v1.5.8-rc.2) - - * Fix incorrect version of react-sdk - -Changes in [1.5.8-rc.1](https://github.com/vector-im/riot-web/releases/tag/v1.5.8-rc.1) (2020-01-22) -==================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.5.7...v1.5.8-rc.1) - -This version contains an upgrade to the cryptography database -version. Once users run this version, their session's indexeddb -store will be upgraded and older version of Riot will no longer -be able to read it. Users will have to log out and log in if -the version of Riot is downgraded back to a previous version. - - * Fix webpack config (by stealing Dave's config) - [\#11994](https://github.com/vector-im/riot-web/pull/11994) - * Fix webpack to babel js-sdk & react-sdk but no other deps - [\#11947](https://github.com/vector-im/riot-web/pull/11947) - * Update from Weblate - [\#11934](https://github.com/vector-im/riot-web/pull/11934) - * Fix rageshake post-sourcemaps - [\#11926](https://github.com/vector-im/riot-web/pull/11926) - * Fix yarn start concurrent commands - [\#11895](https://github.com/vector-im/riot-web/pull/11895) - * Run the react-sdk reskindexer for developers - [\#11894](https://github.com/vector-im/riot-web/pull/11894) - * Update labs documentation for feature_ftue_dms given new scope - [\#11893](https://github.com/vector-im/riot-web/pull/11893) - * Fix indentation on webpack config and make sourcemapped files legible - [\#11892](https://github.com/vector-im/riot-web/pull/11892) - * Remove spinner check - [\#11891](https://github.com/vector-im/riot-web/pull/11891) - * Don't minifiy builds of develop through CI packaging - [\#11867](https://github.com/vector-im/riot-web/pull/11867) - * Use Jest for tests - [\#11869](https://github.com/vector-im/riot-web/pull/11869) - * Support application/wasm in Docker image - [\#11858](https://github.com/vector-im/riot-web/pull/11858) - * Fix sourcemaps by refactoring the build system - [\#11843](https://github.com/vector-im/riot-web/pull/11843) - * Disable event indexing on develop - [\#11850](https://github.com/vector-im/riot-web/pull/11850) - * Updated blog url - [\#11792](https://github.com/vector-im/riot-web/pull/11792) - * Enable and document presence in room list feature flag - [\#11829](https://github.com/vector-im/riot-web/pull/11829) - * Add stub service worker so users can install on desktop with Chrome - [\#11774](https://github.com/vector-im/riot-web/pull/11774) - * Update from Weblate - [\#11826](https://github.com/vector-im/riot-web/pull/11826) - * Sourcemaps: develop -> feature branch - [\#11802](https://github.com/vector-im/riot-web/pull/11802) - * Update build scripts for new process - [\#11801](https://github.com/vector-im/riot-web/pull/11801) - * Make the webpack config work for us - [\#11712](https://github.com/vector-im/riot-web/pull/11712) - * Updates URL for Electron Command Line Switches - [\#11810](https://github.com/vector-im/riot-web/pull/11810) - * Import from src/ for the react-sdk and js-sdk - [\#11714](https://github.com/vector-im/riot-web/pull/11714) - * Convert components to ES6 exports - [\#11713](https://github.com/vector-im/riot-web/pull/11713) - * Remove now-retired package.json property - [\#11660](https://github.com/vector-im/riot-web/pull/11660) - -Changes in [1.5.7](https://github.com/vector-im/riot-web/releases/tag/v1.5.7) (2020-01-13) -========================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.5.7-rc.2...v1.5.7) - - * Enable and document presence in room list feature flag - [\#11830](https://github.com/vector-im/riot-web/pull/11830) - -Changes in [1.5.7-rc.2](https://github.com/vector-im/riot-web/releases/tag/v1.5.7-rc.2) (2020-01-08) -==================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.5.7-rc.1...v1.5.7-rc.2) - - * Update to react-sdk rc.2 to fix build - -Changes in [1.5.7-rc.1](https://github.com/vector-im/riot-web/releases/tag/v1.5.7-rc.1) (2020-01-06) -==================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.5.6...v1.5.7-rc.1) - - * Update from Weblate - [\#11784](https://github.com/vector-im/riot-web/pull/11784) - * Add docs for feature_bridge_state flag - [\#11778](https://github.com/vector-im/riot-web/pull/11778) - * Add docs for feature_ftue_dms flag - [\#11758](https://github.com/vector-im/riot-web/pull/11758) - * Fix version file for Docker images - [\#11721](https://github.com/vector-im/riot-web/pull/11721) - * Add accelerators to context menu options like cut&paste in electron - [\#11690](https://github.com/vector-im/riot-web/pull/11690) - * electron-main: Provide a better error message if Seshat isn't installed. - [\#11691](https://github.com/vector-im/riot-web/pull/11691) - * Update from Weblate - [\#11672](https://github.com/vector-im/riot-web/pull/11672) - * Remove babel-plugin-transform-async-to-bluebird - [\#11662](https://github.com/vector-im/riot-web/pull/11662) - * Clarify which versions of what we support - [\#11658](https://github.com/vector-im/riot-web/pull/11658) - * Remove the code that calls the origin migrator - [\#11631](https://github.com/vector-im/riot-web/pull/11631) - * yarn upgrade - [\#11617](https://github.com/vector-im/riot-web/pull/11617) - * Remove draft-js dependency - [\#11616](https://github.com/vector-im/riot-web/pull/11616) - -Changes in [1.5.6](https://github.com/vector-im/riot-web/releases/tag/v1.5.6) (2019-12-09) -========================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.5.6-rc.1...v1.5.6) - - * No changes since rc.1 - -Changes in [1.5.6-rc.1](https://github.com/vector-im/riot-web/releases/tag/v1.5.6-rc.1) (2019-12-04) -==================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.5.5...v1.5.6-rc.1) - - * Update Lithuanian language name - [\#11599](https://github.com/vector-im/riot-web/pull/11599) - * Enable more languages - [\#11592](https://github.com/vector-im/riot-web/pull/11592) - * Fix Docker build for develop and publish a /version file - [\#11588](https://github.com/vector-im/riot-web/pull/11588) - * Remove unused translations - [\#11540](https://github.com/vector-im/riot-web/pull/11540) - * Update from Weblate - [\#11591](https://github.com/vector-im/riot-web/pull/11591) - * Update riot.im enable_presence_by_hs_url for new matrix.org client URL - [\#11565](https://github.com/vector-im/riot-web/pull/11565) - * Remove mention of vector.im as default identity server on mobile guide - [\#11544](https://github.com/vector-im/riot-web/pull/11544) - * Clean up and standardise app config - [\#11549](https://github.com/vector-im/riot-web/pull/11549) - * make it clear that seshat requires electron-build-env (at least on macOS) - [\#11527](https://github.com/vector-im/riot-web/pull/11527) - * Add postcss-easings - [\#11521](https://github.com/vector-im/riot-web/pull/11521) - * ElectronPlatform: Add support for a event index using Seshat. - [\#11125](https://github.com/vector-im/riot-web/pull/11125) - * Sign all of the Windows executable files - [\#11516](https://github.com/vector-im/riot-web/pull/11516) - * Clarify that cross-signing is in development - [\#11493](https://github.com/vector-im/riot-web/pull/11493) - * get rid of bluebird - [\#11301](https://github.com/vector-im/riot-web/pull/11301) - * Update from Weblate - [\#11488](https://github.com/vector-im/riot-web/pull/11488) - * Add note in README about self-hosted riot installs requiring custom caching - headers - [\#8702](https://github.com/vector-im/riot-web/pull/8702) - * De-dup theming code - [\#11445](https://github.com/vector-im/riot-web/pull/11445) - * Add eslint-plugin-jest because we inherit js-sdk's eslintrc and it wants - [\#11448](https://github.com/vector-im/riot-web/pull/11448) - -Changes in [1.5.5](https://github.com/vector-im/riot-web/releases/tag/v1.5.5) (2019-11-27) -========================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.5.4...v1.5.5) - -* Upgrade to JS SDK 2.5.4 to relax identity server discovery and E2EE debugging -* Upgrade to React SDK 1.7.4 to fix override behaviour of themes -* Clarify that cross-signing is in development -* Sign all of the Windows executable files - -Changes in [1.5.4](https://github.com/vector-im/riot-web/releases/tag/v1.5.4) (2019-11-25) -========================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.5.4-rc.2...v1.5.4) - - * No changes since rc.2 - -Changes in [1.5.4-rc.2](https://github.com/vector-im/riot-web/releases/tag/v1.5.4-rc.2) (2019-11-22) -==================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.5.4-rc.1...v1.5.4-rc.2) - - * react-sdk rc.2 to fix an error in Safari and some cosmetic - bugs - -Changes in [1.5.4-rc.1](https://github.com/vector-im/riot-web/releases/tag/v1.5.4-rc.1) (2019-11-20) -==================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.5.3...v1.5.4-rc.1) - - * Add doc for custom themes - [\#11444](https://github.com/vector-im/riot-web/pull/11444) - * Use new theme API in react-sdk - [\#11442](https://github.com/vector-im/riot-web/pull/11442) - * preload warning triangle - [\#11441](https://github.com/vector-im/riot-web/pull/11441) - * Update from Weblate - [\#11440](https://github.com/vector-im/riot-web/pull/11440) - * Add entitlements file for mic & camera permissions on macOS - [\#11435](https://github.com/vector-im/riot-web/pull/11435) - * Fix error/exception in electron signing script - [\#11429](https://github.com/vector-im/riot-web/pull/11429) - * Merge the `feature_user_info_panel` flag into `feature_dm_verification` - [\#11426](https://github.com/vector-im/riot-web/pull/11426) - * Let the user's homeserver config override the build config - [\#11409](https://github.com/vector-im/riot-web/pull/11409) - * Add cross-signing labs flag to develop and document - [\#11408](https://github.com/vector-im/riot-web/pull/11408) - * Update from Weblate - [\#11405](https://github.com/vector-im/riot-web/pull/11405) - * Trigger a theme change on startup, not just a tint change - [\#11381](https://github.com/vector-im/riot-web/pull/11381) - * Perform favicon updates twice in Chrome - [\#11375](https://github.com/vector-im/riot-web/pull/11375) - * Add labs documentation for Mjolnir - [\#11275](https://github.com/vector-im/riot-web/pull/11275) - * Add description of user info feature in labs doc - [\#11360](https://github.com/vector-im/riot-web/pull/11360) - * Update from Weblate - [\#11359](https://github.com/vector-im/riot-web/pull/11359) - * Add DM verification feature to labs.md - [\#11356](https://github.com/vector-im/riot-web/pull/11356) - * Add feature_dm_verification to labs - [\#11355](https://github.com/vector-im/riot-web/pull/11355) - * Document feature flag process - [\#11341](https://github.com/vector-im/riot-web/pull/11341) - * Remove unused feature flags - [\#11343](https://github.com/vector-im/riot-web/pull/11343) - -Changes in [1.5.3](https://github.com/vector-im/riot-web/releases/tag/v1.5.3) (2019-11-06) -========================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.5.2...v1.5.3) - - * Remove the 'auto hide menu bar' option on Mac - [\#11326](https://github.com/vector-im/riot-web/pull/11326) - * Expose feature_user_info_panel on riot.im/develop - [\#11304](https://github.com/vector-im/riot-web/pull/11304) - * Upgrade electron-notarize - [\#11312](https://github.com/vector-im/riot-web/pull/11312) - * Fix close window behaviour on Macos - [\#11309](https://github.com/vector-im/riot-web/pull/11309) - * Merge: Add dependency to eslint-plugin-react-hooks as react-sdk did - [\#11307](https://github.com/vector-im/riot-web/pull/11307) - * Add dependency to eslint-plugin-react-hooks as react-sdk did - [\#11306](https://github.com/vector-im/riot-web/pull/11306) - * Update from Weblate - [\#11300](https://github.com/vector-im/riot-web/pull/11300) - -Changes in [1.5.2](https://github.com/vector-im/riot-web/releases/tag/v1.5.2) (2019-11-04) -========================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.5.1...v1.5.2) - - * Fix close window behaviour on Macos - [\#11311](https://github.com/vector-im/riot-web/pull/11311) - -Changes in [1.5.1](https://github.com/vector-im/riot-web/releases/tag/v1.5.1) (2019-11-04) -========================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.5.1-rc.2...v1.5.1) - - * No changes since rc.2 - -Changes in [1.5.1-rc.2](https://github.com/vector-im/riot-web/releases/tag/v1.5.1-rc.2) (2019-11-01) -==================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.5.1-rc.1...v1.5.1-rc.2) - - * Updated react-sdk with fix for bug that caused room filtering to - omit results. - -Changes in [1.5.1-rc.1](https://github.com/vector-im/riot-web/releases/tag/v1.5.1-rc.1) (2019-10-30) -==================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.5.0...v1.5.1-rc.1) - - * Add ability to hide tray icon on non-Mac (which has no tray icon) - [\#11258](https://github.com/vector-im/riot-web/pull/11258) - * Fix bug preventing display from sleeping after a call - [\#11264](https://github.com/vector-im/riot-web/pull/11264) - * Remove mention of CI scripts from docs - [\#11257](https://github.com/vector-im/riot-web/pull/11257) - * Fix skinning replaces being broken since being rewritten as React FC's - [\#11254](https://github.com/vector-im/riot-web/pull/11254) - * Update config docs about identity servers - [\#11249](https://github.com/vector-im/riot-web/pull/11249) - * Remove unneeded help about identity servers - [\#11248](https://github.com/vector-im/riot-web/pull/11248) - * Update from Weblate - [\#11243](https://github.com/vector-im/riot-web/pull/11243) - * Update sample config for new matrix.org CS API URL - [\#11207](https://github.com/vector-im/riot-web/pull/11207) - * clarify where the e2e tests are located - [\#11115](https://github.com/vector-im/riot-web/pull/11115) - * Update from Weblate - [\#11171](https://github.com/vector-im/riot-web/pull/11171) - * Prevent referrers from being sent - [\#6155](https://github.com/vector-im/riot-web/pull/6155) - * Add darkModeSupport to allow dark themed title bar. - [\#11140](https://github.com/vector-im/riot-web/pull/11140) - * Fix the label of Turkish language - [\#11124](https://github.com/vector-im/riot-web/pull/11124) - * Update default HS config to match well-known - [\#11112](https://github.com/vector-im/riot-web/pull/11112) - -Changes in [1.5.0](https://github.com/vector-im/riot-web/releases/tag/v1.5.0) (2019-10-18) -========================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.5.0-rc.1...v1.5.0) - - * Upgrade to JS SDK v2.4.2 and React SDK v1.7.0 - * Port Windows signing and macOS notarization to release - [\#11158](https://github.com/vector-im/riot-web/pull/11158) - * Sign main Windows executable - [\#11126](https://github.com/vector-im/riot-web/pull/11126) - * Notarise the macOS app - [\#11119](https://github.com/vector-im/riot-web/pull/11119) - -Changes in [1.5.0-rc.1](https://github.com/vector-im/riot-web/releases/tag/v1.5.0-rc.1) (2019-10-09) -==================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.4.2...v1.5.0-rc.1) - - * Update from Weblate - [\#11104](https://github.com/vector-im/riot-web/pull/11104) - * Bump Olm to 3.1.4 for olm_session_describe - [\#11103](https://github.com/vector-im/riot-web/pull/11103) - * Enable Webpack production mode for start:js:prod - [\#11098](https://github.com/vector-im/riot-web/pull/11098) - * add settingDefaults to sample config - [\#9919](https://github.com/vector-im/riot-web/pull/9919) - * Add config.json copy instruction to 'Development' as well - [\#11062](https://github.com/vector-im/riot-web/pull/11062) - * Revert "Run yarn upgrade" - [\#11055](https://github.com/vector-im/riot-web/pull/11055) - * Run yarn upgrade - [\#11050](https://github.com/vector-im/riot-web/pull/11050) - * Request persistent storage on Electron - [\#11052](https://github.com/vector-im/riot-web/pull/11052) - * Remove docs for CIDER feature - [\#11047](https://github.com/vector-im/riot-web/pull/11047) - -Changes in [1.4.2](https://github.com/vector-im/riot-web/releases/tag/v1.4.2) (2019-10-04) -========================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.4.2-rc.1...v1.4.2) - - * Document troubleshooting for memory leaks and getting profiles - [\#11031](https://github.com/vector-im/riot-web/pull/11031) - -Changes in [1.4.2-rc.1](https://github.com/vector-im/riot-web/releases/tag/v1.4.2-rc.1) (2019-10-02) -==================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.4.1...v1.4.2-rc.1) - - * Custom themes MVP - [\#11017](https://github.com/vector-im/riot-web/pull/11017) - * Document permalinkPrefix setting - [\#11007](https://github.com/vector-im/riot-web/pull/11007) - -Changes in [1.4.1](https://github.com/vector-im/riot-web/releases/tag/v1.4.1) (2019-10-01) -========================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.4.0...v1.4.1) - - * Upgrade to React SDK 1.6.1 to fix critical - [blank screen issue](https://github.com/vector-im/riot-web/issues/10983) - * Upgrade to JS SDK 2.4.1 to to ignore crypto events with empty content - * Update from Weblate - [\#11010](https://github.com/vector-im/riot-web/pull/11010) - * Update from Weblate - [\#11001](https://github.com/vector-im/riot-web/pull/11001) - * Upgrade deps - [\#10980](https://github.com/vector-im/riot-web/pull/10980) - -Changes in [1.4.0](https://github.com/vector-im/riot-web/releases/tag/v1.4.0) (2019-09-27) -========================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.4.0-rc.2...v1.4.0) - -* Many improvements related to privacy and user control of identity services and integration managers -* Upgrade to React SDK 1.6.0 and JS SDK 2.4.0 - -Changes in [1.4.0-rc.2](https://github.com/vector-im/riot-web/releases/tag/v1.4.0-rc.2) (2019-09-26) -==================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.4.0-rc.1...v1.4.0-rc.2) - - * Upgrade to React SDK 1.6.0-rc.2 - * Work around Yarn confusion with `react-gemini-scrollbar` package - -Changes in [1.4.0-rc.1](https://github.com/vector-im/riot-web/releases/tag/v1.4.0-rc.1) (2019-09-25) -==================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.3.6...v1.4.0-rc.1) - - * Upgrade to React SDK 1.6.0-rc.1 and JS SDK 2.4.0-rc.1 - * Update from Weblate - [\#10961](https://github.com/vector-im/riot-web/pull/10961) - * Don't log query parameters as they may contain secrets - [\#10929](https://github.com/vector-im/riot-web/pull/10929) - * Document more shortcuts - [\#10906](https://github.com/vector-im/riot-web/pull/10906) - * Point to #develop and use the same gemini-scrollbar version as the react-sdk - [\#10893](https://github.com/vector-im/riot-web/pull/10893) - * Tweak lock file to pull in only one React version - [\#10874](https://github.com/vector-im/riot-web/pull/10874) - * document disable_custom_urls - [\#10844](https://github.com/vector-im/riot-web/pull/10844) - * Install guide tweaks - [\#10838](https://github.com/vector-im/riot-web/pull/10838) - * Switch to React 16 - [\#10480](https://github.com/vector-im/riot-web/pull/10480) - * Update install guide - [\#10810](https://github.com/vector-im/riot-web/pull/10810) - * Clarify that HTTPS is not just needed for VoIP - [\#6146](https://github.com/vector-im/riot-web/pull/6146) - * Bump eslint-utils from 1.4.0 to 1.4.2 - [\#10692](https://github.com/vector-im/riot-web/pull/10692) - * Add docs for tabbed integration managers labs flag - [\#10641](https://github.com/vector-im/riot-web/pull/10641) - * Change integrations_widgets_urls default configuration - [\#10656](https://github.com/vector-im/riot-web/pull/10656) - * Add docs for the CIDER composer flag - [\#10638](https://github.com/vector-im/riot-web/pull/10638) - * add cider composer labs flag - [\#10626](https://github.com/vector-im/riot-web/pull/10626) - * Upgrade to Electron 6.0.3 - [\#10601](https://github.com/vector-im/riot-web/pull/10601) - * Upgrade to Electron 6 - [\#10596](https://github.com/vector-im/riot-web/pull/10596) - * Update from Weblate - [\#10591](https://github.com/vector-im/riot-web/pull/10591) - * Upgrade electron-builder to 21.2.0 - [\#10579](https://github.com/vector-im/riot-web/pull/10579) - * Set SUID bit on chrome-sandbox for Debian - [\#10580](https://github.com/vector-im/riot-web/pull/10580) - * Load config.json before loading language so default can apply - [\#10551](https://github.com/vector-im/riot-web/pull/10551) - * Bump matrix-react-test-utils for React 16 compatibility - [\#10543](https://github.com/vector-im/riot-web/pull/10543) - * Add --help to electron app - [\#10530](https://github.com/vector-im/riot-web/pull/10530) - * Allow setting electron autoHideMenuBar and persist it - [\#10503](https://github.com/vector-im/riot-web/pull/10503) - * Upgrade dependencies - [\#10475](https://github.com/vector-im/riot-web/pull/10475) - -Changes in [1.3.6](https://github.com/vector-im/riot-web/releases/tag/v1.3.6) (2019-09-19) -========================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.3.5...v1.3.6) - - * Fix origin migrator for SSO logins - [\#10920](https://github.com/vector-im/riot-web/pull/10920) - -Changes in [1.3.5](https://github.com/vector-im/riot-web/releases/tag/v1.3.5) (2019-09-16) -========================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.3.5-rc.3...v1.3.5) - - * Updated js-sdk and react-sdk for some more minor bugfixes - -Changes in [1.3.5-rc.3](https://github.com/vector-im/riot-web/releases/tag/v1.3.5-rc.3) (2019-09-13) -==================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.3.5-rc.2...v1.3.5-rc.3) - - * js-sdk rc.1 to include report API - -Changes in [1.3.5-rc.2](https://github.com/vector-im/riot-web/releases/tag/v1.3.5-rc.2) (2019-09-13) -==================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.3.5-rc.1...v1.3.5-rc.2) - - * Pull in more fixes from react-sdk rc.2 - -Changes in [1.3.5-rc.1](https://github.com/vector-im/riot-web/releases/tag/v1.3.5-rc.1) (2019-09-12) -==================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.3.4...v1.3.5-rc.1) - - * Cosmetic fixes from react-sdk rc.1 - -Changes in [1.3.4](https://github.com/vector-im/riot-web/releases/tag/v1.3.4) (2019-09-12) -========================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.3.4-rc.1...v1.3.4) - - * Updated react-sdk and tweaks to mobile install guide - -Changes in [1.3.4-rc.1](https://github.com/vector-im/riot-web/releases/tag/v1.3.4-rc.1) (2019-09-11) -==================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.3.3...v1.3.4-rc.1) - - * Update install guide - [\#10831](https://github.com/vector-im/riot-web/pull/10831) - -Changes in [1.3.3](https://github.com/vector-im/riot-web/releases/tag/v1.3.3) (2019-08-16) -========================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.3.2...v1.3.3) - - * Linux-only release to fix sandboxing with Electron 5 on Debian - [\#10580](https://github.com/vector-im/riot-web/pull/10580) - -Changes in [1.3.2](https://github.com/vector-im/riot-web/releases/tag/v1.3.2) (2019-08-05) -========================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.3.1...v1.3.2) - - * Updated react-sdk for deactivated account error message on login - -Changes in [1.3.1](https://github.com/vector-im/riot-web/releases/tag/v1.3.1) (2019-08-05) -========================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.3.1-rc.1...v1.3.1) - - * Updated js-sdk for notifications fix and react-sdk for registration fix - -Changes in [1.3.1-rc.1](https://github.com/vector-im/riot-web/releases/tag/v1.3.1-rc.1) (2019-07-31) -==================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.3.0...v1.3.1-rc.1) - - * Upgrade to JS SDK 2.3.0-rc.1 and React SDK 1.5.0-rc.1 - * Update from Weblate - [\#10436](https://github.com/vector-im/riot-web/pull/10436) - * Describe our existing features better in documentation - [\#10418](https://github.com/vector-im/riot-web/pull/10418) - * Upgrade to Electron 5 - [\#10392](https://github.com/vector-im/riot-web/pull/10392) - * Remove edits and reactions feature flags from docs and config - [\#10363](https://github.com/vector-im/riot-web/pull/10363) - * Cachebust config file requests - [\#10349](https://github.com/vector-im/riot-web/pull/10349) - * Convert install-app-deps to subcommand - [\#10334](https://github.com/vector-im/riot-web/pull/10334) - * Add riot.im configuration files - [\#10327](https://github.com/vector-im/riot-web/pull/10327) - * Require descriptions in mxSendRageshake and remove infinite loop in issue - templates - [\#10321](https://github.com/vector-im/riot-web/pull/10321) - * Remove unused disable_identity_server config flag - [\#10322](https://github.com/vector-im/riot-web/pull/10322) - * Verify i18n in CI - [\#10320](https://github.com/vector-im/riot-web/pull/10320) - -Changes in [1.3.0](https://github.com/vector-im/riot-web/releases/tag/v1.3.0) (2019-07-18) -========================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.3.0-rc.3...v1.3.0) - - * Upgrade to React SDK 1.4.0 and JS SDK 2.2.0 - * Message editing and reactions features enabled - * Remove edits and reactions feature flags from docs and config - [\#10365](https://github.com/vector-im/riot-web/pull/10365) - -Changes in [1.3.0-rc.3](https://github.com/vector-im/riot-web/releases/tag/v1.3.0-rc.3) (2019-07-15) -==================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.3.0-rc.2...v1.3.0-rc.3) - - * Update to react-sdk rc.3 to fix a bug where a room admin could generate a room - that would cause Riot to error, and some stuck notifications. - -Changes in [1.3.0-rc.2](https://github.com/vector-im/riot-web/releases/tag/v1.3.0-rc.2) (2019-07-12) -==================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.3.0-rc.1...v1.3.0-rc.2) - - * Upgrade to React SDK 1.4.0-rc.2 and JS SDK 2.2.0-rc.2 - * Fix regression from Riot 1.3.0-rc.1 when listing devices in user settings - -Changes in [1.3.0-rc.1](https://github.com/vector-im/riot-web/releases/tag/v1.3.0-rc.1) (2019-07-12) -==================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.2.4...v1.3.0-rc.1) - - * Upgrade to React SDK 1.4.0-rc.1 and JS SDK 2.2.0-rc.1 - * Update from Weblate - [\#10328](https://github.com/vector-im/riot-web/pull/10328) - * Upgrade dependencies - [\#10308](https://github.com/vector-im/riot-web/pull/10308) - * Upgrade dependencies - [\#10260](https://github.com/vector-im/riot-web/pull/10260) - -Changes in [1.2.4](https://github.com/vector-im/riot-web/releases/tag/v1.2.4) (2019-07-11) -========================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.2.3...v1.2.4) - - * Upgrade to React SDK 1.3.1 and JS SDK 2.1.1 - * Upgrade lodash dependencies - * JS SDK 2.1.1 includes a fix for ephemeral event processing - * React SDK 1.3.1 includes a fix for account deactivation - -Changes in [1.2.3](https://github.com/vector-im/riot-web/releases/tag/v1.2.3) (2019-07-08) -========================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.2.3-rc.1...v1.2.3) - - * Upgrade to React SDK 1.3.0 and JS SDK 2.1.0 - * JS SDK 2.1.0 includes a fix for an exception whilst syncing - -Changes in [1.2.3-rc.1](https://github.com/vector-im/riot-web/releases/tag/v1.2.3-rc.1) (2019-07-03) -==================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.2.2...v1.2.3-rc.1) - - * Change update URL to match new host - [\#10247](https://github.com/vector-im/riot-web/pull/10247) - * Update from Weblate - [\#10219](https://github.com/vector-im/riot-web/pull/10219) - * Extract configuration docs to separate file - [\#10195](https://github.com/vector-im/riot-web/pull/10195) - * Add e2e/warning.svg to preload - [\#10197](https://github.com/vector-im/riot-web/pull/10197) - * Fix Electron vector: links - [\#10196](https://github.com/vector-im/riot-web/pull/10196) - * Display a red box of anger for config syntax errors - [\#10193](https://github.com/vector-im/riot-web/pull/10193) - * Move config-getting to VectorBasePlatform - [\#10181](https://github.com/vector-im/riot-web/pull/10181) - * Update from Weblate - [\#10124](https://github.com/vector-im/riot-web/pull/10124) - * Fix default Electron window and tray icons - [\#10097](https://github.com/vector-im/riot-web/pull/10097) - -Changes in [1.2.2](https://github.com/vector-im/riot-web/releases/tag/v1.2.2) (2019-06-19) -========================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.2.2-rc.2...v1.2.2) - - No changes since rc.2 - -Changes in [1.2.2-rc.2](https://github.com/vector-im/riot-web/releases/tag/v1.2.2-rc.2) (2019-06-18) -==================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.2.2-rc.1...v1.2.2-rc.2) - - * Update to react-sdk and js-sdk rc.2 for registration fixes, - redaction local echo fix and removing unnecessary calls - to the integration manager. - -Changes in [1.2.2-rc.1](https://github.com/vector-im/riot-web/releases/tag/v1.2.2-rc.1) (2019-06-12) -==================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.2.1...v1.2.2-rc.1) - - * Update from Weblate - [\#10012](https://github.com/vector-im/riot-web/pull/10012) - * Add funding details for GitHub sponsor button - [\#9982](https://github.com/vector-im/riot-web/pull/9982) - * Do not fail on server liveliness checks during startup - [\#9960](https://github.com/vector-im/riot-web/pull/9960) - * Hide guest functions on the welcome page if not logged in - [\#9957](https://github.com/vector-im/riot-web/pull/9957) - * Add Albanian and West Flemish languages - [\#9953](https://github.com/vector-im/riot-web/pull/9953) - * Update from Weblate - [\#9951](https://github.com/vector-im/riot-web/pull/9951) - * Add docs for defaultCountryCode - [\#9927](https://github.com/vector-im/riot-web/pull/9927) - * Use the user's pre-existing HS when config validation fails - [\#9892](https://github.com/vector-im/riot-web/pull/9892) - * Low bandwidth mode - [\#9909](https://github.com/vector-im/riot-web/pull/9909) - * Fix Twemoji loading on Windows dev machines - [\#9869](https://github.com/vector-im/riot-web/pull/9869) - * Base Docker image on nginx:alpine, not the larger nginx:latest - [\#9848](https://github.com/vector-im/riot-web/pull/9848) - * Validate homeserver configuration prior to loading the app - [\#9779](https://github.com/vector-im/riot-web/pull/9779) - * Show resolved homeserver configuration on the mobile guide - [\#9726](https://github.com/vector-im/riot-web/pull/9726) - * Flag the validated config as the default config - [\#9721](https://github.com/vector-im/riot-web/pull/9721) - * Clarify comment on is_url and hs_url handling - [\#9719](https://github.com/vector-im/riot-web/pull/9719) - * Validate default homeserver config before loading the app - [\#9496](https://github.com/vector-im/riot-web/pull/9496) - -Changes in [1.2.1](https://github.com/vector-im/riot-web/releases/tag/v1.2.1) (2019-05-31) -========================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.2.0...v1.2.1) - - * Upgrade JS SDK to 2.0.0 and React SDK to 1.2.1 to fix key backup and native emoji height - -Changes in [1.2.0](https://github.com/vector-im/riot-web/releases/tag/v1.2.0) (2019-05-29) -========================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.2.0-rc.1...v1.2.0) - - * Upgrade to JS SDK v1.2.0 and React SDK v1.2.0 to fix some regressions - -Changes in [1.2.0-rc.1](https://github.com/vector-im/riot-web/releases/tag/v1.2.0-rc.1) (2019-05-23) -==================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.1.2...v1.2.0-rc.1) - - * Update from Weblate - [\#9802](https://github.com/vector-im/riot-web/pull/9802) - * remove emojione - [\#9766](https://github.com/vector-im/riot-web/pull/9766) - * Make Dockerfile work for develop and other branches - [\#9736](https://github.com/vector-im/riot-web/pull/9736) - * add description of new labs feature for message editing - [\#9728](https://github.com/vector-im/riot-web/pull/9728) - * Remove karma junit output - [\#9628](https://github.com/vector-im/riot-web/pull/9628) - * yarn upgrade - [\#9626](https://github.com/vector-im/riot-web/pull/9626) - * Respond quickly to buildkite pokes - [\#9617](https://github.com/vector-im/riot-web/pull/9617) - * Delay creating the `Favico` instance - [\#9616](https://github.com/vector-im/riot-web/pull/9616) - * Add reactions feature to config sample - [\#9598](https://github.com/vector-im/riot-web/pull/9598) - -Changes in [1.1.2](https://github.com/vector-im/riot-web/releases/tag/v1.1.2) (2019-05-15) -========================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.1.1...v1.1.2) - - * react-sdk v1.1.2 to fix single sign-on and GIF autoplaying - -Changes in [1.1.1](https://github.com/vector-im/riot-web/releases/tag/v1.1.1) (2019-05-14) -========================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.1.0...v1.1.1) - - * react-sdk v1.1.1 to fix regressions with registration - -Changes in [1.1.0](https://github.com/vector-im/riot-web/releases/tag/v1.1.0) (2019-05-07) -========================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.1.0-rc.1...v1.1.0) - - * Add Dockerfile - [\#9632](https://github.com/vector-im/riot-web/pull/9632) - * Add Dockerfile (part 2) - [\#9426](https://github.com/vector-im/riot-web/pull/9426) - * Add new scalar staging url - [\#9601](https://github.com/vector-im/riot-web/pull/9601) - -Changes in [1.1.0-rc.1](https://github.com/vector-im/riot-web/releases/tag/v1.1.0-rc.1) (2019-04-30) -==================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.0.8...v1.1.0-rc.1) - - * Convert redeploy.py to buildkite - [\#9577](https://github.com/vector-im/riot-web/pull/9577) - * Add package step to buildkite pipeline - [\#9568](https://github.com/vector-im/riot-web/pull/9568) - * Don't fail if there's no local config to remove - [\#9571](https://github.com/vector-im/riot-web/pull/9571) - * Change jenkins script to package script - [\#9567](https://github.com/vector-im/riot-web/pull/9567) - * Remove config.json from package dir - [\#9555](https://github.com/vector-im/riot-web/pull/9555) - * use the release version of olm 3.1.0 - [\#9550](https://github.com/vector-im/riot-web/pull/9550) - * Fix default for --include arg - [\#9517](https://github.com/vector-im/riot-web/pull/9517) - * update installation instructions with new repo - [\#9500](https://github.com/vector-im/riot-web/pull/9500) - * Use packages.matrix.org for Olm - [\#9498](https://github.com/vector-im/riot-web/pull/9498) - * Add separate platform electron build commands - [\#9412](https://github.com/vector-im/riot-web/pull/9412) - * Add support for custom profile directory - [\#9408](https://github.com/vector-im/riot-web/pull/9408) - * Improved mobile install guide - [\#9410](https://github.com/vector-im/riot-web/pull/9410) - * Remove vector-electron-desktop from README - [\#9404](https://github.com/vector-im/riot-web/pull/9404) - * Update from Weblate - [\#9398](https://github.com/vector-im/riot-web/pull/9398) - * bump olm version to 3.1.0-pre3 - [\#9392](https://github.com/vector-im/riot-web/pull/9392) - * Add expiration to mobile guide cookie - [\#9383](https://github.com/vector-im/riot-web/pull/9383) - * Fix autolaunch setting appearing toggled off - [\#9368](https://github.com/vector-im/riot-web/pull/9368) - * Don't try to save files the user didn't want to save - [\#9352](https://github.com/vector-im/riot-web/pull/9352) - * Setup crypto store for restore session tests - [\#9325](https://github.com/vector-im/riot-web/pull/9325) - * Update from Weblate - [\#9333](https://github.com/vector-im/riot-web/pull/9333) - * Add "Save image as..." button to context menu on images - [\#9326](https://github.com/vector-im/riot-web/pull/9326) - * Configure auth footer links through Riot config - [\#9297](https://github.com/vector-im/riot-web/pull/9297) - -Changes in [1.0.8](https://github.com/vector-im/riot-web/releases/tag/v1.0.8) (2019-04-16) -========================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.0.7...v1.0.8) - - * No changes in this release. This is the same code as v1.0.7 from our new clean-room - packaging and signing infrastructure. - -Changes in [1.0.7](https://github.com/vector-im/riot-web/releases/tag/v1.0.7) (2019-04-08) -========================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.0.6...v1.0.7) - - * Hotfix: bump js-sdk to 1.0.4, see https://github.com/matrix-org/matrix-js-sdk/releases/tag/v1.0.4 - -Changes in [1.0.6](https://github.com/vector-im/riot-web/releases/tag/v1.0.6) (2019-04-01) -========================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.0.6-rc.1...v1.0.6) - - * Add "Save image as..." button to context menu on images - [\#9327](https://github.com/vector-im/riot-web/pull/9327) - -Changes in [1.0.6-rc.1](https://github.com/vector-im/riot-web/releases/tag/v1.0.6-rc.1) (2019-03-27) -==================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.0.5...v1.0.6-rc.1) - - * Use `on_logged_in` action in tests - [\#9279](https://github.com/vector-im/riot-web/pull/9279) - * Convert away from `Promise.defer` - [\#9278](https://github.com/vector-im/riot-web/pull/9278) - * update react-sdk version in yarn lockfile - [\#9233](https://github.com/vector-im/riot-web/pull/9233) - * "Render simple counters in room header" details - [\#9154](https://github.com/vector-im/riot-web/pull/9154) - * Use medium agents for the more resource intensive builds - [\#9238](https://github.com/vector-im/riot-web/pull/9238) - * Add log grouping to buildkite - [\#9223](https://github.com/vector-im/riot-web/pull/9223) - * Switch to `git` protocol for CI dependencies - [\#9222](https://github.com/vector-im/riot-web/pull/9222) - * Support CI for matching branches on forks - [\#9212](https://github.com/vector-im/riot-web/pull/9212) - * Update from Weblate - [\#9199](https://github.com/vector-im/riot-web/pull/9199) - * Declare the officially supported browsers in the README - [\#9177](https://github.com/vector-im/riot-web/pull/9177) - * Document some desktop app things - [\#9011](https://github.com/vector-im/riot-web/pull/9011) - * Use Buildkite for CI - [\#9165](https://github.com/vector-im/riot-web/pull/9165) - * Update version number in issue templates - [\#9170](https://github.com/vector-im/riot-web/pull/9170) - * Remove node 8.x from the build matrix - [\#9159](https://github.com/vector-im/riot-web/pull/9159) - * Update Electron help menu link - [\#9157](https://github.com/vector-im/riot-web/pull/9157) - -Changes in [1.0.5](https://github.com/vector-im/riot-web/releases/tag/v1.0.5) (2019-03-21) -========================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.0.4...v1.0.5) - - * Hotfix for [\#9205](https://github.com/vector-im/riot-web/issues/9205) disabling jump prevention for typing notifications, while we're reworking this functionally to enable it again soon. - -Changes in [1.0.4](https://github.com/vector-im/riot-web/releases/tag/v1.0.4) (2019-03-18) -========================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.0.4-rc.1...v1.0.4) - - * No changes since rc.1 - -Changes in [1.0.4-rc.1](https://github.com/vector-im/riot-web/releases/tag/v1.0.4-rc.1) (2019-03-13) -==================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.0.3...v1.0.4-rc.1) - - * Update from Weblate - [\#9152](https://github.com/vector-im/riot-web/pull/9152) - * Use modern Yarn version on Travis CI - [\#9151](https://github.com/vector-im/riot-web/pull/9151) - * Switch to `yarn` for dependency management - [\#9132](https://github.com/vector-im/riot-web/pull/9132) - * Update from Weblate - [\#9104](https://github.com/vector-im/riot-web/pull/9104) - * Don't copy the 32 bit linux deb - [\#9075](https://github.com/vector-im/riot-web/pull/9075) - * Change olm dependency to normal dep - [\#9068](https://github.com/vector-im/riot-web/pull/9068) - * Add modular.im hosting link to electron app config - [\#9047](https://github.com/vector-im/riot-web/pull/9047) - * Nudge karma to 3.1.2 - [\#8991](https://github.com/vector-im/riot-web/pull/8991) - * Add support for localConfig at $appData/config.json. - [\#8983](https://github.com/vector-im/riot-web/pull/8983) - -Changes in [1.0.3](https://github.com/vector-im/riot-web/releases/tag/v1.0.3) (2019-03-06) -========================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.0.2...v1.0.3) - - * react-sdk 1.0.3 to fix ctrl+k shortcut and room list bugs - -Changes in [1.0.2](https://github.com/vector-im/riot-web/releases/tag/v1.0.2) (2019-03-06) -========================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.0.2-rc.3...v1.0.2) - - * New react-sdk for minor hosting link fixes - -Changes in [1.0.2-rc.3](https://github.com/vector-im/riot-web/releases/tag/v1.0.2-rc.3) (2019-03-05) -==================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.0.2-rc.2...v1.0.2-rc.3) - - * Add modular.im hosting link to electron app config - [\#9051](https://github.com/vector-im/riot-web/pull/9051) - -Changes in [1.0.2-rc.2](https://github.com/vector-im/riot-web/releases/tag/v1.0.2-rc.2) (2019-03-01) -==================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.0.2-rc.1...v1.0.2-rc.2) - - * Update to react-sdk rc.3 - -Changes in [1.0.2-rc.1](https://github.com/vector-im/riot-web/releases/tag/v1.0.2-rc.1) (2019-03-01) -==================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.0.1...v1.0.2-rc.1) - - * Set a require alias for the webapp directory - [\#9014](https://github.com/vector-im/riot-web/pull/9014) - * Update from Weblate. - [\#8973](https://github.com/vector-im/riot-web/pull/8973) - * set chrome path for travis CI explicitly - [\#8987](https://github.com/vector-im/riot-web/pull/8987) - * Updated install spinner - [\#8984](https://github.com/vector-im/riot-web/pull/8984) - * Allow disabling update mechanism - [\#8911](https://github.com/vector-im/riot-web/pull/8911) - * Allow configuration of whether closing window closes or minimizes to tray - [\#8908](https://github.com/vector-im/riot-web/pull/8908) - * Fix language file path for Jenkins - [\#8854](https://github.com/vector-im/riot-web/pull/8854) - * Document and recommend `default_server_name` - [\#8832](https://github.com/vector-im/riot-web/pull/8832) - * Cache busting for icons & language files - [\#8710](https://github.com/vector-im/riot-web/pull/8710) - * Remove redesign issue template - [\#8722](https://github.com/vector-im/riot-web/pull/8722) - * Make scripts/make-icons.sh work on linux - [\#8550](https://github.com/vector-im/riot-web/pull/8550) - -Changes in [1.0.1](https://github.com/vector-im/riot-web/releases/tag/v1.0.1) (2019-02-15) -========================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.0.0...v1.0.1) - - -Changes in [1.0.0](https://github.com/vector-im/riot-web/releases/tag/v1.0.0) (2019-02-14) -========================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.0.0-rc.2...v1.0.0) - - * Add snipping lines to welcome page without guests - [\#8634](https://github.com/vector-im/riot-web/pull/8634) - * Add home page to fix loading tests - [\#8625](https://github.com/vector-im/riot-web/pull/8625) - -Changes in [1.0.0-rc.2](https://github.com/vector-im/riot-web/releases/tag/v1.0.0-rc.2) (2019-02-14) -==================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.0.0-rc.1...v1.0.0-rc.2) - - * Update from Weblate. - [\#8615](https://github.com/vector-im/riot-web/pull/8615) - * Replace favicon assets to ones with transparent backgrounds - [\#8600](https://github.com/vector-im/riot-web/pull/8600) - * Refreshed icons - [\#8594](https://github.com/vector-im/riot-web/pull/8594) - * Fix order of fetch-develop-deps / npm install - [\#8566](https://github.com/vector-im/riot-web/pull/8566) - * Revive building dark theme - [\#8540](https://github.com/vector-im/riot-web/pull/8540) - * Update from Weblate. - [\#8546](https://github.com/vector-im/riot-web/pull/8546) - * Repair app loading tests after welcome page - [\#8525](https://github.com/vector-im/riot-web/pull/8525) - * Support configurable welcome background and logo - [\#8528](https://github.com/vector-im/riot-web/pull/8528) - * Update from Weblate. - [\#8518](https://github.com/vector-im/riot-web/pull/8518) - * Document `embeddedPages` configuration - [\#8514](https://github.com/vector-im/riot-web/pull/8514) - * README.md : Syntax Coloring - [\#8502](https://github.com/vector-im/riot-web/pull/8502) - -Changes in [1.0.0-rc.1](https://github.com/vector-im/riot-web/releases/tag/v1.0.0-rc.1) (2019-02-08) -==================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.17.9...v1.0.0-rc.1) - - * Update from Weblate. - [\#8475](https://github.com/vector-im/riot-web/pull/8475) - * Add configurable welcome page - [\#8466](https://github.com/vector-im/riot-web/pull/8466) - * fix app tests after force enabling lazy loading + removing feature flag - [\#8464](https://github.com/vector-im/riot-web/pull/8464) - * Allow Electron to zoom with CommandOrControl+= - [\#8381](https://github.com/vector-im/riot-web/pull/8381) - * Hide sign in / create account for logged in users - [\#8368](https://github.com/vector-im/riot-web/pull/8368) - * Fix home page link target - [\#8365](https://github.com/vector-im/riot-web/pull/8365) - * Add auth background image and update Riot logo - [\#8364](https://github.com/vector-im/riot-web/pull/8364) - * New homepage - [\#8363](https://github.com/vector-im/riot-web/pull/8363) - * Spell homeserver correctly - [\#8358](https://github.com/vector-im/riot-web/pull/8358) - * Merge redesign into develop - [\#8321](https://github.com/vector-im/riot-web/pull/8321) - * Disable room directory test because it doesn't work - [\#8318](https://github.com/vector-im/riot-web/pull/8318) - * Tweak auth overflow on Windows and Linux - [\#8307](https://github.com/vector-im/riot-web/pull/8307) - * Clean up Custom Server Help dialog - [\#8296](https://github.com/vector-im/riot-web/pull/8296) - * Cache-bust olm.wasm - [\#8283](https://github.com/vector-im/riot-web/pull/8283) - * Completely disable other themes for now (#8277) - [\#8280](https://github.com/vector-im/riot-web/pull/8280) - * Remove support for team servers - [\#8271](https://github.com/vector-im/riot-web/pull/8271) - * Add target="_blank" to footer links - [\#8248](https://github.com/vector-im/riot-web/pull/8248) - * Fix device names on desktop - [\#8241](https://github.com/vector-im/riot-web/pull/8241) - * Fix literal </> in notifications - [\#8238](https://github.com/vector-im/riot-web/pull/8238) - * Fix registration nextLink on desktop - [\#8239](https://github.com/vector-im/riot-web/pull/8239) - * Add returns to fetch-develop-deps - [\#8233](https://github.com/vector-im/riot-web/pull/8233) - * Update electron builder - [\#8231](https://github.com/vector-im/riot-web/pull/8231) - * Try fetching more branches for PRs - [\#8225](https://github.com/vector-im/riot-web/pull/8225) - * Use content hashing for font and image URLs - [\#8159](https://github.com/vector-im/riot-web/pull/8159) - * Develop->Experimental - [\#8156](https://github.com/vector-im/riot-web/pull/8156) - * Update from Weblate. - [\#8150](https://github.com/vector-im/riot-web/pull/8150) - * Correct the copying of e-mail addresses in the electron app - [\#8124](https://github.com/vector-im/riot-web/pull/8124) - * Start documenting keyboard shortcuts - [\#7165](https://github.com/vector-im/riot-web/pull/7165) - * Update issue templates - [\#7948](https://github.com/vector-im/riot-web/pull/7948) - * Added new colour var to all themes - [\#7927](https://github.com/vector-im/riot-web/pull/7927) - * Redesign: apply changes from dharma theme to status theme - [\#7541](https://github.com/vector-im/riot-web/pull/7541) - * Redesign: ignore setting and always show dharma theme for now - [\#7540](https://github.com/vector-im/riot-web/pull/7540) - -Changes in [0.17.9](https://github.com/vector-im/riot-web/releases/tag/v0.17.9) (2019-01-22) -============================================================================================ -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.17.9-rc.1...v0.17.9) - - * Bugfix in react-sdk for setting DM rooms - -Changes in [0.17.9-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.17.9-rc.1) (2019-01-17) -====================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.17.8...v0.17.9-rc.1) - - * Merge develop into experimental - [\#8003](https://github.com/vector-im/riot-web/pull/8003) - * Electron: Load app from custom protocol - [\#7943](https://github.com/vector-im/riot-web/pull/7943) - * Fix the IndexedDB worker - [\#7920](https://github.com/vector-im/riot-web/pull/7920) - * Make clear that the Debian package is for desktop - [\#7919](https://github.com/vector-im/riot-web/pull/7919) - * Run the Desktop app in a sandbox - [\#7907](https://github.com/vector-im/riot-web/pull/7907) - * Update to new electron single instance API - [\#7908](https://github.com/vector-im/riot-web/pull/7908) - * Update the tests to match https://github.com/matrix-org/matrix-react- - sdk/pull/2340 - [\#7834](https://github.com/vector-im/riot-web/pull/7834) - -Changes in [0.17.8](https://github.com/vector-im/riot-web/releases/tag/v0.17.8) (2018-12-10) -============================================================================================ -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.17.8-rc.1...v0.17.8) - - * No changes since rc.1 - -Changes in [0.17.8-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.17.8-rc.1) (2018-12-06) -====================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.17.7...v0.17.8-rc.1) - - * Update from Weblate. - [\#7784](https://github.com/vector-im/riot-web/pull/7784) - * Add a function to send a rageshake from the console - [\#7755](https://github.com/vector-im/riot-web/pull/7755) - * Re-apply "Run lint on travis builds and use modern node versions" - [\#7738](https://github.com/vector-im/riot-web/pull/7738) - * Revert "Run lint on travis builds and use modern node versions" - [\#7737](https://github.com/vector-im/riot-web/pull/7737) - * Run lint on travis builds and use modern node versions - [\#7490](https://github.com/vector-im/riot-web/pull/7490) - * Fix missing js-sdk logging - [\#7736](https://github.com/vector-im/riot-web/pull/7736) - * Add $accent-color-50pct as a CSS variable to the Status theme - [\#7710](https://github.com/vector-im/riot-web/pull/7710) - -Changes in [0.17.7](https://github.com/vector-im/riot-web/releases/tag/v0.17.7) (2018-11-22) -============================================================================================ -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.17.6...v0.17.7) - - * Warning when crypto DB is too new to use. - * Fix missing entries from js-sdk in rageshake logs - -Changes in [0.17.6](https://github.com/vector-im/riot-web/releases/tag/v0.17.6) (2018-11-19) -============================================================================================ -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.17.6-rc.2...v0.17.6) - - * No changes since rc.2 - -Changes in [0.17.6-rc.2](https://github.com/vector-im/riot-web/releases/tag/v0.17.6-rc.2) (2018-11-15) -====================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.17.6-rc.1...v0.17.6-rc.2) - - * Update to js-sdk 0.14 and react-sdk rc.2. rc.1 was broken as it was built against - js-sdk 0.13 which does not use the new Olm 3.0 API. - -Changes in [0.17.6-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.17.6-rc.1) (2018-11-15) -====================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.17.5...v0.17.6-rc.1) - - * Update from Weblate. - [\#7708](https://github.com/vector-im/riot-web/pull/7708) - * Add Japanese (#7599) - [\#7673](https://github.com/vector-im/riot-web/pull/7673) - * Allow Webpack dev server to listen to all interfaces - [\#7674](https://github.com/vector-im/riot-web/pull/7674) - * Remove the request-only stuff we don't need anymore - [\#7637](https://github.com/vector-im/riot-web/pull/7637) - * Correct the author of the electron app - [\#7615](https://github.com/vector-im/riot-web/pull/7615) - * Mock fs, tls, and net to support request in the browser - [\#7552](https://github.com/vector-im/riot-web/pull/7552) - * Update chokidar to transitively get newer fsevents - [\#7598](https://github.com/vector-im/riot-web/pull/7598) - * Support WebAssembly version of Olm - [\#7385](https://github.com/vector-im/riot-web/pull/7385) - -Changes in [0.17.5](https://github.com/vector-im/riot-web/releases/tag/v0.17.5) (2018-11-13) -============================================================================================ -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.17.4...v0.17.5) - - * Include change that was supposed to be included in orevious version - -Changes in [0.17.4](https://github.com/vector-im/riot-web/releases/tag/v0.17.4) (2018-11-13) -============================================================================================ -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.17.3...v0.17.4) - - * Add banner with login/register links for users who aren't logged in - -Changes in [0.17.3](https://github.com/vector-im/riot-web/releases/tag/v0.17.3) (2018-10-29) -============================================================================================ -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.17.3-rc.1...v0.17.3) - - * Fix for autocompleting text emoji from react-sdk v0.14.2 - -Changes in [0.17.3-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.17.3-rc.1) (2018-10-24) -====================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.17.2...v0.17.3-rc.1) - - * Update from Weblate. - [\#7549](https://github.com/vector-im/riot-web/pull/7549) - * Don't set tags on notifications - [\#7518](https://github.com/vector-im/riot-web/pull/7518) - * Update to latest electron builder - [\#7498](https://github.com/vector-im/riot-web/pull/7498) - * Fix Tinter.setTheme to not fire using Firefox - [\#6831](https://github.com/vector-im/riot-web/pull/6831) - -Changes in [0.17.2](https://github.com/vector-im/riot-web/releases/tag/v0.17.2) (2018-10-19) -============================================================================================ -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.17.1...v0.17.2) - - * Update react-sdk version to "Apply the user's tint once the MatrixClientPeg is moderately ready" - * Electron: don't set tags on notifications - [\#7518](https://github.com/vector-im/riot-web/pull/7518) - -Changes in [0.17.1](https://github.com/vector-im/riot-web/releases/tag/v0.17.1) (2018-10-18) -============================================================================================ -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.17.0...v0.17.1) - - * Stop electron crashing - [\#7517](https://github.com/vector-im/riot-web/pull/7517) - -Changes in [0.17.0](https://github.com/vector-im/riot-web/releases/tag/v0.17.0) (2018-10-16) -============================================================================================ -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.17.0-rc.1...v0.17.0) - - * Phased rollout of lazyloading - [\#7503](https://github.com/vector-im/riot-web/pull/7503) - * Update to latest electron builder - [\#7501](https://github.com/vector-im/riot-web/pull/7501) - -Changes in [0.17.0-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.17.0-rc.1) (2018-10-11) -====================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.16.5...v0.17.0-rc.1) - - * Revert "also commit the lock file when bumping version as it is now - committed to the repo" - [\#7483](https://github.com/vector-im/riot-web/pull/7483) - * Update from Weblate. - [\#7478](https://github.com/vector-im/riot-web/pull/7478) - * Fix riot-web Promise.defer warnings (#7409) - [\#7444](https://github.com/vector-im/riot-web/pull/7444) - * Use HTTPS cloning for riot-web too - [\#7459](https://github.com/vector-im/riot-web/pull/7459) - * Disable webpack-dev-server auto reload - [\#7463](https://github.com/vector-im/riot-web/pull/7463) - * Silence bluebird warnings - [\#7462](https://github.com/vector-im/riot-web/pull/7462) - * Fix reskindex on matrix-react-side not being called if using build script - [\#7443](https://github.com/vector-im/riot-web/pull/7443) - * Fix double-closed tags - [\#7454](https://github.com/vector-im/riot-web/pull/7454) - * Document how to turn off Piwik and bug reports (#6738) - [\#7435](https://github.com/vector-im/riot-web/pull/7435) - * also commit the lock file when bumping version as it is now committed to the - repo - [\#7429](https://github.com/vector-im/riot-web/pull/7429) - * Update a bunch of deps - [\#7393](https://github.com/vector-im/riot-web/pull/7393) - * Don't show mobile guide if deep linking - [\#7415](https://github.com/vector-im/riot-web/pull/7415) - * Don't show custom server bit on matrix.org - [\#7408](https://github.com/vector-im/riot-web/pull/7408) - * Update Webpack to version 4 - [\#6620](https://github.com/vector-im/riot-web/pull/6620) - * Webpack4 - [\#7387](https://github.com/vector-im/riot-web/pull/7387) - -Changes in [0.16.6](https://github.com/vector-im/riot-web/releases/tag/v0.16.6) (2018-10-08) -============================================================================================ -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.16.5...v0.16.6) - - * Update to matrix-react-sdk v0.13.6 - -Changes in [0.16.5](https://github.com/vector-im/riot-web/releases/tag/v0.16.5) (2018-10-01) -============================================================================================ -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.16.5-rc.1...v0.16.5) - - * Don't show mobile guide if deep linking - [\#7415](https://github.com/vector-im/riot-web/pull/7415) - * Don't show custom server bit on matrix.org - [\#7408](https://github.com/vector-im/riot-web/pull/7408) - -Changes in [0.16.5-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.16.5-rc.1) (2018-09-27) -====================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.16.4...v0.16.5-rc.1) - - * Update from Weblate. - [\#7395](https://github.com/vector-im/riot-web/pull/7395) - * Reduce the number of terminals required to build riot-web to 1 - [\#7355](https://github.com/vector-im/riot-web/pull/7355) - * Small typo in release notes v0.16.3 - [\#7274](https://github.com/vector-im/riot-web/pull/7274) - -Changes in [0.16.4](https://github.com/vector-im/riot-web/releases/tag/v0.16.4) (2018-09-10) -============================================================================================ -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.16.4-rc.1...v0.16.4) - - * No changes since rc.1 - -Changes in [0.16.4-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.16.4-rc.1) (2018-09-07) -====================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.16.3...v0.16.4-rc.1) - - * Update from Weblate. - [\#7296](https://github.com/vector-im/riot-web/pull/7296) - * Fix config not loading & mobileguide script being loaded in riot - [\#7288](https://github.com/vector-im/riot-web/pull/7288) - * Instructions for installing mobile apps - [\#7272](https://github.com/vector-im/riot-web/pull/7272) - * Tidy up index.js - [\#7265](https://github.com/vector-im/riot-web/pull/7265) - -Changes in [0.16.3](https://github.com/vector-im/riot-web/releases/tag/v0.16.3) (2018-09-03) -============================================================================================ -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.16.3-rc.2...v0.16.3) - - * SECURITY FIX: This version (and release candidates) pull in an upstream security - fix from electron to fix CVE-2018-15685. Electron users should update as soon as - possible. Riot-web run outside of Electron is unaffected. - -Changes in [0.16.3-rc.2](https://github.com/vector-im/riot-web/releases/tag/v0.16.3-rc.2) (2018-08-31) -====================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.16.3-rc.1...v0.16.3-rc.2) - - * Update js-sdk to fix an exception causing the room list to become unresponsive. - -Changes in [0.16.3-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.16.3-rc.1) (2018-08-30) -====================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.16.2...v0.16.3-rc.1) - - * Update from Weblate. - [\#7245](https://github.com/vector-im/riot-web/pull/7245) - * Revert "Remove package-lock.json for now" - [\#7128](https://github.com/vector-im/riot-web/pull/7128) - * Remove package-lock.json for now - [\#7115](https://github.com/vector-im/riot-web/pull/7115) - -Changes in [0.16.2](https://github.com/vector-im/riot-web/releases/tag/v0.16.2) (2018-08-23) -============================================================================================ -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.16.1...v0.16.2) - - * Support new server notices format - -Changes in [0.16.1](https://github.com/vector-im/riot-web/releases/tag/v0.16.1) (2018-08-20) -============================================================================================ -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.16.1-rc.1...v0.16.1) - - * No changes since rc.1 - -Changes in [0.16.1-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.16.1-rc.1) (2018-08-16) -====================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.16.0...v0.16.1-rc.1) - - * Update from Weblate. - [\#7178](https://github.com/vector-im/riot-web/pull/7178) - * CSS for MAU warning bar - [\#7152](https://github.com/vector-im/riot-web/pull/7152) - * CSS for user limit error - [\#7139](https://github.com/vector-im/riot-web/pull/7139) - * Unpin sanitize-html - [\#7132](https://github.com/vector-im/riot-web/pull/7132) - * Pin sanitize-html to 0.18.2 - [\#7129](https://github.com/vector-im/riot-web/pull/7129) - -Changes in [0.16.0](https://github.com/vector-im/riot-web/releases/tag/v0.16.0) (2018-07-30) -============================================================================================ -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.16.0-rc.2...v0.16.0) - -* Update react-sdk version for bugfixes with Jitsi widgets and the new composer - -Changes in [0.16.0-rc.2](https://github.com/vector-im/riot-web/releases/tag/v0.16.0-rc.2) (2018-07-24) -====================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.16.0-rc.1...v0.16.0-rc.2) - - * Update to react-sdk rc.2 to remove Jitsi conference calling from labs - -Changes in [0.16.0-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.16.0-rc.1) (2018-07-24) -====================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.15.7...v0.16.0-rc.1) - - * Update from Weblate. - [\#7082](https://github.com/vector-im/riot-web/pull/7082) - * Sample config for jitsi integration URL - [\#7055](https://github.com/vector-im/riot-web/pull/7055) - -Changes in [0.15.7](https://github.com/vector-im/riot-web/releases/tag/v0.15.7) (2018-07-09) -============================================================================================ -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.15.7-rc.2...v0.15.7) - - * No changes since rc.2 - -Changes in [0.15.7-rc.2](https://github.com/vector-im/riot-web/releases/tag/v0.15.7-rc.2) (2018-07-06) -====================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.15.7-rc.1...v0.15.7-rc.2) - - * Update react-sdk and js-sdk - -Changes in [0.15.7-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.15.7-rc.1) (2018-07-04) -====================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.15.6...v0.15.7-rc.1) - - * add override for colour of room tile text within memberinfo (unreadable) - [\#6889](https://github.com/vector-im/riot-web/pull/6889) - -Changes in [0.15.6](https://github.com/vector-im/riot-web/releases/tag/v0.15.6) (2018-06-29) -============================================================================================ -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.15.6-rc.2...v0.15.6) - - * Pull in bug fixes from react-sdk - -Changes in [0.15.6-rc.2](https://github.com/vector-im/riot-web/releases/tag/v0.15.6-rc.2) (2018-06-22) -====================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.15.6-rc.1...v0.15.6-rc.2) - - * Update to react-sdk rc.2 for fix to slash commands - -Changes in [0.15.6-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.15.6-rc.1) (2018-06-21) -====================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.15.5...v0.15.6-rc.1) - - * Update from Weblate. - [\#6915](https://github.com/vector-im/riot-web/pull/6915) - * [electron] Fix desktop app --hidden flag - [\#6805](https://github.com/vector-im/riot-web/pull/6805) - -Changes in [0.15.5](https://github.com/vector-im/riot-web/releases/tag/v0.15.5) (2018-06-12) -============================================================================================ -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.15.5-rc.1...v0.15.5) - - * No changes since rc.1 - -Changes in [0.15.5-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.15.5-rc.1) (2018-06-06) -====================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.15.4...v0.15.5-rc.1) - - * Update from Weblate. - [\#6846](https://github.com/vector-im/riot-web/pull/6846) - -Changes in [0.15.4](https://github.com/vector-im/riot-web/releases/tag/v0.15.4) (2018-05-25) -============================================================================================ -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.15.4-rc.1...v0.15.4) - - * Add cookie policy link to desktop app config - -Changes in [0.15.4-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.15.4-rc.1) (2018-05-24) -====================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.15.3...v0.15.4-rc.1) - - * Update from Weblate. - [\#6792](https://github.com/vector-im/riot-web/pull/6792) - * Hide URL options for e2e blob: URL images - [\#6765](https://github.com/vector-im/riot-web/pull/6765) - * Fix right click menu in electron - [\#6763](https://github.com/vector-im/riot-web/pull/6763) - * Update to electron 2.0.1 - [\#6764](https://github.com/vector-im/riot-web/pull/6764) - * Add instructions for changing translated strings - [\#6528](https://github.com/vector-im/riot-web/pull/6528) - -Changes in [0.15.3](https://github.com/vector-im/riot-web/releases/tag/v0.15.3) (2018-05-18) -============================================================================================ -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.15.2...v0.15.3) - - * Fix right click menu in electron - [\#6763](https://github.com/vector-im/riot-web/pull/6763) - * Update to electron 2.0.1 - [\#6764](https://github.com/vector-im/riot-web/pull/6764) - * Hide URL options for e2e blob: URL images - [\#6765](https://github.com/vector-im/riot-web/pull/6765) - -Changes in [0.15.2](https://github.com/vector-im/riot-web/releases/tag/v0.15.2) (2018-05-17) -============================================================================================ -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.15.1...v0.15.2) - - * Update to matrix-react-sdk v0.12.5 to fix image size jumps - -Changes in [0.15.1](https://github.com/vector-im/riot-web/releases/tag/v0.15.1) (2018-05-16) -============================================================================================ -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.15.0...v0.15.1) - - * Fix package-lock.json which was causing errors building the Electron app - * Update Electron version - -Changes in [0.15.0](https://github.com/vector-im/riot-web/releases/tag/v0.15.0) (2018-05-16) -============================================================================================ -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.15.0-rc.6...v0.15.0) - - * No changes since rc.6 - -Changes in [0.15.0-rc.6](https://github.com/vector-im/riot-web/releases/tag/v0.15.0-rc.6) (2018-05-15) -====================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.15.0-rc.5...v0.15.0-rc.6) - - * Update to matrix-react-sdk 0.12.4-rc.6 - -Changes in [0.15.0-rc.5](https://github.com/vector-im/riot-web/releases/tag/v0.15.0-rc.5) (2018-05-15) -====================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.15.0-rc.4...v0.15.0-rc.5) - - * Update to matrix-react-sdk 0.12.4-rc.5 - -Changes in [0.15.0-rc.4](https://github.com/vector-im/riot-web/releases/tag/v0.15.0-rc.4) (2018-05-14) -====================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.15.0-rc.3...v0.15.0-rc.4) - - * Update from Weblate. - [\#6726](https://github.com/vector-im/riot-web/pull/6726) - * Update to matrix-react-sdk 0.12.4-rc.4 - -Changes in [0.15.0-rc.3](https://github.com/vector-im/riot-web/releases/tag/v0.15.0-rc.3) (2018-05-11) -====================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.15.0-rc.2...v0.15.0-rc.3) - - * Update to matrix-react-sdk 0.12.4-rc.3 - -Changes in [0.15.0-rc.2](https://github.com/vector-im/riot-web/releases/tag/v0.15.0-rc.2) (2018-05-09) -====================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.15.0-rc.1...v0.15.0-rc.2) - - * Update to matrix-react-sdk 0.12.4-rc.2 - -Changes in [0.15.0-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.15.0-rc.1) (2018-05-09) -====================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.14.3-rc.1...v0.15.0-rc.1) - - * No changes since 0.14.3-rc.1 - -Changes in [0.14.3-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.14.3-rc.1) (2018-05-09) -====================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.14.2...v0.14.3-rc.1) - - * Update from Weblate. - [\#6688](https://github.com/vector-im/riot-web/pull/6688) - * Don't show presence on matrix.org - [\#6638](https://github.com/vector-im/riot-web/pull/6638) - * Enforce loading babel-polyfill first - [\#6625](https://github.com/vector-im/riot-web/pull/6625) - * Update hoek - [\#6624](https://github.com/vector-im/riot-web/pull/6624) - * Fix args in the release wrapper script - [\#6614](https://github.com/vector-im/riot-web/pull/6614) - -Changes in [0.14.2](https://github.com/vector-im/riot-web/releases/tag/v0.14.2) (2018-04-30) -============================================================================================ -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.14.2-rc.3...v0.14.2) - - * No changes since rc.3 - -Changes in [0.14.2-rc.3](https://github.com/vector-im/riot-web/releases/tag/v0.14.2-rc.3) (2018-04-26) -====================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.14.2-rc.2...v0.14.2-rc.3) - - * Fix CSS dependency versions to be the same as those in react-sdk to fix - left panel header positions. - -Changes in [0.14.2-rc.2](https://github.com/vector-im/riot-web/releases/tag/v0.14.2-rc.2) (2018-04-26) -====================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.14.2-rc.1...v0.14.2-rc.2) - - * Fix Download of attachments in e2e encrypted rooms in Firefox - -Changes in [0.14.2-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.14.2-rc.1) (2018-04-25) -====================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.14.1...v0.14.2-rc.1) - - * Update from Weblate. - [\#6602](https://github.com/vector-im/riot-web/pull/6602) - * Add readme bit on cross-origin renderer - [\#6600](https://github.com/vector-im/riot-web/pull/6600) - * Update from Weblate. - [\#6573](https://github.com/vector-im/riot-web/pull/6573) - * Copy media from react-sdk - [\#6588](https://github.com/vector-im/riot-web/pull/6588) - * Fix favicon - [\#6580](https://github.com/vector-im/riot-web/pull/6580) - * Update from Weblate. - [\#6569](https://github.com/vector-im/riot-web/pull/6569) - * move everything not explicitly riot (or status) branded into matrix-react- - sdk - [\#6500](https://github.com/vector-im/riot-web/pull/6500) - * Remove presence management - [\#5881](https://github.com/vector-im/riot-web/pull/5881) - * change vector-web repo to riot-web in changelog - [\#6480](https://github.com/vector-im/riot-web/pull/6480) - * Update from Weblate. - [\#6473](https://github.com/vector-im/riot-web/pull/6473) - * Bump source-map-loader version to avoid bug /w inline base64 maps - [\#6472](https://github.com/vector-im/riot-web/pull/6472) - * Add CSS for new group admin radio button - [\#6415](https://github.com/vector-im/riot-web/pull/6415) - * Rxl881/sticker picker styling - [\#6447](https://github.com/vector-im/riot-web/pull/6447) - * Stickerpacks - [\#6242](https://github.com/vector-im/riot-web/pull/6242) - * Force gemini on HomePage - [\#6368](https://github.com/vector-im/riot-web/pull/6368) - * Rename the Riot-Web Translations Room - [\#6348](https://github.com/vector-im/riot-web/pull/6348) - * Add disable-presence-by-hs option to sample config - [\#6350](https://github.com/vector-im/riot-web/pull/6350) - * Reword the BugReportDialog.js as per @lampholder - [\#6354](https://github.com/vector-im/riot-web/pull/6354) - -Changes in [0.14.1](https://github.com/vector-im/riot-web/releases/tag/v0.14.1) (2018-04-12) -============================================================================================ -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.14.0...v0.14.1) - - * Remove presence management feature from labs - * Fix an issue where Riot would fail to load at all if certain - extensions were installed on Firefox - * Fix an issue where e2e cryptography could be disabled due to - a migration error. - -Changes in [0.14.0](https://github.com/vector-im/riot-web/releases/tag/v0.14.0) (2018-04-11) -============================================================================================ -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.14.0-rc.6...v0.14.0) - - * Cosmetic changes for group UI - -Changes in [0.14.0-rc.6](https://github.com/vector-im/riot-web/releases/tag/v0.14.0-rc.6) (2018-04-09) -====================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.14.0-rc.5...v0.14.0-rc.6) - - * Bump react-sdk to [rc.6](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v0.12.0-rc.6) - -Changes in [0.14.0-rc.5](https://github.com/vector-im/riot-web/releases/tag/v0.14.0-rc.5) (2018-04-09) -====================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.14.0-rc.4...v0.14.0-rc.5) - -* Add CSS for new control to set group join policy - -Changes in [0.14.0-rc.4](https://github.com/vector-im/riot-web/releases/tag/v0.14.0-rc.4) (2018-03-22) -====================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.14.0-rc.3...v0.14.0-rc.4) - - * Fix tagging rooms as direct messages - -Changes in [0.14.0-rc.3](https://github.com/vector-im/riot-web/releases/tag/v0.14.0-rc.3) (2018-03-20) -====================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.14.0-rc.2...v0.14.0-rc.3) - - * Fix a bug where the badge on a room tile would not update - when a room was read from a different device. - -Changes in [0.14.0-rc.2](https://github.com/vector-im/riot-web/releases/tag/v0.14.0-rc.2) (2018-03-19) -====================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.14.0-rc.1...v0.14.0-rc.2) - - * Take TagPanel out of labs - [\#6347](https://github.com/vector-im/riot-web/pull/6347) - * Add languages (czech, galician and serbian) - [\#6343](https://github.com/vector-im/riot-web/pull/6343) - -Changes in [0.14.0-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.14.0-rc.1) (2018-03-19) -====================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.13.5...v0.14.0-rc.1) - - * Force update RoomSubList after reading a room - [\#6342](https://github.com/vector-im/riot-web/pull/6342) - * Ensure entire LeftPanel is faded when settings open - [\#6340](https://github.com/vector-im/riot-web/pull/6340) - * Update from Weblate. - [\#6330](https://github.com/vector-im/riot-web/pull/6330) - * Implement a simple shouldComponentUpdate for DNDRoomTile - [\#6313](https://github.com/vector-im/riot-web/pull/6313) - * Remove og:image with status.im URL - [\#6317](https://github.com/vector-im/riot-web/pull/6317) - * Add change delay warning in GroupView settings - [\#6316](https://github.com/vector-im/riot-web/pull/6316) - * Correctly position mx_TagPanel_clearButton - [\#6289](https://github.com/vector-im/riot-web/pull/6289) - * Fix gap between avatar and border - [\#6290](https://github.com/vector-im/riot-web/pull/6290) - * Fix bug where cannot send group invite on GroupMemberInfo phase - [\#6303](https://github.com/vector-im/riot-web/pull/6303) - * Fix themeing bug with Firefox where "disabled" ignored - [\#6301](https://github.com/vector-im/riot-web/pull/6301) - * Changes for E2E "fudge-button" - [\#6288](https://github.com/vector-im/riot-web/pull/6288) - * Make sure mx_TagPanel_tagTileContainer occupies full height - [\#6286](https://github.com/vector-im/riot-web/pull/6286) - * Add transparent CSS class for RoomTile - [\#6281](https://github.com/vector-im/riot-web/pull/6281) - * Fix crash; fs event received /w langauge file empty - [\#6273](https://github.com/vector-im/riot-web/pull/6273) - * Add setting to disable TagPanel - [\#6269](https://github.com/vector-im/riot-web/pull/6269) - * CSS for my groups microcopy - [\#6257](https://github.com/vector-im/riot-web/pull/6257) - * Add Bulgarian to the list of languages - [\#6246](https://github.com/vector-im/riot-web/pull/6246) - * Make media dropdown wider - [\#6245](https://github.com/vector-im/riot-web/pull/6245) - * Make dropdowns with long options degrade more gracefully - [\#6244](https://github.com/vector-im/riot-web/pull/6244) - * Fix un-tinted "View Community" icon in TagTile context menu - [\#6223](https://github.com/vector-im/riot-web/pull/6223) - * Fix RoomDropTarget and emptySubListTip to have containers - [\#6160](https://github.com/vector-im/riot-web/pull/6160) - * Fix syntax error of wrong use of self-closing HTML tag - [\#6154](https://github.com/vector-im/riot-web/pull/6154) - * Use translucent black for RoomSubList bg to fix tinting - [\#6227](https://github.com/vector-im/riot-web/pull/6227) - * CSS for changing "R" to "X" for clearing group filter - [\#6216](https://github.com/vector-im/riot-web/pull/6216) - * CSS for new global TagPanel filter - [\#6187](https://github.com/vector-im/riot-web/pull/6187) - * Separate the middle panel from the room list - [\#6194](https://github.com/vector-im/riot-web/pull/6194) - * Only use DNDRoomTile for editable sub lists - [\#6176](https://github.com/vector-im/riot-web/pull/6176) - * Adjust CSS to prevent scrollbars on message panel spinner - [\#6131](https://github.com/vector-im/riot-web/pull/6131) - * Implement riot-web side of dragging GroupTile avatars to TagPanel - [\#6143](https://github.com/vector-im/riot-web/pull/6143) - * Fix LeftPanel size being incorrect when TagPanel disabled - [\#6140](https://github.com/vector-im/riot-web/pull/6140) - * Fix TagPanel from collapsing to < 60px when LP collapsed - [\#6134](https://github.com/vector-im/riot-web/pull/6134) - * Temporary hack to constrain LLP container size. - [\#6138](https://github.com/vector-im/riot-web/pull/6138) - * Fix typo - [\#6137](https://github.com/vector-im/riot-web/pull/6137) - * Add context menu to TagPanel - [\#6127](https://github.com/vector-im/riot-web/pull/6127) - * Make room tagging flux-y - [\#6096](https://github.com/vector-im/riot-web/pull/6096) - * Move groups button to TagPanel - [\#6130](https://github.com/vector-im/riot-web/pull/6130) - * Fix long group name pushing settings cog into void - [\#6106](https://github.com/vector-im/riot-web/pull/6106) - * Fix horizontal scrollbar under certain circumstances - [\#6103](https://github.com/vector-im/riot-web/pull/6103) - * Split MImageBody into MFileBody to match JS Classes. - [\#6067](https://github.com/vector-im/riot-web/pull/6067) - * Add Catalan - [\#6040](https://github.com/vector-im/riot-web/pull/6040) - * Update from Weblate. - [\#5777](https://github.com/vector-im/riot-web/pull/5777) - * make FilteredList controlled, such that it can externally persist filter - [\#5718](https://github.com/vector-im/riot-web/pull/5718) - * Linear Rich Quoting - [\#6017](https://github.com/vector-im/riot-web/pull/6017) - * Highlight ViewSource and Devtools ViewSource - [\#5995](https://github.com/vector-im/riot-web/pull/5995) - * default url, not domain - [\#6022](https://github.com/vector-im/riot-web/pull/6022) - * T3chguy/num members tooltip - [\#5929](https://github.com/vector-im/riot-web/pull/5929) - * Swap RoomList to react-beautiful-dnd - [\#6008](https://github.com/vector-im/riot-web/pull/6008) - * CSS required as part of moving TagPanel from react-dnd to react-beautiful- - dnd - [\#5992](https://github.com/vector-im/riot-web/pull/5992) - * fix&refactor DateSeparator and MessageTimestamp - [\#5984](https://github.com/vector-im/riot-web/pull/5984) - * Iterative fixes on Rich Quoting - [\#5978](https://github.com/vector-im/riot-web/pull/5978) - * move piwik whitelists to conf and add piwik config.json info to readme - [\#5653](https://github.com/vector-im/riot-web/pull/5653) - * Implement Rich Quoting/Replies - [\#5804](https://github.com/vector-im/riot-web/pull/5804) - * Change author - [\#5950](https://github.com/vector-im/riot-web/pull/5950) - * Revert "Add a   after timestamp" - [\#5944](https://github.com/vector-im/riot-web/pull/5944) - * Add a   after timestamp - [\#3046](https://github.com/vector-im/riot-web/pull/3046) - * Corrected language name - [\#5938](https://github.com/vector-im/riot-web/pull/5938) - * Hide Options button from copy to clipboard - [\#2892](https://github.com/vector-im/riot-web/pull/2892) - * Fix for `If riot is narrow enough, such that 'Send a message (unecrypted)' - wraps to a second line, the timeline doesn't fit the window.` - [\#5900](https://github.com/vector-im/riot-web/pull/5900) - * Screenshot UI - [\#5849](https://github.com/vector-im/riot-web/pull/5849) - * add missing config.json entry such that scalar-staging widgets work - [\#5855](https://github.com/vector-im/riot-web/pull/5855) - * add dark theme styling to devtools input box - [\#5610](https://github.com/vector-im/riot-web/pull/5610) - * Fixes #1953 by adding oivoodoo as author - [\#5851](https://github.com/vector-im/riot-web/pull/5851) - * Instructions on security issues - [\#5824](https://github.com/vector-im/riot-web/pull/5824) - * Move DND wrapper to top level component - [\#5790](https://github.com/vector-im/riot-web/pull/5790) - * Widget title bar max / min visual cues. - [\#5786](https://github.com/vector-im/riot-web/pull/5786) - * Implement renumeration of ordered tags upon collision - [\#5759](https://github.com/vector-im/riot-web/pull/5759) - * Update imports for accessing KeyCode - [\#5751](https://github.com/vector-im/riot-web/pull/5751) - * Set html lang attribute from language setting - [\#5685](https://github.com/vector-im/riot-web/pull/5685) - * CSS for new TagPanel - [\#5723](https://github.com/vector-im/riot-web/pull/5723) - * getGroupStore no longer needs a matrix client - [\#5707](https://github.com/vector-im/riot-web/pull/5707) - * CSS required for moving group publication toggles to UserSettings - [\#5702](https://github.com/vector-im/riot-web/pull/5702) - * Make sure the SettingsStore is ready to load the theme before loading it - [\#5630](https://github.com/vector-im/riot-web/pull/5630) - * Add some aria-labels to RightPanel - [\#5661](https://github.com/vector-im/riot-web/pull/5661) - * Use badge count format for member count in RightPanel - [\#5657](https://github.com/vector-im/riot-web/pull/5657) - * Exclude the default language on page load - [\#5640](https://github.com/vector-im/riot-web/pull/5640) - * Use SettingsStore to get the default theme - [\#5615](https://github.com/vector-im/riot-web/pull/5615) - * Refactor translations - [\#5613](https://github.com/vector-im/riot-web/pull/5613) - * TintableSvgButton styling - [\#5605](https://github.com/vector-im/riot-web/pull/5605) - * Granular settings - [\#5468](https://github.com/vector-im/riot-web/pull/5468) - * CSS/components for custom presence controls - [\#5286](https://github.com/vector-im/riot-web/pull/5286) - * Set widget tile background colour - [\#5574](https://github.com/vector-im/riot-web/pull/5574) - * Widget styling tweaks - [\#5573](https://github.com/vector-im/riot-web/pull/5573) - * Center mixed content warnings in panel. - [\#5567](https://github.com/vector-im/riot-web/pull/5567) - * Status.im theme - [\#5578](https://github.com/vector-im/riot-web/pull/5578) - -Changes in [0.13.5](https://github.com/vector-im/riot-web/releases/tag/v0.13.5) (2018-02-09) -============================================================================================ -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.13.4...v0.13.5) - - * SECURITY UPDATE: Sanitise URLs from 'external_url'. Thanks to walle303 for contacting - us about this vulnerability. - -Changes in [0.13.4](https://github.com/vector-im/riot-web/releases/tag/v0.13.4) (2018-01-03) -============================================================================================ -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.13.3...v0.13.4) - - * Change config of riot.im electron build to fix some widgets not working. This only affects - electron builds using the riot.im config - for all other builds, this is identical to - v0.13.3. - -Changes in [0.13.3](https://github.com/vector-im/riot-web/releases/tag/v0.13.3) (2017-12-04) -============================================================================================ -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.13.2...v0.13.3) - - * Bump js-sdk, react-sdk version to pull in fix for [setting room publicity in a group](https://github.com/matrix-org/matrix-js-sdk/commit/aa3201ebb0fff5af2fb733080aa65ed1f7213de6). - -Changes in [0.13.2](https://github.com/vector-im/riot-web/releases/tag/v0.13.2) (2017-11-28) -============================================================================================ -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.13.1...v0.13.2) - - -Changes in [0.13.1](https://github.com/vector-im/riot-web/releases/tag/v0.13.1) (2017-11-17) -============================================================================================ -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.13.0...v0.13.1) - - * SECURITY UPDATE: Fix the force TURN option for inbound calls. This option forced the use - of TURN but only worked for outbound calls and not inbound calls. This means that if you - enabled this option expecting it to mask your IP address in calls, your IP would still - have been revealed to the room if you accepted an incoming call. - * Also adds the Slovak translation. - -Changes in [0.13.0](https://github.com/vector-im/riot-web/releases/tag/v0.13.0) (2017-11-15) -============================================================================================ -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.13.0-rc.3...v0.13.0) - - -Changes in [0.13.0-rc.3](https://github.com/vector-im/riot-web/releases/tag/v0.13.0-rc.3) (2017-11-14) -====================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.13.0-rc.2...v0.13.0-rc.3) - - -Changes in [0.13.0-rc.2](https://github.com/vector-im/riot-web/releases/tag/v0.13.0-rc.2) (2017-11-10) -====================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.13.0-rc.1...v0.13.0-rc.2) - - * Make groups a fully-fleged baked-in feature - [\#5566](https://github.com/vector-im/riot-web/pull/5566) - -Changes in [0.13.0-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.13.0-rc.1) (2017-11-10) -====================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.12.7...v0.13.0-rc.1) - - * Fix app tile margins. - [\#5561](https://github.com/vector-im/riot-web/pull/5561) - * Fix wrapping of long room topics (and overlap with apps) - [\#5549](https://github.com/vector-im/riot-web/pull/5549) - * Don't display widget iframes whilst loading. - [\#5555](https://github.com/vector-im/riot-web/pull/5555) - * Update from Weblate. - [\#5558](https://github.com/vector-im/riot-web/pull/5558) - * Adjust CSS for GroupView - [\#5543](https://github.com/vector-im/riot-web/pull/5543) - * CSS for adding rooms to a group with visibility - [\#5546](https://github.com/vector-im/riot-web/pull/5546) - * CSS for pinned indicators - [\#5511](https://github.com/vector-im/riot-web/pull/5511) - * Implement general-purpose tooltip "(?)"-style - [\#5540](https://github.com/vector-im/riot-web/pull/5540) - * CSS for improving group creation UX, namely setting long description - [\#5535](https://github.com/vector-im/riot-web/pull/5535) - * CSS for room notif pills in composer - [\#5531](https://github.com/vector-im/riot-web/pull/5531) - * Do not init a group store when no groupId specified - [\#5520](https://github.com/vector-im/riot-web/pull/5520) - * CSS for new pinned events indicator - [\#5293](https://github.com/vector-im/riot-web/pull/5293) - * T3chguy/devtools 1 - [\#5471](https://github.com/vector-im/riot-web/pull/5471) - * Use margin to separate "perms" in the room directory - [\#5498](https://github.com/vector-im/riot-web/pull/5498) - * Add CSS for CreateGroupDialog to give group ID input suffix and prefix style - [\#5505](https://github.com/vector-im/riot-web/pull/5505) - * Fix group invites such that they look similar to room invites - [\#5504](https://github.com/vector-im/riot-web/pull/5504) - * CSS for Your Communities scrollbar - [\#5501](https://github.com/vector-im/riot-web/pull/5501) - * Add toggle to alter visibility of room-group association - [\#5497](https://github.com/vector-im/riot-web/pull/5497) - * CSS for room notification pills - [\#5494](https://github.com/vector-im/riot-web/pull/5494) - * Implement simple GroupRoomInfo - [\#5493](https://github.com/vector-im/riot-web/pull/5493) - * Add back bottom border to widget title bar - [\#5458](https://github.com/vector-im/riot-web/pull/5458) - * Prevent group name looking clickable for non-members - [\#5478](https://github.com/vector-im/riot-web/pull/5478) - * Fix instanceof check, was checking against the Package rather than class - [\#5472](https://github.com/vector-im/riot-web/pull/5472) - * Use correct group store state when rendering "Invite to this community" - [\#5455](https://github.com/vector-im/riot-web/pull/5455) - * Leverages ES6 in Notifications - [\#5453](https://github.com/vector-im/riot-web/pull/5453) - * Re-PR #4412 - [\#5437](https://github.com/vector-im/riot-web/pull/5437) - * fix comma error of features example - [\#5410](https://github.com/vector-im/riot-web/pull/5410) - * Devtools: make filtering case-insensitive - [\#5387](https://github.com/vector-im/riot-web/pull/5387) - * Highlight group members icon in group member info - [\#5432](https://github.com/vector-im/riot-web/pull/5432) - * Use CSS to stop greyed Right/LeftPanel UI from being interactable - [\#5422](https://github.com/vector-im/riot-web/pull/5422) - * CSS for preventing editing of UI requiring user privilege if user - unprivileged - [\#5417](https://github.com/vector-im/riot-web/pull/5417) - * Only show UI for adding rooms/users to groups to privileged users - [\#5409](https://github.com/vector-im/riot-web/pull/5409) - * Only show "Invite to this community" when viewing group members - [\#5407](https://github.com/vector-im/riot-web/pull/5407) - * Add trash can icon for delete widget - [\#5397](https://github.com/vector-im/riot-web/pull/5397) - * CSS to improve MyGroups in general, and add placeholder - [\#5375](https://github.com/vector-im/riot-web/pull/5375) - * Rxl881/parallelshell - [\#4881](https://github.com/vector-im/riot-web/pull/4881) - * Custom server text was i18ned by key - [\#5371](https://github.com/vector-im/riot-web/pull/5371) - * Run prunei18n - [\#5370](https://github.com/vector-im/riot-web/pull/5370) - * Update from Weblate. - [\#5369](https://github.com/vector-im/riot-web/pull/5369) - * Add script to prune unused translations - [\#5339](https://github.com/vector-im/riot-web/pull/5339) - * CSS for improved MyGroups page - [\#5360](https://github.com/vector-im/riot-web/pull/5360) - * Add padding-right to Dialogs - [\#5346](https://github.com/vector-im/riot-web/pull/5346) - * Add div.warning and use the scss var - [\#5344](https://github.com/vector-im/riot-web/pull/5344) - * Groups->Communities - [\#5343](https://github.com/vector-im/riot-web/pull/5343) - * Make the 'add rooms' button clickable - [\#5342](https://github.com/vector-im/riot-web/pull/5342) - * Switch to gen-i18n script - [\#5338](https://github.com/vector-im/riot-web/pull/5338) - * Use _t as _t - [\#5334](https://github.com/vector-im/riot-web/pull/5334) - * fix groupview header editing visuals (pt 1) - [\#5330](https://github.com/vector-im/riot-web/pull/5330) - * bump version to prevent eslint errors - [\#5316](https://github.com/vector-im/riot-web/pull/5316) - * CSS for invited group members section - [\#5303](https://github.com/vector-im/riot-web/pull/5303) - * Handle long names in EntityTiles by overflowing correctly - [\#5302](https://github.com/vector-im/riot-web/pull/5302) - * Disable labs in electron - [\#5296](https://github.com/vector-im/riot-web/pull/5296) - * CSS for Modifying GroupView UI matrix-org/matrix-react-sdk#1475 - [\#5295](https://github.com/vector-im/riot-web/pull/5295) - * Message/event pinning - [\#5142](https://github.com/vector-im/riot-web/pull/5142) - * Sorting of networks within a protocol based on name - [\#4054](https://github.com/vector-im/riot-web/pull/4054) - * allow hiding of notification body for privacy reasons - [\#4988](https://github.com/vector-im/riot-web/pull/4988) - * Don't use MXIDs on the lightbox if possible - [\#5281](https://github.com/vector-im/riot-web/pull/5281) - * CSS for lonely room message - [\#5267](https://github.com/vector-im/riot-web/pull/5267) - * Bring back dark theme code block border - [\#5037](https://github.com/vector-im/riot-web/pull/5037) - * CSS for remove avatar buttons - [\#5282](https://github.com/vector-im/riot-web/pull/5282) - -Changes in [0.12.7](https://github.com/vector-im/riot-web/releases/tag/v0.12.7) (2017-10-16) -============================================================================================ -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.12.7-rc.3...v0.12.7) - - * Released versions of react-sdk & js-sdk - -Changes in [0.12.7-rc.3](https://github.com/vector-im/riot-web/releases/tag/v0.12.7-rc.3) (2017-10-13) -====================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.12.7-rc.2...v0.12.7-rc.3) - - * Hide the join group button - [\#5275](https://github.com/vector-im/riot-web/pull/5275) - -Changes in [0.12.7-rc.2](https://github.com/vector-im/riot-web/releases/tag/v0.12.7-rc.2) (2017-10-13) -====================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.12.7-rc.1...v0.12.7-rc.2) - - -Changes in [0.12.7-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.12.7-rc.1) (2017-10-13) -====================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.12.6...v0.12.7-rc.1) - - * switch to new logos, and use import rather than VAR - [\#5203](https://github.com/vector-im/riot-web/pull/5203) - * Clarify what an integrations server is - [\#5266](https://github.com/vector-im/riot-web/pull/5266) - * Update from Weblate. - [\#5269](https://github.com/vector-im/riot-web/pull/5269) - * Remove trailing comma in JSON - [\#5167](https://github.com/vector-im/riot-web/pull/5167) - * Added default_federate property - [\#3849](https://github.com/vector-im/riot-web/pull/3849) - * CSS for greying out login form - [\#5197](https://github.com/vector-im/riot-web/pull/5197) - * Fix bug that made sub list placeholders not show for ILAG etc. - [\#5164](https://github.com/vector-im/riot-web/pull/5164) - * Factor out EditableItemList component from AliasSettings - [\#5161](https://github.com/vector-im/riot-web/pull/5161) - * Mark and remove some translations - [\#5110](https://github.com/vector-im/riot-web/pull/5110) - * CSS for "remove" button on GroupRoomTile - [\#5141](https://github.com/vector-im/riot-web/pull/5141) - * Create basic icon for the GroupRoomList tab and adding rooms to groups - [\#5140](https://github.com/vector-im/riot-web/pull/5140) - * Add button to get to MyGroups - [\#5131](https://github.com/vector-im/riot-web/pull/5131) - * Remove `key` prop pass-thru on HeaderButton - [\#5137](https://github.com/vector-im/riot-web/pull/5137) - * Implement "Add room to group" feature - [\#5125](https://github.com/vector-im/riot-web/pull/5125) - * Add Jitsi screensharing support in electron app - [\#4967](https://github.com/vector-im/riot-web/pull/4967) - * Refactor right panel header buttons - [\#5117](https://github.com/vector-im/riot-web/pull/5117) - * CSS for publicity status & toggle button - [\#5104](https://github.com/vector-im/riot-web/pull/5104) - * CSS for "X" in top right of features users/rooms - [\#5103](https://github.com/vector-im/riot-web/pull/5103) - * Include Finnish translation - [\#5051](https://github.com/vector-im/riot-web/pull/5051) - * Redesign membership section of GroupView - [\#5096](https://github.com/vector-im/riot-web/pull/5096) - * Make --config accept globs - [\#5090](https://github.com/vector-im/riot-web/pull/5090) - * CSS for GroupView: Add a User - [\#5093](https://github.com/vector-im/riot-web/pull/5093) - * T3chguy/devtools 1 - [\#5074](https://github.com/vector-im/riot-web/pull/5074) - * Alter opacity for flair - [\#5085](https://github.com/vector-im/riot-web/pull/5085) - * Fix ugly integ button - [\#5082](https://github.com/vector-im/riot-web/pull/5082) - * Group Membership UI - [\#4830](https://github.com/vector-im/riot-web/pull/4830) - -Changes in [0.12.6](https://github.com/vector-im/riot-web/releases/tag/v0.12.6) (2017-09-21) -============================================================================================ -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.12.5...v0.12.6) - - * Use matrix-js-sdk v0.8.4 to fix build - -Changes in [0.12.5](https://github.com/vector-im/riot-web/releases/tag/v0.12.5) (2017-09-21) -============================================================================================ -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.12.4...v0.12.5) - - * Use react-sdk v0.10.5 to fix build - -Changes in [0.12.4](https://github.com/vector-im/riot-web/releases/tag/v0.12.4) (2017-09-20) -============================================================================================ -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.12.4-rc.1...v0.12.4) - - * No changes - -Changes in [0.12.4-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.12.4-rc.1) (2017-09-19) -====================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.12.3...v0.12.4-rc.1) - - * Fix test for new behaviour of 'joining' flag - [\#5053](https://github.com/vector-im/riot-web/pull/5053) - * fix really dumb blunder/typo preventing system from going to sleep. - [\#5080](https://github.com/vector-im/riot-web/pull/5080) - * T3chguy/devtools - [\#4735](https://github.com/vector-im/riot-web/pull/4735) - * CSS for unignore button in UserSettings - [\#5042](https://github.com/vector-im/riot-web/pull/5042) - * Fix alias on home page for identity room - [\#5044](https://github.com/vector-im/riot-web/pull/5044) - * generic contextual menu for tooltip/responses - [\#4989](https://github.com/vector-im/riot-web/pull/4989) - * Update from Weblate. - [\#5018](https://github.com/vector-im/riot-web/pull/5018) - * Avoid re-rendering RoomList on room switch - [\#5015](https://github.com/vector-im/riot-web/pull/5015) - * Fix menu on change keyboard language issue #4345 - [\#4623](https://github.com/vector-im/riot-web/pull/4623) - * Make isInvite default to false - [\#4999](https://github.com/vector-im/riot-web/pull/4999) - * Revert "Implement sticky date separators" - [\#4991](https://github.com/vector-im/riot-web/pull/4991) - * Implement sticky date separators - [\#4939](https://github.com/vector-im/riot-web/pull/4939) - -Changes in [0.12.3](https://github.com/vector-im/riot-web/releases/tag/v0.12.3) (2017-09-06) -============================================================================================ -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.12.3-rc.3...v0.12.3) - - * No changes - -Changes in [0.12.3-rc.3](https://github.com/vector-im/riot-web/releases/tag/v0.12.3-rc.3) (2017-09-05) -====================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.12.3-rc.2...v0.12.3-rc.3) - - * Fix plurals in translations - [\#4971](https://github.com/vector-im/riot-web/pull/4971) - * Update from Weblate. - [\#4968](https://github.com/vector-im/riot-web/pull/4968) - -Changes in [0.12.3-rc.2](https://github.com/vector-im/riot-web/releases/tag/v0.12.3-rc.2) (2017-09-05) -====================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.12.3-rc.1...v0.12.3-rc.2) - - * New react-sdk version to pull in new translations and fix some translation bugs. - - -Changes in [0.12.3-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.12.3-rc.1) (2017-09-01) -====================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.12.2...v0.12.3-rc.1) - - * Fix overflowing login/register buttons on some languages issue #4804 - [\#4858](https://github.com/vector-im/riot-web/pull/4858) - * Update vector-im to riot-im on Login - [\#4943](https://github.com/vector-im/riot-web/pull/4943) - * lets let people know that the bug report actually sent properly :) - [\#4910](https://github.com/vector-im/riot-web/pull/4910) - * another s/vector/riot/ in README - [\#4934](https://github.com/vector-im/riot-web/pull/4934) - * fix two room list regressions - [\#4907](https://github.com/vector-im/riot-web/pull/4907) - -Changes in [0.12.2](https://github.com/vector-im/riot-web/releases/tag/v0.12.2) (2017-08-24) -============================================================================================ -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.12.1...v0.12.2) - - * Update react-sdk and js-sdk to fix bugs with incoming calls, messages and notifications - in encrypted rooms. - -Changes in [0.12.1](https://github.com/vector-im/riot-web/releases/tag/v0.12.1) (2017-08-23) -============================================================================================ -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.12.1-rc.1...v0.12.1) - - * [No changes] - -Changes in [0.12.1-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.12.1-rc.1) (2017-08-22) -====================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.12.0-rc.2...v0.12.1-rc.1) - - * Update from Weblate. - [\#4832](https://github.com/vector-im/riot-web/pull/4832) - * Misc styling fixes. - [\#4826](https://github.com/vector-im/riot-web/pull/4826) - * Show / Hide apps icons - [\#4774](https://github.com/vector-im/riot-web/pull/4774) - -Changes in [0.12.0-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.12.0-rc.1) (2017-08-16) -====================================================================================================== -[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.11.4...v0.12.0-rc.1) - - * Update from Weblate. - [\#4797](https://github.com/vector-im/riot-web/pull/4797) - * move focus-via-up/down cursors to LeftPanel - [\#4777](https://github.com/vector-im/riot-web/pull/4777) - * Remove userId property on RightPanel - [\#4775](https://github.com/vector-im/riot-web/pull/4775) - * Make member device info buttons fluid and stackable with flexbox - [\#4776](https://github.com/vector-im/riot-web/pull/4776) - * un-i18n Modal Analytics - [\#4688](https://github.com/vector-im/riot-web/pull/4688) - * Quote using innerText - [\#4773](https://github.com/vector-im/riot-web/pull/4773) - * Karma tweaks for riot-web - [\#4765](https://github.com/vector-im/riot-web/pull/4765) - * Fix typo with scripts/fetch-develop-deps.sh in Building From Source - [\#4764](https://github.com/vector-im/riot-web/pull/4764) - * Adjust CSS for optional avatars in pills - [\#4757](https://github.com/vector-im/riot-web/pull/4757) - * Fix crypto on develop - [\#4754](https://github.com/vector-im/riot-web/pull/4754) - * Fix signing key url in readme - [\#4464](https://github.com/vector-im/riot-web/pull/4464) - * update gitignore to allow .idea directory to exist in subdirs - [\#4749](https://github.com/vector-im/riot-web/pull/4749) - * tweak compact theme - [\#4665](https://github.com/vector-im/riot-web/pull/4665) - * Update draft-js from 0.10.1 to 0.11.0-alpha - [\#4740](https://github.com/vector-im/riot-web/pull/4740) - * electron support for mouse forward/back buttons in Windows - [\#4739](https://github.com/vector-im/riot-web/pull/4739) - * Update draft-js from 0.8.1 to 0.10.1 - [\#4730](https://github.com/vector-im/riot-web/pull/4730) - * Make pills, emoji translucent when sending - [\#4693](https://github.com/vector-im/riot-web/pull/4693) - * Widget permissions styling and icon - [\#4690](https://github.com/vector-im/riot-web/pull/4690) - * CSS required for composer autoscroll - [\#4682](https://github.com/vector-im/riot-web/pull/4682) - * CSS for group edit UI - [\#4608](https://github.com/vector-im/riot-web/pull/4608) - * Fix a couple of minor errors in the room list - [\#4671](https://github.com/vector-im/riot-web/pull/4671) - * Styling for beta testing icon. - [\#4584](https://github.com/vector-im/riot-web/pull/4584) - * Increase the timeout for clearing indexeddbs - [\#4650](https://github.com/vector-im/riot-web/pull/4650) - * Make some adjustments to mx_UserPill and mx_RoomPill - [\#4597](https://github.com/vector-im/riot-web/pull/4597) - * Apply CSS to
 tags to distinguish them from each other
-   [\#4639](https://github.com/vector-im/riot-web/pull/4639)
- * Use `catch` instead of `fail` to handle room tag error
-   [\#4643](https://github.com/vector-im/riot-web/pull/4643)
- * CSS for decorated matrix.to links in the composer
-   [\#4583](https://github.com/vector-im/riot-web/pull/4583)
- * Deflake the joining test
-   [\#4579](https://github.com/vector-im/riot-web/pull/4579)
- * Bump react to 15.6 to fix build problems
-   [\#4577](https://github.com/vector-im/riot-web/pull/4577)
- * Improve AppTile menu bar button styling.
-   [\#4567](https://github.com/vector-im/riot-web/pull/4567)
- * Transform `async` functions to bluebird promises
-   [\#4572](https://github.com/vector-im/riot-web/pull/4572)
- * use flushAllExpected in joining test
-   [\#4570](https://github.com/vector-im/riot-web/pull/4570)
- * Switch riot-web to bluebird
-   [\#4565](https://github.com/vector-im/riot-web/pull/4565)
- * loading tests: wait for login component
-   [\#4564](https://github.com/vector-im/riot-web/pull/4564)
- * Remove CSS for the MessageComposerInputOld
-   [\#4568](https://github.com/vector-im/riot-web/pull/4568)
- * Implement the focus_room_filter action
-   [\#4560](https://github.com/vector-im/riot-web/pull/4560)
- * CSS for Rooms in Group View
-   [\#4530](https://github.com/vector-im/riot-web/pull/4530)
- * more HomePage tweaks
-   [\#4557](https://github.com/vector-im/riot-web/pull/4557)
- * Give HomePage an unmounted guard
-   [\#4556](https://github.com/vector-im/riot-web/pull/4556)
- * Take RTE out of labs
-   [\#4500](https://github.com/vector-im/riot-web/pull/4500)
- * CSS for Groups page
-   [\#4468](https://github.com/vector-im/riot-web/pull/4468)
- * CSS for GroupView
-   [\#4442](https://github.com/vector-im/riot-web/pull/4442)
- * remove unused class
-   [\#4525](https://github.com/vector-im/riot-web/pull/4525)
- * Fix long words causing MessageComposer to widen
-   [\#4466](https://github.com/vector-im/riot-web/pull/4466)
- * Add visual bell animation for RTE
-   [\#4516](https://github.com/vector-im/riot-web/pull/4516)
- * Truncate auto-complete pills properly
-   [\#4502](https://github.com/vector-im/riot-web/pull/4502)
- * Use chrome headless instead of phantomjs
-   [\#4512](https://github.com/vector-im/riot-web/pull/4512)
- * Use external mock-request
-   [\#4489](https://github.com/vector-im/riot-web/pull/4489)
- * fix Quote not closing contextual menu
-   [\#4443](https://github.com/vector-im/riot-web/pull/4443)
- * Apply white-space: pre-wrap to mx_MEmoteBody
-   [\#4470](https://github.com/vector-im/riot-web/pull/4470)
- * Add some style improvements to autocompletions
-   [\#4456](https://github.com/vector-im/riot-web/pull/4456)
- * Styling for apps / widgets
-   [\#4447](https://github.com/vector-im/riot-web/pull/4447)
- * Attempt to flush the rageshake logs on close
-   [\#4400](https://github.com/vector-im/riot-web/pull/4400)
- * Update from Weblate.
-   [\#4401](https://github.com/vector-im/riot-web/pull/4401)
- * improve update polling electron and provide a manual check for updates
-   button
-   [\#4176](https://github.com/vector-im/riot-web/pull/4176)
- * Fix load failure in firefox when indexedDB is disabled
-   [\#4395](https://github.com/vector-im/riot-web/pull/4395)
- * Change missed 'Redact' to 'Remove' in ImageView.
-   [\#4362](https://github.com/vector-im/riot-web/pull/4362)
- * explicit convert to nativeImage to stabilise trayIcon on Windows [Electron]
-   [\#4355](https://github.com/vector-im/riot-web/pull/4355)
- * Use _tJsx for PasswordNagBar (because it has )
-   [\#4373](https://github.com/vector-im/riot-web/pull/4373)
- * Clean up some log outputs from the integ tests
-   [\#4376](https://github.com/vector-im/riot-web/pull/4376)
- * CSS for redeisng of password warning
-   [\#4367](https://github.com/vector-im/riot-web/pull/4367)
- * Give _t to PasswordNagBar, add CSS for UserSettings password warning
-   [\#4366](https://github.com/vector-im/riot-web/pull/4366)
- * Update from Weblate.
-   [\#4361](https://github.com/vector-im/riot-web/pull/4361)
- * Update from Weblate.
-   [\#4360](https://github.com/vector-im/riot-web/pull/4360)
- * Test 'return-to-app' functionality
-   [\#4352](https://github.com/vector-im/riot-web/pull/4352)
- * Update from Weblate.
-   [\#4354](https://github.com/vector-im/riot-web/pull/4354)
- * onLoadCompleted is now onTokenLoginCompleted
-   [\#4335](https://github.com/vector-im/riot-web/pull/4335)
- * Tweak tests to match updates to matrixchat
-   [\#4325](https://github.com/vector-im/riot-web/pull/4325)
- * Update from Weblate.
-   [\#4346](https://github.com/vector-im/riot-web/pull/4346)
- * change dispatcher forward_event signature
-   [\#4337](https://github.com/vector-im/riot-web/pull/4337)
- * Add border on hover for code blocks
-   [\#4259](https://github.com/vector-im/riot-web/pull/4259)
-
-Changes in [0.11.4](https://github.com/vector-im/riot-web/releases/tag/v0.11.4) (2017-06-22)
-============================================================================================
-[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.11.3...v0.11.4)
-
- * Update matrix-js-sdk and react-sdk to fix a regression where the
-   background indexedb worker was disabled, failures to open indexeddb
-   causing the app to fail to start, a race when starting that could break
-   switching to rooms, and the inability to invite users with mixed case
-   usernames.
-
-Changes in [0.11.3](https://github.com/vector-im/riot-web/releases/tag/v0.11.3) (2017-06-20)
-============================================================================================
-[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.11.2...v0.11.3)
-
- * Update to matrix-react-sdk 0.9.6 to fix infinite spinner bugs
-   and some parts of the app that had missed translation.
-
-Changes in [0.11.2](https://github.com/vector-im/riot-web/releases/tag/v0.11.2) (2017-06-19)
-============================================================================================
-[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.11.2-rc.2...v0.11.2)
-
- * Add more languages and translations
- * Add a 'register' button
-
-Changes in [0.11.2-rc.2](https://github.com/vector-im/riot-web/releases/tag/v0.11.2-rc.2) (2017-06-16)
-======================================================================================================
-[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.11.2-rc.1...v0.11.2-rc.2)
-
- * Update react-sdk to pull in fixes for URL previews, CAS
-   login, h2 in markdown and CAPTCHA forms.
- * Enable Korean translation
- * Update from Weblate.
-   [\#4323](https://github.com/vector-im/riot-web/pull/4323)
- * Fix h2 in markdown being weird
-   [\#4332](https://github.com/vector-im/riot-web/pull/4332)
-
-Changes in [0.11.2-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.11.2-rc.1) (2017-06-15)
-======================================================================================================
-[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.11.1...v0.11.2-rc.1)
-
- * Attempts to deflakify the joining test
-   [\#4313](https://github.com/vector-im/riot-web/pull/4313)
- * Add a test for the login flow when there is a teamserver
-   [\#4315](https://github.com/vector-im/riot-web/pull/4315)
- * Remove onload simulator from loading test
-   [\#4314](https://github.com/vector-im/riot-web/pull/4314)
- * Update from Weblate.
-   [\#4305](https://github.com/vector-im/riot-web/pull/4305)
- * Test that we handle stored mx_last_room_id correctly
-   [\#4292](https://github.com/vector-im/riot-web/pull/4292)
- * Ask for email address after setting password for the first time
-   [\#4301](https://github.com/vector-im/riot-web/pull/4301)
- * i18n for setting email after password flow
-   [\#4299](https://github.com/vector-im/riot-web/pull/4299)
- * Update from Weblate.
-   [\#4290](https://github.com/vector-im/riot-web/pull/4290)
- * Don't show the tooltips when filtering rooms
-   [\#4282](https://github.com/vector-im/riot-web/pull/4282)
- * Update from Weblate.
-   [\#4272](https://github.com/vector-im/riot-web/pull/4272)
- * Add missing VOIP Dropdown width
-   [\#4266](https://github.com/vector-im/riot-web/pull/4266)
- * Update import and directory path in the Translations dev guide
-   [\#4261](https://github.com/vector-im/riot-web/pull/4261)
- * Use Thai string for Thai in Language-Chooser
-   [\#4260](https://github.com/vector-im/riot-web/pull/4260)
-
-Changes in [0.11.1](https://github.com/vector-im/riot-web/releases/tag/v0.11.1) (2017-06-14)
-============================================================================================
-[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.11.0...v0.11.1)
-
- * Update to react-sdk 0.9.4 to prompt to set an
-   email address when setting a password and make
-   DM guessing smarter.
-
-Changes in [0.11.0](https://github.com/vector-im/riot-web/releases/tag/v0.11.0) (2017-06-12)
-============================================================================================
-[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.11.0-rc.2...v0.11.0)
-
- * More translations & minor fixes
-
-Changes in [0.11.0-rc.2](https://github.com/vector-im/riot-web/releases/tag/v0.11.0-rc.2) (2017-06-09)
-======================================================================================================
-[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.11.0-rc.1...v0.11.0-rc.2)
-
- * Update to matrix-react-sdk rc.2 which fixes the flux
-   dependency version and an issue with the conference
-   call bar translation.
-
-
-Changes in [0.11.0-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.11.0-rc.1) (2017-06-09)
-======================================================================================================
-[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.10.2...v0.11.0-rc.1)
-
- * Update from Weblate.
-   [\#4258](https://github.com/vector-im/riot-web/pull/4258)
- * Update from Weblate.
-   [\#4254](https://github.com/vector-im/riot-web/pull/4254)
- * Update from Weblate.
-   [\#4253](https://github.com/vector-im/riot-web/pull/4253)
- * Expect to see HTTP /join/#some:alias when we the view knows it
-   [\#4252](https://github.com/vector-im/riot-web/pull/4252)
- * Update from Weblate.
-   [\#4250](https://github.com/vector-im/riot-web/pull/4250)
- * add explicit import to utf8 polyfill and rip out unused imports
-   [\#4169](https://github.com/vector-im/riot-web/pull/4169)
- * Added styling for copy to clipboard button
-   [\#4204](https://github.com/vector-im/riot-web/pull/4204)
- * Update from Weblate.
-   [\#4231](https://github.com/vector-im/riot-web/pull/4231)
- * Update from Weblate.
-   [\#4218](https://github.com/vector-im/riot-web/pull/4218)
- * Update CSS for ChatInviteDialog
-   [\#4226](https://github.com/vector-im/riot-web/pull/4226)
- * change electron -> electron_app which was previously missed
-   [\#4212](https://github.com/vector-im/riot-web/pull/4212)
- * New guest access
-   [\#4039](https://github.com/vector-im/riot-web/pull/4039)
- * Align message timestamp centrally about the avatar mid-point
-   [\#4219](https://github.com/vector-im/riot-web/pull/4219)
- * Remove '/' from homepage URL
-   [\#4221](https://github.com/vector-im/riot-web/pull/4221)
- * Chop off 'origin/'
-   [\#4220](https://github.com/vector-im/riot-web/pull/4220)
- * Update from Weblate.
-   [\#4214](https://github.com/vector-im/riot-web/pull/4214)
- * adjust alignment of message menu button in compact layout
-   [\#4211](https://github.com/vector-im/riot-web/pull/4211)
- * Update from Weblate.
-   [\#4207](https://github.com/vector-im/riot-web/pull/4207)
- * Fix Tests in ILAG
-   [\#4209](https://github.com/vector-im/riot-web/pull/4209)
- * Update from Weblate.
-   [\#4197](https://github.com/vector-im/riot-web/pull/4197)
- * Fix tests for new-guest-access
-   [\#4201](https://github.com/vector-im/riot-web/pull/4201)
- * i18n for SetPasswordDialog
-   [\#4198](https://github.com/vector-im/riot-web/pull/4198)
- * Update from Weblate.
-   [\#4193](https://github.com/vector-im/riot-web/pull/4193)
- * to make the windows volume mixer not explode as it can't resize icons.
-   [\#4183](https://github.com/vector-im/riot-web/pull/4183)
- * provide react devtools in electron dev runs
-   [\#4186](https://github.com/vector-im/riot-web/pull/4186)
- * Fix DeprecationWarning
-   [\#4184](https://github.com/vector-im/riot-web/pull/4184)
- * room link should be a matrix.to one
-   [\#4178](https://github.com/vector-im/riot-web/pull/4178)
- * Update home.html
-   [\#4163](https://github.com/vector-im/riot-web/pull/4163)
- * Add missing translation for room directory
-   [\#4160](https://github.com/vector-im/riot-web/pull/4160)
- * i18n welcome
-   [\#4129](https://github.com/vector-im/riot-web/pull/4129)
- * Tom welcome page
-   [\#4038](https://github.com/vector-im/riot-web/pull/4038)
- * Fix some tests that expect Directory (they should expect HomePage)
-   [\#4076](https://github.com/vector-im/riot-web/pull/4076)
- * Add "Login" button to RHS when user is a guest
-   [\#4037](https://github.com/vector-im/riot-web/pull/4037)
- * Rejig the PaswordNagBar
-   [\#4026](https://github.com/vector-im/riot-web/pull/4026)
- * Allow team server config to be missing
-   [\#4024](https://github.com/vector-im/riot-web/pull/4024)
- * Remove GuestWarningBar
-   [\#4020](https://github.com/vector-im/riot-web/pull/4020)
- * Make left panel better for new users (mk III)
-   [\#4023](https://github.com/vector-im/riot-web/pull/4023)
- * Implement default welcome page and allow custom URL /w config
-   [\#4015](https://github.com/vector-im/riot-web/pull/4015)
- * Add warm-fuzzy for successful password entry
-   [\#3989](https://github.com/vector-im/riot-web/pull/3989)
- * autoFocus new password input in SetPasswordDialog
-   [\#3982](https://github.com/vector-im/riot-web/pull/3982)
- * Implement dialog to set password
-   [\#3921](https://github.com/vector-im/riot-web/pull/3921)
- * Replace NeedToRegister with SetMxId dialog
-   [\#3924](https://github.com/vector-im/riot-web/pull/3924)
- * Add welcomeUserId to sample config
-   [\#3906](https://github.com/vector-im/riot-web/pull/3906)
- * CSS for mxIdDialog redesign
-   [\#3885](https://github.com/vector-im/riot-web/pull/3885)
- * Implement PasswordNagBar
-   [\#3817](https://github.com/vector-im/riot-web/pull/3817)
- * CSS for new SetMxIdDialog
-   [\#3762](https://github.com/vector-im/riot-web/pull/3762)
-
-Changes in [0.10.2](https://github.com/vector-im/riot-web/releases/tag/v0.10.2) (2017-06-06)
-============================================================================================
-[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.10.1...v0.10.2)
-
- * Hotfix for bugs where navigating straight to a URL like /#/login and
-   and /#/forgot_password
-
-
-Changes in [0.10.1](https://github.com/vector-im/riot-web/releases/tag/v0.10.1) (2017-06-02)
-============================================================================================
-[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.10.0...v0.10.1)
-
- * Update to matrix-react-sdk 0.9.1 to fix i18n error which broke start chat in some circumstances
-
-Changes in [0.10.0](https://github.com/vector-im/riot-web/releases/tag/v0.10.0) (2017-06-02)
-============================================================================================
-[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.10.0-rc.2...v0.10.0)
-
- * Update from Weblate.
-   [\#4152](https://github.com/vector-im/riot-web/pull/4152)
-
-Changes in [0.10.0-rc.2](https://github.com/vector-im/riot-web/releases/tag/v0.10.0-rc.2) (2017-06-02)
-======================================================================================================
-[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.10.0-rc.1...v0.10.0-rc.2)
-
- * Update from Weblate.
-   [\#4150](https://github.com/vector-im/riot-web/pull/4150)
- * styling for webrtc settings
-   [\#4019](https://github.com/vector-im/riot-web/pull/4019)
- * Update from Weblate.
-   [\#4140](https://github.com/vector-im/riot-web/pull/4140)
- * add styles for compact layout
-   [\#4132](https://github.com/vector-im/riot-web/pull/4132)
- * Various tweaks to fetch-develop-deps
-   [\#4147](https://github.com/vector-im/riot-web/pull/4147)
- * Don't try to build with node 6.0
-   [\#4145](https://github.com/vector-im/riot-web/pull/4145)
- * Support 12hr time on DateSeparator
-   [\#4143](https://github.com/vector-im/riot-web/pull/4143)
- * Update from Weblate.
-   [\#4137](https://github.com/vector-im/riot-web/pull/4137)
- * Update from Weblate.
-   [\#4105](https://github.com/vector-im/riot-web/pull/4105)
- * Update from Weblate.
-   [\#4094](https://github.com/vector-im/riot-web/pull/4094)
- * Update from Weblate.
-   [\#4091](https://github.com/vector-im/riot-web/pull/4091)
- * Update from Weblate.
-   [\#4089](https://github.com/vector-im/riot-web/pull/4089)
- * Update from Weblate.
-   [\#4083](https://github.com/vector-im/riot-web/pull/4083)
-
-Changes in [0.10.0-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.10.0-rc.1) (2017-06-01)
-======================================================================================================
-[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.10...v0.10.0-rc.1)
-
- * basic electron profile support
-   [\#4030](https://github.com/vector-im/riot-web/pull/4030)
- * Finish translations for vector-im/riot-web
-   [\#4122](https://github.com/vector-im/riot-web/pull/4122)
- * Translate src/vector
-   [\#4119](https://github.com/vector-im/riot-web/pull/4119)
- * electron flashFrame was way too annoying
-   [\#4128](https://github.com/vector-im/riot-web/pull/4128)
- * auto-launch support [Electron]
-   [\#4012](https://github.com/vector-im/riot-web/pull/4012)
- * Show 12hr time on hover too
-   [\#4092](https://github.com/vector-im/riot-web/pull/4092)
- * Translate src/notifications
-   [\#4087](https://github.com/vector-im/riot-web/pull/4087)
- * Translate src/components/structures
-   [\#4084](https://github.com/vector-im/riot-web/pull/4084)
- * Smaller font size on timestamp to better fit in the available space
-   [\#4085](https://github.com/vector-im/riot-web/pull/4085)
- * Make travis run the build with several versions of node
-   [\#4079](https://github.com/vector-im/riot-web/pull/4079)
- * Piwik Analytics
-   [\#4056](https://github.com/vector-im/riot-web/pull/4056)
- * Update from Weblate.
-   [\#4077](https://github.com/vector-im/riot-web/pull/4077)
- * managed to eat the eventStatus check, can't redact a local-echo etc
-   [\#4078](https://github.com/vector-im/riot-web/pull/4078)
- * show redact in context menu only if has PL to/sent message
-   [\#3925](https://github.com/vector-im/riot-web/pull/3925)
- * Update from Weblate.
-   [\#4064](https://github.com/vector-im/riot-web/pull/4064)
- * Change redact -> remove to improve clarity
-   [\#3722](https://github.com/vector-im/riot-web/pull/3722)
- * Update from Weblate.
-   [\#4058](https://github.com/vector-im/riot-web/pull/4058)
- * Message Forwarding
-   [\#3688](https://github.com/vector-im/riot-web/pull/3688)
- * Update from Weblate.
-   [\#4057](https://github.com/vector-im/riot-web/pull/4057)
- * Fixed an input field's background color in dark theme
-   [\#4053](https://github.com/vector-im/riot-web/pull/4053)
- * Update from Weblate.
-   [\#4051](https://github.com/vector-im/riot-web/pull/4051)
- * Update from Weblate.
-   [\#4049](https://github.com/vector-im/riot-web/pull/4049)
- * Update from Weblate.
-   [\#4048](https://github.com/vector-im/riot-web/pull/4048)
- * Update from Weblate.
-   [\#4040](https://github.com/vector-im/riot-web/pull/4040)
- * Update translating.md: Minor suggestions
-   [\#4041](https://github.com/vector-im/riot-web/pull/4041)
- * tidy electron files, they weren't pwetty
-   [\#3993](https://github.com/vector-im/riot-web/pull/3993)
- * Prevent Power Save when in call (Electron)
-   [\#3992](https://github.com/vector-im/riot-web/pull/3992)
- * Translations!
-   [\#4035](https://github.com/vector-im/riot-web/pull/4035)
- * Kieran gould/12hourtimestamp
-   [\#3961](https://github.com/vector-im/riot-web/pull/3961)
- * Don't include src in the test resolve root
-   [\#4033](https://github.com/vector-im/riot-web/pull/4033)
- * add moar context menus [Electron]
-   [\#4021](https://github.com/vector-im/riot-web/pull/4021)
- * Add `Chat` to Linux app categories
-   [\#4022](https://github.com/vector-im/riot-web/pull/4022)
- * add menu category for linux build of app
-   [\#3975](https://github.com/vector-im/riot-web/pull/3975)
- * Electron Tray Improvements
-   [\#3909](https://github.com/vector-im/riot-web/pull/3909)
- * More riot-web test deflakification
-   [\#3966](https://github.com/vector-im/riot-web/pull/3966)
- * Script to fetch corresponding branches of dependent projects
-   [\#3945](https://github.com/vector-im/riot-web/pull/3945)
- * Add type="text/css" to SVG logos
-   [\#3964](https://github.com/vector-im/riot-web/pull/3964)
- * Fix some setState-after-unmount in roomdirectory
-   [\#3958](https://github.com/vector-im/riot-web/pull/3958)
- * Attempt to deflakify joining test
-   [\#3956](https://github.com/vector-im/riot-web/pull/3956)
-
-Changes in [0.9.10](https://github.com/vector-im/riot-web/releases/tag/v0.9.10) (2017-05-22)
-============================================================================================
-[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.10-rc.1...v0.9.10)
-
- * No changes
-
-
-Changes in [0.9.10-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.9.10-rc.1) (2017-05-19)
-======================================================================================================
-[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.9...v0.9.10-rc.1)
-
- * CSS for left_aligned Dropdowns, and adjustments for Country dd in Login
-   [\#3959](https://github.com/vector-im/riot-web/pull/3959)
- * Add square flag pngs /w genflags.sh script
-   [\#3953](https://github.com/vector-im/riot-web/pull/3953)
- * Add config for riot-bot on desktop app build
-   [\#3954](https://github.com/vector-im/riot-web/pull/3954)
- * Desktop: 'copy link address'
-   [\#3952](https://github.com/vector-im/riot-web/pull/3952)
- * Reduce rageshake log size to 1MB
-   [\#3943](https://github.com/vector-im/riot-web/pull/3943)
- * CSS for putting country dd on same line as phone input
-   [\#3942](https://github.com/vector-im/riot-web/pull/3942)
- * fix #3894
-   [\#3919](https://github.com/vector-im/riot-web/pull/3919)
- * change vector->riot on the surface
-   [\#3894](https://github.com/vector-im/riot-web/pull/3894)
- * move manifest.json outward so it is scoped properly
-   [\#3888](https://github.com/vector-im/riot-web/pull/3888)
- * add to manifest
-   [\#3799](https://github.com/vector-im/riot-web/pull/3799)
- * Automatically update component-index
-   [\#3886](https://github.com/vector-im/riot-web/pull/3886)
- * move electron -> electron_app because npm smart
-   [\#3877](https://github.com/vector-im/riot-web/pull/3877)
- * Fix bug report endpoint in config.sample.json.
-   [\#3863](https://github.com/vector-im/riot-web/pull/3863)
- * Update 2 missed icons to the new icon
-   [\#3851](https://github.com/vector-im/riot-web/pull/3851)
- * Make left panel better for new users (mk II)
-   [\#3804](https://github.com/vector-im/riot-web/pull/3804)
- * match primary package.json
-   [\#3839](https://github.com/vector-im/riot-web/pull/3839)
- * Re-add productName
-   [\#3829](https://github.com/vector-im/riot-web/pull/3829)
- * Remove leading v in /version file, for SemVer and to match Electron ver
-   [\#3683](https://github.com/vector-im/riot-web/pull/3683)
- * Fix scope of callback
-   [\#3790](https://github.com/vector-im/riot-web/pull/3790)
- * Remember and Recall window layout/position state
-   [\#3622](https://github.com/vector-im/riot-web/pull/3622)
- * Remove babelcheck
-   [\#3808](https://github.com/vector-im/riot-web/pull/3808)
- * Include MXID and device id in rageshakes
-   [\#3809](https://github.com/vector-im/riot-web/pull/3809)
- * import Modal
-   [\#3791](https://github.com/vector-im/riot-web/pull/3791)
- * Pin filesize ver to fix break upstream
-   [\#3775](https://github.com/vector-im/riot-web/pull/3775)
- * Improve Room Directory Look & Feel
-   [\#3751](https://github.com/vector-im/riot-web/pull/3751)
- * Fix emote RRs alignment
-   [\#3742](https://github.com/vector-im/riot-web/pull/3742)
- * Remove unused `placeholder` prop on RoomDropTarget
-   [\#3741](https://github.com/vector-im/riot-web/pull/3741)
- * Modify CSS for matrix-org/matrix-react-sdk#833
-   [\#3732](https://github.com/vector-im/riot-web/pull/3732)
- * Warn when exiting due to single-instance
-   [\#3727](https://github.com/vector-im/riot-web/pull/3727)
- * Electron forgets it was maximized when you click on a notification
-   [\#3709](https://github.com/vector-im/riot-web/pull/3709)
- * CSS to make h1 and h2 the same size as h1.
-   [\#3719](https://github.com/vector-im/riot-web/pull/3719)
- * Prevent long room names/topics from pushing UI of the screen
-   [\#3721](https://github.com/vector-im/riot-web/pull/3721)
- * Disable dropdown highlight on focus
-   [\#3717](https://github.com/vector-im/riot-web/pull/3717)
- * Escape HTML Tags from Linux Notifications (electron)
-   [\#3564](https://github.com/vector-im/riot-web/pull/3564)
- * styling for spoilerized access token view in Settings
-   [\#3651](https://github.com/vector-im/riot-web/pull/3651)
- * Fix Webpack conf
-   [\#3690](https://github.com/vector-im/riot-web/pull/3690)
- * Add config.json to .gitignore
-   [\#3599](https://github.com/vector-im/riot-web/pull/3599)
- * add command line arg (--hidden) for electron app
-   [\#3641](https://github.com/vector-im/riot-web/pull/3641)
- * fix ImageView Download functionality
-   [\#3640](https://github.com/vector-im/riot-web/pull/3640)
- * Add cross-env into the mix
-   [\#3693](https://github.com/vector-im/riot-web/pull/3693)
- * Remember acceptance for unsupported browsers.
-   [\#3694](https://github.com/vector-im/riot-web/pull/3694)
- * Cosmetics to go with matrix-org/matrix-react-sdk#811
-   [\#3692](https://github.com/vector-im/riot-web/pull/3692)
- * Cancel quicksearch on ESC
-   [\#3680](https://github.com/vector-im/riot-web/pull/3680)
- * Optimise RoomList and implement quick-search functionality on it.
-   [\#3654](https://github.com/vector-im/riot-web/pull/3654)
- * Progress updates for rageshake uploads
-   [\#3648](https://github.com/vector-im/riot-web/pull/3648)
- * Factor out rageshake upload to a separate file
-   [\#3645](https://github.com/vector-im/riot-web/pull/3645)
- * rageshake: fix race when collecting logs
-   [\#3644](https://github.com/vector-im/riot-web/pull/3644)
- * Fix a flaky test
-   [\#3649](https://github.com/vector-im/riot-web/pull/3649)
-
-Changes in [0.9.9](https://github.com/vector-im/riot-web/releases/tag/v0.9.9) (2017-04-25)
-==========================================================================================
-[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.9-rc.2...v0.9.9)
-
- * No changes
-
-
-Changes in [0.9.9-rc.2](https://github.com/vector-im/riot-web/releases/tag/v0.9.9-rc.2) (2017-04-24)
-====================================================================================================
-[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.9-rc.1...v0.9.9-rc.2)
-
- * Fix bug where links to Riot would fail to open.
-
-
-Changes in [0.9.9-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.9.9-rc.1) (2017-04-21)
-====================================================================================================
-[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.8...v0.9.9-rc.1)
-
- * Update js-sdk and matrix-react-sdk to fix registration without a captcha (https://github.com/vector-im/riot-web/issues/3621)
-
-
-Changes in [0.9.8](https://github.com/vector-im/riot-web/releases/tag/v0.9.8) (2017-04-12)
-==========================================================================================
-[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.8-rc.3...v0.9.8)
-
- * No changes
-
-Changes in [0.9.8-rc.3](https://github.com/vector-im/riot-web/releases/tag/v0.9.8-rc.3) (2017-04-11)
-====================================================================================================
-[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.8-rc.2...v0.9.8-rc.3)
-
- * Make the clear cache button work on desktop
-   [\#3598](https://github.com/vector-im/riot-web/pull/3598)
-
-Changes in [0.9.8-rc.2](https://github.com/vector-im/riot-web/releases/tag/v0.9.8-rc.2) (2017-04-10)
-====================================================================================================
-[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.8-rc.1...v0.9.8-rc.2)
-
- * Redacted events bg: black lozenge -> torn paper
-   [\#3596](https://github.com/vector-im/riot-web/pull/3596)
- * Add 'app' parameter to rageshake report
-   [\#3594](https://github.com/vector-im/riot-web/pull/3594)
-
-Changes in [0.9.8-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.9.8-rc.1) (2017-04-07)
-====================================================================================================
-[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.7...v0.9.8-rc.1)
-
- * Add support for indexeddb sync in webworker
-   [\#3578](https://github.com/vector-im/riot-web/pull/3578)
- * Add CSS to make Emote sender cursor : pointer
-   [\#3574](https://github.com/vector-im/riot-web/pull/3574)
- * Remove rageshake server
-   [\#3565](https://github.com/vector-im/riot-web/pull/3565)
- * Adjust CSS for matrix-org/matrix-react-sdk#789
-   [\#3566](https://github.com/vector-im/riot-web/pull/3566)
- * Fix tests to reflect recent changes
-   [\#3537](https://github.com/vector-im/riot-web/pull/3537)
- * Do not assume getTs will return comparable integer
-   [\#3536](https://github.com/vector-im/riot-web/pull/3536)
- * Rename ReactPerf to Perf
-   [\#3535](https://github.com/vector-im/riot-web/pull/3535)
- * Don't show phone number as target for email notifs
-   [\#3530](https://github.com/vector-im/riot-web/pull/3530)
- * Fix people section again
-   [\#3458](https://github.com/vector-im/riot-web/pull/3458)
- * dark theme invert inconsistent across browsers
-   [\#3479](https://github.com/vector-im/riot-web/pull/3479)
- * CSS for adding phone number in UserSettings
-   [\#3451](https://github.com/vector-im/riot-web/pull/3451)
- * Support for phone number registration/signin, mk2
-   [\#3426](https://github.com/vector-im/riot-web/pull/3426)
- * Confirm redactions with a dialog
-   [\#3470](https://github.com/vector-im/riot-web/pull/3470)
- * Better CSS for redactions
-   [\#3453](https://github.com/vector-im/riot-web/pull/3453)
- * Fix the people section
-   [\#3448](https://github.com/vector-im/riot-web/pull/3448)
- * Merge the two RoomTile context menus into one
-   [\#3395](https://github.com/vector-im/riot-web/pull/3395)
- * Refactor screen set after login
-   [\#3385](https://github.com/vector-im/riot-web/pull/3385)
- * CSS for redacted EventTiles
-   [\#3379](https://github.com/vector-im/riot-web/pull/3379)
- * Height:100% for welcome pages on Safari
-   [\#3340](https://github.com/vector-im/riot-web/pull/3340)
- * `view_room` dispatch from `onClick` RoomTile
-   [\#3376](https://github.com/vector-im/riot-web/pull/3376)
- * Hide statusAreaBox_line entirely when inCall
-   [\#3350](https://github.com/vector-im/riot-web/pull/3350)
- * Set padding-bottom: 0px for .mx_Dialog spinner
-   [\#3351](https://github.com/vector-im/riot-web/pull/3351)
- * Support InteractiveAuth based registration
-   [\#3333](https://github.com/vector-im/riot-web/pull/3333)
- * Expose notification option for username/MXID
-   [\#3334](https://github.com/vector-im/riot-web/pull/3334)
- * Float the toggle in the top right of MELS
-   [\#3190](https://github.com/vector-im/riot-web/pull/3190)
- * More aggressive rageshake log culling
-   [\#3311](https://github.com/vector-im/riot-web/pull/3311)
- * Don't overflow directory network options
-   [\#3282](https://github.com/vector-im/riot-web/pull/3282)
- * CSS for ban / kick reason prompt
-   [\#3250](https://github.com/vector-im/riot-web/pull/3250)
- * Allow forgetting rooms you're banned from
-   [\#3246](https://github.com/vector-im/riot-web/pull/3246)
- * Fix icon paths in manifest
-   [\#3245](https://github.com/vector-im/riot-web/pull/3245)
- * Fix broken tests caused by adding IndexedDB support
-   [\#3242](https://github.com/vector-im/riot-web/pull/3242)
- * CSS for un-ban button in RoomSettings
-   [\#3227](https://github.com/vector-im/riot-web/pull/3227)
- * Remove z-index property on avatar initials
-   [\#3239](https://github.com/vector-im/riot-web/pull/3239)
- * Reposition certain icons in the status bar
-   [\#3233](https://github.com/vector-im/riot-web/pull/3233)
- * CSS for kick/ban confirmation dialog
-   [\#3224](https://github.com/vector-im/riot-web/pull/3224)
- * Style for split-out interactive auth
-   [\#3217](https://github.com/vector-im/riot-web/pull/3217)
- * Use the teamToken threaded through from react sdk
-   [\#3196](https://github.com/vector-im/riot-web/pull/3196)
- * rageshake: Add file server with basic auth
-   [\#3169](https://github.com/vector-im/riot-web/pull/3169)
- * Fix bug with home icon not appearing when logged in as team member
-   [\#3162](https://github.com/vector-im/riot-web/pull/3162)
- * Add ISSUE_TEMPLATE
-   [\#2836](https://github.com/vector-im/riot-web/pull/2836)
- * Store bug reports in separate directories
-   [\#3150](https://github.com/vector-im/riot-web/pull/3150)
- * Quick and dirty support for custom welcome pages.
-   [\#2575](https://github.com/vector-im/riot-web/pull/2575)
- * RTS Welcome Pages
-   [\#3103](https://github.com/vector-im/riot-web/pull/3103)
- * rageshake: Abide by Go standards
-   [\#3149](https://github.com/vector-im/riot-web/pull/3149)
- * Bug report server script
-   [\#3072](https://github.com/vector-im/riot-web/pull/3072)
- * Bump olm version
-   [\#3125](https://github.com/vector-im/riot-web/pull/3125)
-
-Changes in [0.9.7](https://github.com/vector-im/riot-web/releases/tag/v0.9.7) (2017-02-04)
-==========================================================================================
-[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.7-rc.3...v0.9.7)
-
- * Update to matrix-js-sdk 0.7.5 (no changes from 0.7.5-rc.3)
- * Update to matrix-react-sdk 0.8.6 (no changes from 0.8.6-rc.3)
-
-Changes in [0.9.7-rc.3](https://github.com/vector-im/riot-web/releases/tag/v0.9.7-rc.3) (2017-02-03)
-====================================================================================================
-[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.7-rc.2...v0.9.7-rc.3)
- * Update to latest Olm to fix key import/export and use of megolm sessions
-   created on more recent versions
- * Update to latest matrix-react-sdk and matrix-js-sdk to fix e2e device
-   handling
-
-Changes in [0.9.7-rc.2](https://github.com/vector-im/riot-web/releases/tag/v0.9.7-rc.2) (2017-02-03)
-====================================================================================================
-[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.7-rc.1...v0.9.7-rc.2)
-
- * Update matrix-js-sdk to get new device change
-   notifications interface for more reliable e2e crypto
-
-Changes in [0.9.7-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.9.7-rc.1) (2017-02-03)
-====================================================================================================
-[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.6...v0.9.7-rc.1)
-
- * Better user interface for screen readers and keyboard navigation
-   [\#2946](https://github.com/vector-im/riot-web/pull/2946)
- * Allow mxc: URLs for icons in the NetworkDropdown
-   [\#3118](https://github.com/vector-im/riot-web/pull/3118)
- * make TopRightMenu more intuitive
-   [\#3117](https://github.com/vector-im/riot-web/pull/3117)
- * Handle icons with width > height
-   [\#3110](https://github.com/vector-im/riot-web/pull/3110)
- * Fix jenkins build
-   [\#3105](https://github.com/vector-im/riot-web/pull/3105)
- * Add CSS for a support box in login
-   [\#3081](https://github.com/vector-im/riot-web/pull/3081)
- * Allow a custom login logo to be displayed on login
-   [\#3082](https://github.com/vector-im/riot-web/pull/3082)
- * Fix the width of input fields within login/reg box
-   [\#3080](https://github.com/vector-im/riot-web/pull/3080)
- * Set BaseAvatar_image bg colour = #fff
-   [\#3057](https://github.com/vector-im/riot-web/pull/3057)
- * only recalculate favicon if it changes
-   [\#3067](https://github.com/vector-im/riot-web/pull/3067)
- * CSS tweak for email address lookup
-   [\#3064](https://github.com/vector-im/riot-web/pull/3064)
- * Glue the dialog to rageshake: honour sendLogs flag.
-   [\#3061](https://github.com/vector-im/riot-web/pull/3061)
- * Don't use hash-named directory for dev server
-   [\#3049](https://github.com/vector-im/riot-web/pull/3049)
- * Implement bug reporting logic
-   [\#3000](https://github.com/vector-im/riot-web/pull/3000)
- * Add css for bug report dialog
-   [\#3045](https://github.com/vector-im/riot-web/pull/3045)
- * Increase the max-height of the expanded status bar
-   [\#3043](https://github.com/vector-im/riot-web/pull/3043)
- * Hopefully, fix intermittent test failure
-   [\#3040](https://github.com/vector-im/riot-web/pull/3040)
- * CSS for 'searching known users'
-   [\#2971](https://github.com/vector-im/riot-web/pull/2971)
- * Animate status bar max-height and margin-top
-   [\#2981](https://github.com/vector-im/riot-web/pull/2981)
- * Add eslint config
-   [\#3032](https://github.com/vector-im/riot-web/pull/3032)
- * Re-position typing avatars relative to "is typing"
-   [\#3030](https://github.com/vector-im/riot-web/pull/3030)
- * CSS for avatars that appear when users are typing
-   [\#2998](https://github.com/vector-im/riot-web/pull/2998)
- * Add StartupWMClass
-   [\#3001](https://github.com/vector-im/riot-web/pull/3001)
- * Fix link to image for event options menu
-   [\#3002](https://github.com/vector-im/riot-web/pull/3002)
- * Make riot desktop single instance
-   [\#2999](https://github.com/vector-im/riot-web/pull/2999)
- * Add electron tray icon
-   [\#2997](https://github.com/vector-im/riot-web/pull/2997)
- * Fixes to electron desktop notifs
-   [\#2994](https://github.com/vector-im/riot-web/pull/2994)
- * Auto-hide the electron menu bar
-   [\#2975](https://github.com/vector-im/riot-web/pull/2975)
- * A couple of tweaks to the karma config
-   [\#2987](https://github.com/vector-im/riot-web/pull/2987)
- * Deploy script
-   [\#2974](https://github.com/vector-im/riot-web/pull/2974)
- * Use the postcss-webpack-loader
-   [\#2990](https://github.com/vector-im/riot-web/pull/2990)
- * Switch CSS to using postcss, and implement a dark theme.
-   [\#2973](https://github.com/vector-im/riot-web/pull/2973)
- * Update redeploy script to keep old bundles
-   [\#2969](https://github.com/vector-im/riot-web/pull/2969)
- * Include current version in update check explicitly
-   [\#2967](https://github.com/vector-im/riot-web/pull/2967)
- * Add another layer of directory to webpack chunks
-   [\#2966](https://github.com/vector-im/riot-web/pull/2966)
- * Fix links to fonts and images from CSS
-   [\#2965](https://github.com/vector-im/riot-web/pull/2965)
- * Put parent build hash in webpack output filenames
-   [\#2961](https://github.com/vector-im/riot-web/pull/2961)
- * update README to point to new names/locations
-   [\#2846](https://github.com/vector-im/riot-web/pull/2846)
-
-Changes in [0.9.6](https://github.com/vector-im/riot-web/releases/tag/v0.9.6) (2017-01-16)
-==========================================================================================
-[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.6-rc.1...v0.9.6)
-
- * Update to matrix-js-sdk 0.9.6 for video calling fix
-
-Changes in [0.9.6-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.9.6-rc.1) (2017-01-13)
-====================================================================================================
-[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.5...v0.9.6-rc.1)
-
- * Build the js-sdk in the CI script
-   [\#2920](https://github.com/vector-im/riot-web/pull/2920)
- * Hopefully fix Windows shortcuts
-   [\#2917](https://github.com/vector-im/riot-web/pull/2917)
- * Update README now the js-sdk has a transpile step
-   [\#2921](https://github.com/vector-im/riot-web/pull/2921)
- * Use the role for 'toggle dev tools'
-   [\#2915](https://github.com/vector-im/riot-web/pull/2915)
- * Enable screen sharing easter-egg in desktop app
-   [\#2909](https://github.com/vector-im/riot-web/pull/2909)
- * make electron send email validation URLs with a nextlink of riot.im
-   [\#2808](https://github.com/vector-im/riot-web/pull/2808)
- * add Debian Stretch install steps to readme
-   [\#2809](https://github.com/vector-im/riot-web/pull/2809)
- * Update desktop build instructions fixes #2792
-   [\#2793](https://github.com/vector-im/riot-web/pull/2793)
- * CSS for the delete threepid button
-   [\#2784](https://github.com/vector-im/riot-web/pull/2784)
-
-Changes in [0.9.5](https://github.com/vector-im/riot-web/releases/tag/v0.9.5) (2016-12-24)
-==========================================================================================
-[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.4...v0.9.5)
-
- * make electron send email validation URLs with a nextlink of riot.im rather than file:///
- * add gnu-tar to debian electron build deps
- * fix win32 shortcut in start menu
-
-Changes in [0.9.4](https://github.com/vector-im/riot-web/releases/tag/v0.9.4) (2016-12-22)
-==========================================================================================
-[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.3...v0.9.4)
-
- * Update to libolm 2.1.0. This should help resolve a problem with browser
-   sessions being logged out ([\#2726](https://github.com/vector-im/riot-web/issues/2726)).
-
-Changes in [0.9.3](https://github.com/vector-im/riot-web/releases/tag/v0.9.3) (2016-12-22)
-==========================================================================================
-[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.2...v0.9.3)
-
- * (from matrix-react-sdk) Fix regression where the date separator would be displayed
-   at the wrong time of day.
- * README.md: fix GFMD for nativefier
-   [\#2755](https://github.com/vector-im/riot-web/pull/2755)
-
-Changes in [0.9.2](https://github.com/vector-im/riot-web/releases/tag/v0.9.2) (2016-12-16)
-==========================================================================================
-[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.1...v0.9.2)
-
- * Remove the client side filtering from the room dir
-   [\#2750](https://github.com/vector-im/riot-web/pull/2750)
- * Configure olm memory size
-   [\#2745](https://github.com/vector-im/riot-web/pull/2745)
- * Support room dir 3rd party network filtering
-   [\#2747](https://github.com/vector-im/riot-web/pull/2747)
-
-Changes in [0.9.1](https://github.com/vector-im/riot-web/releases/tag/v0.9.1) (2016-12-09)
-==========================================================================================
-[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.1-rc.2...v0.9.1)
-
- * Update README to say how to build the desktop app
-   [\#2732](https://github.com/vector-im/riot-web/pull/2732)
- * Add signing ID in release_config.yaml
-   [\#2731](https://github.com/vector-im/riot-web/pull/2731)
- * Makeover!
-   [\#2722](https://github.com/vector-im/riot-web/pull/2722)
- * Fix broken tests
-   [\#2730](https://github.com/vector-im/riot-web/pull/2730)
- * Make the 'loading' tests work in isolation
-   [\#2727](https://github.com/vector-im/riot-web/pull/2727)
- * Use a PNG for the icon on non-Windows
-   [\#2708](https://github.com/vector-im/riot-web/pull/2708)
- * Add missing brackets to call to toUpperCase
-   [\#2703](https://github.com/vector-im/riot-web/pull/2703)
-
-Changes in [0.9.1-rc.2](https://github.com/vector-im/riot-web/releases/tag/v0.9.1-rc.2) (2016-12-06)
-====================================================================================================
-[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.1-rc.1...v0.9.1-rc.2)
-
- * Fix clicking on notifications
-   [\#2700](https://github.com/vector-im/riot-web/pull/2700)
- * Desktop app: Only show window when ready
-   [\#2697](https://github.com/vector-im/riot-web/pull/2697)
-
-Changes in [0.9.1-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.9.1-rc.1) (2016-12-05)
-====================================================================================================
-[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.0...v0.9.1-rc.1)
-
- * Final bits to prepare electron distribtion:
-   [\#2653](https://github.com/vector-im/riot-web/pull/2653)
- * Update name & repo to reflect renamed repository
-   [\#2692](https://github.com/vector-im/riot-web/pull/2692)
- * Document cross_origin_renderer_url
-   [\#2680](https://github.com/vector-im/riot-web/pull/2680)
- * Add css for the iframes for e2e attachments
-   [\#2659](https://github.com/vector-im/riot-web/pull/2659)
- * Fix config location in some more places
-   [\#2670](https://github.com/vector-im/riot-web/pull/2670)
- * CSS updates for s/block/blacklist for e2e
-   [\#2662](https://github.com/vector-im/riot-web/pull/2662)
- * Update to electron 1.4.8
-   [\#2660](https://github.com/vector-im/riot-web/pull/2660)
- * Add electron config
-   [\#2644](https://github.com/vector-im/riot-web/pull/2644)
- * Move getDefaultDeviceName into the Platforms
-   [\#2643](https://github.com/vector-im/riot-web/pull/2643)
- * Add Freenode & Mozilla domains
-   [\#2641](https://github.com/vector-im/riot-web/pull/2641)
- * Include config.sample.json in dist tarball
-   [\#2614](https://github.com/vector-im/riot-web/pull/2614)
-
-Changes in [0.9.0](https://github.com/vector-im/vector-web/releases/tag/v0.9.0) (2016-11-19)
-============================================================================================
-[Full Changelog](https://github.com/vector-im/vector-web/compare/v0.8.4...v0.9.0)
-
- * Add a cachebuster to /version
-   [\#2596](https://github.com/vector-im/vector-web/pull/2596)
- * Add a 'View decrypted source' button
-   [\#2587](https://github.com/vector-im/vector-web/pull/2587)
- * Fix changelog dialog to  read new version format
-   [\#2577](https://github.com/vector-im/vector-web/pull/2577)
- * Build all of the vector dir in the build process
-   [\#2558](https://github.com/vector-im/vector-web/pull/2558)
- * Support for get_app_version
-   [\#2553](https://github.com/vector-im/vector-web/pull/2553)
- * Add CSS for mlist truncation
-   [\#2565](https://github.com/vector-im/vector-web/pull/2565)
- * Add menu option for `external_url` if present
-   [\#2560](https://github.com/vector-im/vector-web/pull/2560)
- * Make auto-update configureable
-   [\#2555](https://github.com/vector-im/vector-web/pull/2555)
- * Missed files electron windows fixes
-   [\#2556](https://github.com/vector-im/vector-web/pull/2556)
- * Add some CSS for  scalar error popup
-   [\#2554](https://github.com/vector-im/vector-web/pull/2554)
- * Catch unhandled errors in the electron process
-   [\#2552](https://github.com/vector-im/vector-web/pull/2552)
- * Slight grab-bag of fixes for electron on Windows
-   [\#2551](https://github.com/vector-im/vector-web/pull/2551)
- * Electron app (take 3)
-   [\#2535](https://github.com/vector-im/vector-web/pull/2535)
- * Use webpack-dev-server instead of http-server
-   [\#2542](https://github.com/vector-im/vector-web/pull/2542)
- * Better support no-config when loading from file
-   [\#2541](https://github.com/vector-im/vector-web/pull/2541)
- * Fix loading with no config from HTTP
-   [\#2540](https://github.com/vector-im/vector-web/pull/2540)
- * Move 'new version' support into Platform
-   [\#2532](https://github.com/vector-im/vector-web/pull/2532)
- * Add Notification support to the Web Platform
-   [\#2533](https://github.com/vector-im/vector-web/pull/2533)
- * Use the defaults if given a blank config file
-   [\#2534](https://github.com/vector-im/vector-web/pull/2534)
- * Implement Platforms
-   [\#2531](https://github.com/vector-im/vector-web/pull/2531)
-
-Changes in [0.8.4](https://github.com/vector-im/vector-web/releases/tag/v0.8.4) (2016-11-04)
-============================================================================================
-[Full Changelog](https://github.com/vector-im/vector-web/compare/v0.8.4-rc.2...v0.8.4)
-
- * No changes
-
-Changes in [0.8.4-rc.2](https://github.com/vector-im/vector-web/releases/tag/v0.8.4-rc.2) (2016-11-02)
-======================================================================================================
-[Full Changelog](https://github.com/vector-im/vector-web/compare/v0.8.4-rc.1...v0.8.4-rc.2)
-
- * Fix the version in the generated distribution package
-
-Changes in [0.8.4-rc.1](https://github.com/vector-im/vector-web/releases/tag/v0.8.4-rc.1) (2016-11-02)
-======================================================================================================
-[Full Changelog](https://github.com/vector-im/vector-web/compare/v0.8.3...v0.8.4-rc.1)
-
-Breaking Changes
-----------------
- * End-to-end encryption now requires one-time keys to be
-   signed, so end-to-end encryption will not interoperate
-   with previous releases of vector-web. End-to-end encryption
-   remains in beta.
-
-Other Changes
--------------
- * Rename the package script/output dir to 'dist'
-   [\#2528](https://github.com/vector-im/vector-web/pull/2528)
- * Avoid errors if olm is missing
-   [\#2518](https://github.com/vector-im/vector-web/pull/2518)
- * Put a cachebuster in the names of CSS and JS files
-   [\#2515](https://github.com/vector-im/vector-web/pull/2515)
- * Bump to olm 2.0.0
-   [\#2517](https://github.com/vector-im/vector-web/pull/2517)
- * Don't include the world in the published packages
-   [\#2516](https://github.com/vector-im/vector-web/pull/2516)
- * Use webpack to copy olm.js
-   [\#2514](https://github.com/vector-im/vector-web/pull/2514)
- * Don't include two copies of the CSS in the tarball
-   [\#2513](https://github.com/vector-im/vector-web/pull/2513)
- * Correct text alignment on room directory search
-   [\#2512](https://github.com/vector-im/vector-web/pull/2512)
- * Correct spelling of 'rel'
-   [\#2510](https://github.com/vector-im/vector-web/pull/2510)
- * readme tweaks
-   [\#2507](https://github.com/vector-im/vector-web/pull/2507)
- * s/vector/riot/ in the readme
-   [\#2491](https://github.com/vector-im/vector-web/pull/2491)
- * Switch to babel 6, again
-   [\#2480](https://github.com/vector-im/vector-web/pull/2480)
- * Revert "Switch to babel 6"
-   [\#2472](https://github.com/vector-im/vector-web/pull/2472)
- * Switch to babel 6
-   [\#2461](https://github.com/vector-im/vector-web/pull/2461)
-
-Changes in [0.8.3](https://github.com/vector-im/vector-web/releases/tag/v0.8.3) (2016-10-12)
-============================================================================================
-[Full Changelog](https://github.com/vector-im/vector-web/compare/v0.8.2...v0.8.3)
-
- * Centre images in dialog buttons
-   [\#2453](https://github.com/vector-im/vector-web/pull/2453)
- * Only show quote option if RTE is enabled
-   [\#2448](https://github.com/vector-im/vector-web/pull/2448)
- * Fix join button for 'matrix' networks
-   [\#2443](https://github.com/vector-im/vector-web/pull/2443)
- * Don't stop paginating if no rooms match
-   [\#2422](https://github.com/vector-im/vector-web/pull/2422)
-
-Changes in [0.8.2](https://github.com/vector-im/vector-web/releases/tag/v0.8.2) (2016-10-05)
-============================================================================================
-[Full Changelog](https://github.com/vector-im/vector-web/compare/v0.8.1...v0.8.2)
-
- * Add native joining of 3p networks to room dir
-   [\#2379](https://github.com/vector-im/vector-web/pull/2379)
- * Update to linkify 2.1.3
-   [\#2406](https://github.com/vector-im/vector-web/pull/2406)
- * Use 'Sign In' / 'Sign Out' universally
-   [\#2383](https://github.com/vector-im/vector-web/pull/2383)
- * Prevent network dropdown resizing slightly
-   [\#2382](https://github.com/vector-im/vector-web/pull/2382)
- * Room directory: indicate when there are no results
-   [\#2380](https://github.com/vector-im/vector-web/pull/2380)
- * Room dir: New filtering & 3rd party networks
-   [\#2362](https://github.com/vector-im/vector-web/pull/2362)
- * Update linkify version
-   [\#2359](https://github.com/vector-im/vector-web/pull/2359)
- * Directory search join button
-   [\#2339](https://github.com/vector-im/vector-web/pull/2339)
-
-Changes in [0.8.1](https://github.com/vector-im/vector-web/releases/tag/v0.8.1) (2016-09-21)
-============================================================================================
-[Full Changelog](https://github.com/vector-im/vector-web/compare/v0.8.0...v0.8.1)
-
-
-Changes in [0.8.0](https://github.com/vector-im/vector-web/releases/tag/v0.8.0) (2016-09-21)
-============================================================================================
-[Full Changelog](https://github.com/vector-im/vector-web/compare/v0.7.5-r3...v0.8.0)
-
- * Dbkr/rebrand
-   [\#2285](https://github.com/vector-im/vector-web/pull/2285)
- * Listen for close_scalar and close the dialog box when received
-   [\#2282](https://github.com/vector-im/vector-web/pull/2282)
- * Revert "improve lipstick and support scalar logout"
-   [\#2281](https://github.com/vector-im/vector-web/pull/2281)
- * improve lipstick and support scalar logout
-   [\#2280](https://github.com/vector-im/vector-web/pull/2280)
- * Fix changelog links
-   [\#2071](https://github.com/vector-im/vector-web/pull/2071)
- * Paginate Room Directory
-   [\#2241](https://github.com/vector-im/vector-web/pull/2241)
- * Make redeploy script symlink config
-   [\#2240](https://github.com/vector-im/vector-web/pull/2240)
- * Update the version of olm to 1.3.0
-   [\#2210](https://github.com/vector-im/vector-web/pull/2210)
- * Directory network selector
-   [\#2219](https://github.com/vector-im/vector-web/pull/2219)
- * Wmwragg/two state sublist headers
-   [\#2235](https://github.com/vector-im/vector-web/pull/2235)
- * Wmwragg/correct incoming call positioning
-   [\#2222](https://github.com/vector-im/vector-web/pull/2222)
- * Wmwragg/remove old filter
-   [\#2211](https://github.com/vector-im/vector-web/pull/2211)
- * Wmwragg/multi invite bugfix
-   [\#2198](https://github.com/vector-im/vector-web/pull/2198)
- * Wmwragg/chat multi invite
-   [\#2181](https://github.com/vector-im/vector-web/pull/2181)
- * shuffle bottomleftmenu around a bit
-   [\#2182](https://github.com/vector-im/vector-web/pull/2182)
- * Improve autocomplete behaviour (styling)
-   [\#2175](https://github.com/vector-im/vector-web/pull/2175)
- * First wave of E2E visuals
-   [\#2163](https://github.com/vector-im/vector-web/pull/2163)
- * FilePanel and NotificationPanel support
-   [\#2113](https://github.com/vector-im/vector-web/pull/2113)
- * Cursor: pointer on member info create room button
-   [\#2151](https://github.com/vector-im/vector-web/pull/2151)
- * Support for adding DM rooms to the MemberInfo Panel
-   [\#2147](https://github.com/vector-im/vector-web/pull/2147)
- * Wmwragg/one to one indicators
-   [\#2139](https://github.com/vector-im/vector-web/pull/2139)
- * Added back the Directory listing button, with new tootlip
-   [\#2136](https://github.com/vector-im/vector-web/pull/2136)
- * wmwragg/chat invite dialog fix
-   [\#2134](https://github.com/vector-im/vector-web/pull/2134)
- * Wmwragg/one to one chat
-   [\#2110](https://github.com/vector-im/vector-web/pull/2110)
- * Support toggling DM status of rooms
-   [\#2111](https://github.com/vector-im/vector-web/pull/2111)
- * Formatting toolbar for RTE message composer.
-   [\#2082](https://github.com/vector-im/vector-web/pull/2082)
- * jenkins.sh: install olm from jenkins artifacts
-   [\#2092](https://github.com/vector-im/vector-web/pull/2092)
- * e2e device CSS
-   [\#2085](https://github.com/vector-im/vector-web/pull/2085)
- * Bump to olm 1.1.0
-   [\#2069](https://github.com/vector-im/vector-web/pull/2069)
- * Improve readability of the changelog dialog
-   [\#2056](https://github.com/vector-im/vector-web/pull/2056)
- * Turn react consistency checks back on in develop builds
-   [\#2009](https://github.com/vector-im/vector-web/pull/2009)
- * Wmwragg/direct chat sublist
-   [\#2028](https://github.com/vector-im/vector-web/pull/2028)
-
-Changes in [0.7.5-r3](https://github.com/vector-im/vector-web/releases/tag/v0.7.5-r3) (2016-09-02)
+Changes in [1.11.69](https://github.com/element-hq/element-web/releases/tag/v1.11.69) (2024-06-18)
 ==================================================================================================
-[Full Changelog](https://github.com/vector-im/vector-web/compare/v0.7.5-r2...v0.7.5-r3)
-
- * Bump to matrix-react-sdk 0.6.5-r3 in order to fix bug #2020 (tightloop when flooded with join events)
+## ✨ Features
+
+* Change avatar setting component to use a menu ([#12585](https://github.com/matrix-org/matrix-react-sdk/pull/12585)). Contributed by @dbkr.
+* New user profile UI in User Settings ([#12548](https://github.com/matrix-org/matrix-react-sdk/pull/12548)). Contributed by @dbkr.
+* MSC4108 support OIDC QR code login ([#12370](https://github.com/matrix-org/matrix-react-sdk/pull/12370)). Contributed by @t3chguy.
+
+## 🐛 Bug Fixes
+
+* Fix image upload preview size ([#12612](https://github.com/matrix-org/matrix-react-sdk/pull/12612)). Contributed by @RiotRobot.
+* Fix screen sharing in recent Chrome (https://github.com/matrix-org/matrix-js-sdk/pull/4243).
+* Fix roving tab index crash `compareDocumentPosition` ([#12594](https://github.com/matrix-org/matrix-react-sdk/pull/12594)). Contributed by @t3chguy.
+* Keep dialog glass border on narrow screens ([#12591](https://github.com/matrix-org/matrix-react-sdk/pull/12591)). Contributed by @dbkr.
+* Add missing a11y label to dismiss onboarding button in room list ([#12587](https://github.com/matrix-org/matrix-react-sdk/pull/12587)). Contributed by @t3chguy.
+* Add hover / active state on avatar setting upload button ([#12590](https://github.com/matrix-org/matrix-react-sdk/pull/12590)). Contributed by @dbkr.
+* Fix EditInPlace button styles ([#12589](https://github.com/matrix-org/matrix-react-sdk/pull/12589)). Contributed by @dbkr.
+* Fix incorrect assumptions about required fields in /search response ([#12575](https://github.com/matrix-org/matrix-react-sdk/pull/12575)). Contributed by @t3chguy.
+* Fix display of no avatar in avatar setting controls ([#12558](https://github.com/matrix-org/matrix-react-sdk/pull/12558)). Contributed by @dbkr.
+* Element-R: pass pickleKey in as raw key for indexeddb encryption ([#12543](https://github.com/matrix-org/matrix-react-sdk/pull/12543)). Contributed by @richvdh.
+
 
 
-Changes in [0.7.5-r2](https://github.com/vector-im/vector-web/releases/tag/v0.7.5-r2) (2016-09-01)
+Changes in [1.11.68](https://github.com/element-hq/element-web/releases/tag/v1.11.68) (2024-06-04)
 ==================================================================================================
-[Full Changelog](https://github.com/vector-im/vector-web/compare/v0.7.5-r1...v0.7.5-r2)
+## ✨ Features
+
+* Tooltip: Improve accessibility for  context menus ([#12462](https://github.com/matrix-org/matrix-react-sdk/pull/12462)). Contributed by @florianduros.
+* Tooltip: Improve accessibility of space panel ([#12525](https://github.com/matrix-org/matrix-react-sdk/pull/12525)). Contributed by @florianduros.
+
+## 🐛 Bug Fixes
+
+* Close the release announcement when a dialog is opened ([#12559](https://github.com/matrix-org/matrix-react-sdk/pull/12559)). Contributed by @florianduros.
+* Tooltip: close field tooltip when ESC is pressed ([#12553](https://github.com/matrix-org/matrix-react-sdk/pull/12553)). Contributed by @florianduros.
+* Fix tabbedview breakpoint width ([#12556](https://github.com/matrix-org/matrix-react-sdk/pull/12556)). Contributed by @dbkr.
+* Fix E2E icon display in room header ([#12545](https://github.com/matrix-org/matrix-react-sdk/pull/12545)). Contributed by @florianduros.
+* Tooltip: Improve placement for space settings ([#12541](https://github.com/matrix-org/matrix-react-sdk/pull/12541)). Contributed by @florianduros.
+* Fix deformed avatar in a call in a narrow timeline ([#12538](https://github.com/matrix-org/matrix-react-sdk/pull/12538)). Contributed by @florianduros.
+* Shown own sent state indicator even when showReadReceipts is disabled ([#12540](https://github.com/matrix-org/matrix-react-sdk/pull/12540)). Contributed by @t3chguy.
+* Ensure we do not fire the verification mismatch modal multiple times ([#12526](https://github.com/matrix-org/matrix-react-sdk/pull/12526)). Contributed by @t3chguy.
+* Fix avatar in chat export ([#12537](https://github.com/matrix-org/matrix-react-sdk/pull/12537)). Contributed by @florianduros.
+* Use `*` for italics as it doesn't break when used mid-word ([#12523](https://github.com/matrix-org/matrix-react-sdk/pull/12523)). Contributed by @t3chguy.
 
- * Bump to matrix-react-sdk 0.6.5-r1 in order to fix guest access
 
-Changes in [0.7.5-r1](https://github.com/vector-im/vector-web/releases/tag/v0.7.5-r1) (2016-08-28)
+Changes in [1.11.67](https://github.com/element-hq/element-web/releases/tag/v1.11.67) (2024-05-22)
 ==================================================================================================
-[Full Changelog](https://github.com/vector-im/vector-web/compare/v0.7.5...v0.7.5-r1)
+## ✨ Features
 
- * Correctly pin deps :(
+* Tooltip: Improve the accessibility of the composer and the rich text editor ([#12459](https://github.com/matrix-org/matrix-react-sdk/pull/12459)). Contributed by @florianduros.
+* Allow explicit configuration of OIDC dynamic registration metadata ([#12514](https://github.com/matrix-org/matrix-react-sdk/pull/12514)). Contributed by @t3chguy.
+* Tooltip: improve accessibility for messages ([#12487](https://github.com/matrix-org/matrix-react-sdk/pull/12487)). Contributed by @florianduros.
+* Collapse UserSettings tabs to just icons on narrow screens ([#12505](https://github.com/matrix-org/matrix-react-sdk/pull/12505)). Contributed by @dbkr.
+* Add room topic to right panel room info ([#12503](https://github.com/matrix-org/matrix-react-sdk/pull/12503)). Contributed by @t3chguy.
+* OIDC: pass `id_token` via `id_token_hint` on Manage Account interaction ([#12499](https://github.com/matrix-org/matrix-react-sdk/pull/12499)). Contributed by @t3chguy.
+* Tooltip: improve accessibility in room ([#12493](https://github.com/matrix-org/matrix-react-sdk/pull/12493)). Contributed by @florianduros.
+* Tooltip: improve accessibility for call and voice messages ([#12489](https://github.com/matrix-org/matrix-react-sdk/pull/12489)). Contributed by @florianduros.
+* Move the active tab in user settings to the dialog title ([#12481](https://github.com/matrix-org/matrix-react-sdk/pull/12481)). Contributed by @dbkr.
+* Tooltip: improve accessibility of spaces ([#12497](https://github.com/matrix-org/matrix-react-sdk/pull/12497)). Contributed by @florianduros.
+* Tooltip: improve accessibility of the right panel ([#12490](https://github.com/matrix-org/matrix-react-sdk/pull/12490)). Contributed by @florianduros.
+* MSC3575 (Sliding Sync) add well-known proxy support ([#12307](https://github.com/matrix-org/matrix-react-sdk/pull/12307)). Contributed by @EdGeraghty.
 
-Changes in [0.7.5](https://github.com/vector-im/vector-web/releases/tag/v0.7.5) (2016-08-28)
-============================================================================================
-[Full Changelog](https://github.com/vector-im/vector-web/compare/v0.7.4-r1...v0.7.5)
+## 🐛 Bug Fixes
 
- * re-add leave button in RoomSettings
- * add /user URLs
- * recognise matrix.to links and other vector links
- * fix linkify dependency
- * fix avatar clicking in MemberInfo
- * fix RoomTagContextMenu so it works on historical rooms
- * warn people to put their Matrix HS on a separate domain to Vector
- * fix zalgos again
- * Add .travis.yml
-   [\#2007](https://github.com/vector-im/vector-web/pull/2007)
- * add fancy changelog dialog
-   [\#1972](https://github.com/vector-im/vector-web/pull/1972)
- * Update autocomplete design
-   [\#1978](https://github.com/vector-im/vector-web/pull/1978)
- * Update encryption info in README
-   [\#2001](https://github.com/vector-im/vector-web/pull/2001)
- * Added event/info message avatars back in
-   [\#2000](https://github.com/vector-im/vector-web/pull/2000)
- * Wmwragg/chat message presentation
-   [\#1987](https://github.com/vector-im/vector-web/pull/1987)
- * Make the notification slider work
-   [\#1982](https://github.com/vector-im/vector-web/pull/1982)
- * Use cpx to copy olm.js, and add watcher
-   [\#1966](https://github.com/vector-im/vector-web/pull/1966)
- * Make up a device display name
-   [\#1959](https://github.com/vector-im/vector-web/pull/1959)
+* Reuse single PlaybackWorker between Playback instances ([#12520](https://github.com/matrix-org/matrix-react-sdk/pull/12520)). Contributed by @t3chguy.
+* Fix well-known lookup for sliding sync labs check ([#12519](https://github.com/matrix-org/matrix-react-sdk/pull/12519)). Contributed by @t3chguy.
+* Fix `element-desktop-ssoid being` included in OIDC Authorization call ([#12495](https://github.com/matrix-org/matrix-react-sdk/pull/12495)). Contributed by @t3chguy.
+* Fix beta notifications reconciliation for intentional mentions push rules ([#12510](https://github.com/matrix-org/matrix-react-sdk/pull/12510)). Contributed by @t3chguy.
+* fix avatar stretched on 1:1 call ([#12494](https://github.com/matrix-org/matrix-react-sdk/pull/12494)). Contributed by @I-lander.
+* Check native sliding sync support against an unstable feature flag ([#12498](https://github.com/matrix-org/matrix-react-sdk/pull/12498)). Contributed by @turt2live.
+* Use OPTIONS for sliding sync detection poke ([#12492](https://github.com/matrix-org/matrix-react-sdk/pull/12492)). Contributed by @turt2live.
+* TAC: hide tooltip when the release announcement is displayed ([#12472](https://github.com/matrix-org/matrix-react-sdk/pull/12472)). Contributed by @florianduros.
 
-Changes in [0.7.4-r1](https://github.com/vector-im/vector-web/releases/tag/v0.7.4-r1) (2016-08-12)
+
+
+Changes in [1.11.66](https://github.com/element-hq/element-web/releases/tag/v1.11.66) (2024-05-07)
 ==================================================================================================
-[Full Changelog](https://github.com/vector-im/vector-web/compare/v0.7.4...v0.7.4-r1)
- * Update to matrix-react-sdk 0.6.4-r1 to fix inviting multiple people
+## ✨ Features
+
+* Use a different error message for UTDs when you weren't in the room. ([#12453](https://github.com/matrix-org/matrix-react-sdk/pull/12453)). Contributed by @uhoreg.
+* Take the Threads Activity Centre out of labs ([#12439](https://github.com/matrix-org/matrix-react-sdk/pull/12439)). Contributed by @dbkr.
+* Expected UTDs: use a different message for UTDs sent before login ([#12391](https://github.com/matrix-org/matrix-react-sdk/pull/12391)). Contributed by @richvdh.
+* Add `Tooltip` to `AccessibleButton` ([#12443](https://github.com/matrix-org/matrix-react-sdk/pull/12443)). Contributed by @florianduros.
+* Add analytics to activity toggles ([#12418](https://github.com/matrix-org/matrix-react-sdk/pull/12418)). Contributed by @dbkr.
+* Decrypt events in reverse order without copying the array ([#12445](https://github.com/matrix-org/matrix-react-sdk/pull/12445)). Contributed by @Johennes.
+* Use new compound tooltip ([#12416](https://github.com/matrix-org/matrix-react-sdk/pull/12416)). Contributed by @florianduros.
+* Expected UTDs: report a different Posthog code ([#12389](https://github.com/matrix-org/matrix-react-sdk/pull/12389)). Contributed by @richvdh.
+
+## 🐛 Bug Fixes
+
+* TAC: Fix accessibility issue when the Release announcement is displayed ([#12484](https://github.com/matrix-org/matrix-react-sdk/pull/12484)). Contributed by @RiotRobot.
+* TAC: Close Release Announcement when TAC button is clicked ([#12485](https://github.com/matrix-org/matrix-react-sdk/pull/12485)). Contributed by @florianduros.
+* MenuItem: fix caption usage ([#12455](https://github.com/matrix-org/matrix-react-sdk/pull/12455)). Contributed by @florianduros.
+* Show the local echo in previews ([#12451](https://github.com/matrix-org/matrix-react-sdk/pull/12451)). Contributed by @langleyd.
+* Fixed the drag and drop of X #27186 ([#12450](https://github.com/matrix-org/matrix-react-sdk/pull/12450)). Contributed by @asimdelvi.
+* Move the TAC to above the button ([#12438](https://github.com/matrix-org/matrix-react-sdk/pull/12438)). Contributed by @dbkr.
+* Use the same logic in previews as the timeline to hide events that should be hidden ([#12434](https://github.com/matrix-org/matrix-react-sdk/pull/12434)). Contributed by @langleyd.
+* Fix selector so maths support doesn't mangle divs ([#12433](https://github.com/matrix-org/matrix-react-sdk/pull/12433)). Contributed by @uhoreg.
 
 
-Changes in [0.7.4](https://github.com/vector-im/vector-web/releases/tag/v0.7.4) (2016-08-11)
-============================================================================================
-[Full Changelog](https://github.com/vector-im/vector-web/compare/v0.7.3...v0.7.4)
 
- * Don't show border on composer when not in RTE mode
-   [\#1954](https://github.com/vector-im/vector-web/pull/1954)
- * Wmwragg/room tag menu
-   [\#1941](https://github.com/vector-im/vector-web/pull/1941)
- * Don't redirect to mobile app if verifying 3pid
-   [\#1951](https://github.com/vector-im/vector-web/pull/1951)
- * Make sure that we clear localstorage before *all* tests
-   [\#1950](https://github.com/vector-im/vector-web/pull/1950)
- * Basic CSS for multi-invite dialog
-   [\#1942](https://github.com/vector-im/vector-web/pull/1942)
- * More tests for the loading process:
-   [\#1947](https://github.com/vector-im/vector-web/pull/1947)
- * Support for refactored login token handling
-   [\#1946](https://github.com/vector-im/vector-web/pull/1946)
- * Various fixes and improvements to emojification.
-   [\#1935](https://github.com/vector-im/vector-web/pull/1935)
- * More app-loading tests
-   [\#1938](https://github.com/vector-im/vector-web/pull/1938)
- * Some tests of the application load process
-   [\#1936](https://github.com/vector-im/vector-web/pull/1936)
- * Add 'enable labs' setting to sample config
-   [\#1930](https://github.com/vector-im/vector-web/pull/1930)
- * Matthew/scalar
-   [\#1928](https://github.com/vector-im/vector-web/pull/1928)
- * Fix unit tests
-   [\#1929](https://github.com/vector-im/vector-web/pull/1929)
- * Wmwragg/mute mention state fix
-   [\#1926](https://github.com/vector-im/vector-web/pull/1926)
- * CSS for deactivate account dialog
-   [\#1919](https://github.com/vector-im/vector-web/pull/1919)
- * Wmwragg/mention state menu
-   [\#1900](https://github.com/vector-im/vector-web/pull/1900)
- * Fix UnknownBody styling for #1901
-   [\#1913](https://github.com/vector-im/vector-web/pull/1913)
- * Exclude olm from the webpack
-   [\#1914](https://github.com/vector-im/vector-web/pull/1914)
- * Wmwragg/button updates
-   [\#1912](https://github.com/vector-im/vector-web/pull/1912)
- * Wmwragg/button updates
-   [\#1828](https://github.com/vector-im/vector-web/pull/1828)
- * CSS for device management UI
-   [\#1909](https://github.com/vector-im/vector-web/pull/1909)
- * Fix a warning from RoomSubList
-   [\#1908](https://github.com/vector-im/vector-web/pull/1908)
- * Fix notifications warning layout
-   [\#1907](https://github.com/vector-im/vector-web/pull/1907)
- * Remove relayoutOnUpdate prop on gemini-scrollbar
-   [\#1883](https://github.com/vector-im/vector-web/pull/1883)
- * Bump dependency versions
-   [\#1842](https://github.com/vector-im/vector-web/pull/1842)
- * Wmwragg/mention state indicator round 2
-   [\#1835](https://github.com/vector-im/vector-web/pull/1835)
- * Wmwragg/spinner fix
-   [\#1822](https://github.com/vector-im/vector-web/pull/1822)
- * Wmwragg/mention state indicator
-   [\#1823](https://github.com/vector-im/vector-web/pull/1823)
- * Revert "Presentation for inline link"
-   [\#1809](https://github.com/vector-im/vector-web/pull/1809)
- * Wmwragg/modal restyle
-   [\#1806](https://github.com/vector-im/vector-web/pull/1806)
- * Presentation for inline link
-   [\#1799](https://github.com/vector-im/vector-web/pull/1799)
- * CSS for offline user colours
-   [\#1798](https://github.com/vector-im/vector-web/pull/1798)
- * Wmwragg/typography updates
-   [\#1776](https://github.com/vector-im/vector-web/pull/1776)
- * webpack: always use the olm from vector-web
-   [\#1766](https://github.com/vector-im/vector-web/pull/1766)
- * feat: large emoji support
-   [\#1718](https://github.com/vector-im/vector-web/pull/1718)
- * Autocomplete
-   [\#1717](https://github.com/vector-im/vector-web/pull/1717)
- * #1664 Set a maximum height for codeblocks
-   [\#1670](https://github.com/vector-im/vector-web/pull/1670)
- * CSS for device blocking
-   [\#1688](https://github.com/vector-im/vector-web/pull/1688)
- * Fix joining rooms by typing the alias
-   [\#1685](https://github.com/vector-im/vector-web/pull/1685)
- * Add ability to delete an alias from room directory
-   [\#1680](https://github.com/vector-im/vector-web/pull/1680)
- * package.json: add olm as optionalDependency
-   [\#1678](https://github.com/vector-im/vector-web/pull/1678)
- * Another go at enabling olm on vector.im/develop
-   [\#1675](https://github.com/vector-im/vector-web/pull/1675)
- * CSS for unverify button
-   [\#1661](https://github.com/vector-im/vector-web/pull/1661)
- * CSS fix for rooms with crypto enabled
-   [\#1660](https://github.com/vector-im/vector-web/pull/1660)
- * Karma: fix warning by ignoring olm
-   [\#1652](https://github.com/vector-im/vector-web/pull/1652)
- * Update for react-sdk dbkr/fix_peeking branch
-   [\#1639](https://github.com/vector-im/vector-web/pull/1639)
- * Update README.md
-   [\#1641](https://github.com/vector-im/vector-web/pull/1641)
- * Fix karma tests
-   [\#1643](https://github.com/vector-im/vector-web/pull/1643)
- * Rich Text Editor
-   [\#1553](https://github.com/vector-im/vector-web/pull/1553)
- * Fix RoomDirectory to join by alias whenever possible.
-   [\#1615](https://github.com/vector-im/vector-web/pull/1615)
- * Make the config optional
-   [\#1612](https://github.com/vector-im/vector-web/pull/1612)
- * CSS support for device verification
-   [\#1610](https://github.com/vector-im/vector-web/pull/1610)
- * Don't use SdkConfig
-   [\#1609](https://github.com/vector-im/vector-web/pull/1609)
- * serve config.json statically instead of bundling it
-   [\#1516](https://github.com/vector-im/vector-web/pull/1516)
+Changes in [1.11.65](https://github.com/element-hq/element-web/releases/tag/v1.11.65) (2024-04-23)
+==================================================================================================
+## ✨ Features
 
-Changes in [0.7.3](https://github.com/vector-im/vector-web/releases/tag/v0.7.3) (2016-06-03)
-============================================================================================
-[Full Changelog](https://github.com/vector-im/vector-web/compare/v0.7.2...v0.7.3)
+* Make empty state copy for TAC depend on the value of the setting ([#12419](https://github.com/matrix-org/matrix-react-sdk/pull/12419)). Contributed by @dbkr.
+* Linkify User Interactive Authentication errors ([#12271](https://github.com/matrix-org/matrix-react-sdk/pull/12271)). Contributed by @t3chguy.
+* Add support for device dehydration v2 ([#12316](https://github.com/matrix-org/matrix-react-sdk/pull/12316)). Contributed by @uhoreg.
+* Replace `SecurityCustomisations` with `CryptoSetupExtension` ([#12342](https://github.com/matrix-org/matrix-react-sdk/pull/12342)). Contributed by @thoraj.
+* Add activity toggle for TAC ([#12413](https://github.com/matrix-org/matrix-react-sdk/pull/12413)). Contributed by @dbkr.
+* Humanize spell check language labels ([#12409](https://github.com/matrix-org/matrix-react-sdk/pull/12409)). Contributed by @t3chguy.
+* Call Guest Access, give user the option to change the acces level so they can generate a call link. ([#12401](https://github.com/matrix-org/matrix-react-sdk/pull/12401)). Contributed by @toger5.
+* TAC: Release Announcement ([#12380](https://github.com/matrix-org/matrix-react-sdk/pull/12380)). Contributed by @florianduros.
+* Show the call and share button if the user can create a guest link. ([#12385](https://github.com/matrix-org/matrix-react-sdk/pull/12385)). Contributed by @toger5.
+* Add analytics for mark all threads unread ([#12384](https://github.com/matrix-org/matrix-react-sdk/pull/12384)). Contributed by @dbkr.
+* Add `EventType.RoomEncryption` to the auto approve capabilities of Element Call widgets ([#12386](https://github.com/matrix-org/matrix-react-sdk/pull/12386)). Contributed by @toger5.
 
-* Update to react-sdk 0.6.3
+## 🐛 Bug Fixes
 
-Changes in [0.7.2](https://github.com/vector-im/vector-web/releases/tag/v0.7.2) (2016-06-02)
-============================================================================================
-[Full Changelog](https://github.com/vector-im/vector-web/compare/v0.7.1...v0.7.2)
+* Fix link modal not shown after access upgrade ([#12411](https://github.com/matrix-org/matrix-react-sdk/pull/12411)). Contributed by @toger5.
+* Fix thread navigation in timeline ([#12412](https://github.com/matrix-org/matrix-react-sdk/pull/12412)). Contributed by @florianduros.
+* Fix inability to join a `knock` room via space hierarchy view ([#12404](https://github.com/matrix-org/matrix-react-sdk/pull/12404)). Contributed by @t3chguy.
+* Focus the thread panel when clicking on an item in the TAC ([#12410](https://github.com/matrix-org/matrix-react-sdk/pull/12410)). Contributed by @dbkr.
+* Fix space hierarchy tile busy state being stuck after join error ([#12405](https://github.com/matrix-org/matrix-react-sdk/pull/12405)). Contributed by @t3chguy.
+* Fix room topic in-app links not being handled correctly on topic dialog ([#12406](https://github.com/matrix-org/matrix-react-sdk/pull/12406)). Contributed by @t3chguy.
 
- * Correctly bump the dep on new matrix-js-sdk and matrix-react-sdk
 
-Changes in [0.7.1](https://github.com/vector-im/vector-web/releases/tag/v0.7.1) (2016-06-02)
-============================================================================================
-[Full Changelog](https://github.com/vector-im/vector-web/compare/v0.7.0...v0.7.1)
 
- * Fix accidentally committed local changes to the default config.json (doh!)
+Changes in [1.11.64](https://github.com/element-hq/element-web/releases/tag/v1.11.64) (2024-04-09)
+==================================================================================================
+## ✨ Features
 
-Changes in [0.7.0](https://github.com/vector-im/vector-web/releases/tag/v0.7.0) (2016-06-02)
-============================================================================================
-[Full Changelog](https://github.com/vector-im/vector-web/compare/v0.6.1...v0.7.0)
+* Mark all threads as read button ([#12378](https://github.com/matrix-org/matrix-react-sdk/pull/12378)). Contributed by @dbkr.
+* Video call meta space ([#12297](https://github.com/matrix-org/matrix-react-sdk/pull/12297)). Contributed by @toger5.
+* Add leave room warning for last admin ([#9452](https://github.com/matrix-org/matrix-react-sdk/pull/9452)). Contributed by @Arnei.
+* Iterate styles around Link new device via QR ([#12356](https://github.com/matrix-org/matrix-react-sdk/pull/12356)). Contributed by @t3chguy.
+* Improve code-splitting of highlight.js and maplibre-gs libs ([#12349](https://github.com/matrix-org/matrix-react-sdk/pull/12349)). Contributed by @t3chguy.
+* Use data-mx-color for rainbows ([#12325](https://github.com/matrix-org/matrix-react-sdk/pull/12325)). Contributed by @tulir.
 
- * Update to matrix-react-sdk 0.6.0 - see
-   [changelog](https://github.com/matrix-org/matrix-react-sdk/blob/v0.6.0/CHANGELOG.md)
- * Style selection color.
-   [\#1557](https://github.com/vector-im/vector-web/pull/1557)
- * Fix NPE when loading the Settings page which infini-spinnered
-   [\#1518](https://github.com/vector-im/vector-web/pull/1518)
- * Add option to enable email notifications
-   [\#1469](https://github.com/vector-im/vector-web/pull/1469)
+## 🐛 Bug Fixes
 
-Changes in [0.6.1](https://github.com/vector-im/vector-web/releases/tag/v0.6.1) (2016-04-22)
-============================================================================================
-[Full Changelog](https://github.com/vector-im/vector-web/compare/v0.6.0...v0.6.1)
+* Fix external guest access url for unencrypted rooms ([#12345](https://github.com/matrix-org/matrix-react-sdk/pull/12345)). Contributed by @toger5.
+* Fix video rooms not showing share link button ([#12374](https://github.com/matrix-org/matrix-react-sdk/pull/12374)). Contributed by @toger5.
+* Fix space topic jumping on hover/focus ([#12377](https://github.com/matrix-org/matrix-react-sdk/pull/12377)). Contributed by @t3chguy.
+* Allow popping out a Jitsi widget to respect Desktop `web_base_url` config ([#12376](https://github.com/matrix-org/matrix-react-sdk/pull/12376)). Contributed by @t3chguy.
+* Remove the Lazy Loading `InvalidStoreError` Dialogs ([#12358](https://github.com/matrix-org/matrix-react-sdk/pull/12358)). Contributed by @langleyd.
+* Improve readability of badges and pills ([#12360](https://github.com/matrix-org/matrix-react-sdk/pull/12360)). Contributed by @robintown.
 
- * Update to matrix-react-sdk 0.5.2 - see
-   [changelog](https://github.com/matrix-org/matrix-react-sdk/blob/v0.5.2/CHANGELOG.md)
- * Don't relayout scrollpanels every time something changes
-   [\#1438](https://github.com/vector-im/vector-web/pull/1438)
- * Include react-addons-perf for non-production builds
-   [\#1431](https://github.com/vector-im/vector-web/pull/1431)
 
-Changes in [0.6.0](https://github.com/vector-im/vector-web/releases/tag/v0.6.0) (2016-04-19)
-============================================================================================
-[Full Changelog](https://github.com/vector-im/vector-web/compare/v0.5.0...v0.6.0)
 
- * Matthew/design tweaks
-   [\#1402](https://github.com/vector-im/vector-web/pull/1402)
- * Improve handling of notification rules we can't parse
-   [\#1399](https://github.com/vector-im/vector-web/pull/1399)
- * Do less mangling of jenkins builds
-   [\#1391](https://github.com/vector-im/vector-web/pull/1391)
- * Start Notifications component refactor
-   [\#1386](https://github.com/vector-im/vector-web/pull/1386)
- * make the UI fadable to help with decluttering
-   [\#1376](https://github.com/vector-im/vector-web/pull/1376)
- * Get and display a user's pushers in settings
-   [\#1374](https://github.com/vector-im/vector-web/pull/1374)
- * URL previewing support
-   [\#1343](https://github.com/vector-im/vector-web/pull/1343)
- * 😄 Emoji autocomplete and unicode emoji to image conversion using emojione.
-   [\#1332](https://github.com/vector-im/vector-web/pull/1332)
- * Show full-size avatar on MemberInfo avatar click
-   [\#1340](https://github.com/vector-im/vector-web/pull/1340)
- * Numerous other changes via [matrix-react-sdk 0.5.1](https://github.com/matrix-org/matrix-react-sdk/blob/v0.5.1/CHANGELOG.md)
+Changes in [1.11.63](https://github.com/element-hq/element-web/releases/tag/v1.11.63) (2024-03-28)
+==================================================================================================
+This is a hotfix release to fix a couple of issues: one where the client would sometimes call the client/server API to set a push rule in a loop, and one where authentication was not sent for widgets when it should have been.
+
+## 🐛 Bug Fixes
+
+* Revert "Make EC widget theme reactive - Update widget url when the theme changes" ([#12383](https://github.com/matrix-org/matrix-react-sdk/pull/12383)) in order to fix widgets that require authentication.
+* Update to hotfixed js-sdk to fix an issue where Element could try to set a push rule in a loop.
+
 
-Changes in [0.5.0](https://github.com/vector-im/vector-web/releases/tag/v0.5.0) (2016-03-30)
-============================================================================================
-[Full Changelog](https://github.com/vector-im/vector-web/compare/v0.4.1...v0.5.0)
 
- * Prettier, animated placeholder :D
-   [\#1292](https://github.com/vector-im/vector-web/pull/1292)
-   (Disabled for now due to high CPU usage)
- * RoomDirectory: use SimpleRoomHeader instead of RoomHeader
-   [\#1307](https://github.com/vector-im/vector-web/pull/1307)
- * Tell webpack not to parse the highlight.js languages
-   [\#1277](https://github.com/vector-im/vector-web/pull/1277)
- * CSS for https://github.com/matrix-org/matrix-react-sdk/pull/247
-   [\#1249](https://github.com/vector-im/vector-web/pull/1249)
- * URI-decode the hash-fragment
-   [\#1254](https://github.com/vector-im/vector-web/pull/1254)
+Changes in [1.11.62](https://github.com/element-hq/element-web/releases/tag/v1.11.62) (2024-03-26)
+==================================================================================================
+## ✨ Features
+
+* Change user permission by using a new apply button ([#12346](https://github.com/matrix-org/matrix-react-sdk/pull/12346)). Contributed by @florianduros.
+* Mark as Unread ([#12254](https://github.com/matrix-org/matrix-react-sdk/pull/12254)). Contributed by @dbkr.
+* Refine the colors of some more components ([#12343](https://github.com/matrix-org/matrix-react-sdk/pull/12343)). Contributed by @robintown.
+* TAC: Order rooms by most recent after notification level ([#12329](https://github.com/matrix-org/matrix-react-sdk/pull/12329)). Contributed by @florianduros.
+* Make EC widget theme reactive - Update widget url when the theme changes ([#12295](https://github.com/matrix-org/matrix-react-sdk/pull/12295)). Contributed by @toger5.
+* Refine styles of menus, toasts, popovers, and modals ([#12332](https://github.com/matrix-org/matrix-react-sdk/pull/12332)). Contributed by @robintown.
+* Element Call: fix widget shown while its still loading (`waitForIframeLoad=false`) ([#12292](https://github.com/matrix-org/matrix-react-sdk/pull/12292)). Contributed by @toger5.
+* Improve Forward Dialog a11y by switching to roving tab index interactions ([#12306](https://github.com/matrix-org/matrix-react-sdk/pull/12306)). Contributed by @t3chguy.
+* Call guest access link creation to join calls as a non registered user via the EC SPA ([#12259](https://github.com/matrix-org/matrix-react-sdk/pull/12259)). Contributed by @toger5.
+* Use `strong` element to semantically denote visually emphasised content ([#12320](https://github.com/matrix-org/matrix-react-sdk/pull/12320)). Contributed by @t3chguy.
+* Handle up/down arrow keys as well as left/right for horizontal toolbars for improved a11y ([#12305](https://github.com/matrix-org/matrix-react-sdk/pull/12305)). Contributed by @t3chguy.
+
+## 🐛 Bug Fixes
+
+* [Backport staging] Remove the glass border from modal spinners ([#12369](https://github.com/matrix-org/matrix-react-sdk/pull/12369)). Contributed by @RiotRobot.
+* Fix incorrect check for private read receipt support ([#12348](https://github.com/matrix-org/matrix-react-sdk/pull/12348)). Contributed by @tulir.
+* TAC: Fix hover state when expanded ([#12337](https://github.com/matrix-org/matrix-react-sdk/pull/12337)). Contributed by @florianduros.
+* Fix the image view ([#12341](https://github.com/matrix-org/matrix-react-sdk/pull/12341)). Contributed by @robintown.
+* Use correct push rule to evaluate room-wide mentions ([#12318](https://github.com/matrix-org/matrix-react-sdk/pull/12318)). Contributed by @t3chguy.
+* Reset power selector on API failure to prevent state mismatch ([#12319](https://github.com/matrix-org/matrix-react-sdk/pull/12319)). Contributed by @t3chguy.
+* Fix spotlight opening in TAC ([#12315](https://github.com/matrix-org/matrix-react-sdk/pull/12315)). Contributed by @florianduros.
+
 
-Changes in [0.4.1](https://github.com/vector-im/vector-web/releases/tag/v0.4.1) (2016-03-23)
-============================================================================================
-[Full Changelog](https://github.com/vector-im/vector-web/compare/v0.4.0...v0.4.1)
- * Update to matrix-react-sdk 0.3.1; see
-   https://github.com/matrix-org/matrix-react-sdk/blob/v0.3.1/CHANGELOG.md
-   (Disables debug logging)
 
-Changes in [0.4.0](https://github.com/vector-im/vector-web/releases/tag/v0.4.0) (2016-03-23)
-============================================================================================
-[Full Changelog](https://github.com/vector-im/vector-web/compare/v0.3.0...v0.4.0)
+Changes in [1.11.61](https://github.com/element-hq/element-web/releases/tag/v1.11.61) (2024-03-14)
+==================================================================================================
+* No changes
 
- * Update to matrix-react-sdk 0.3.0; see
-   https://github.com/matrix-org/matrix-react-sdk/blob/master/CHANGELOG.md
+## 🐛 Bug Fixes
 
-Other changes
- * permalink button
-   [\#1232](https://github.com/vector-im/vector-web/pull/1232)
- * make senderprofiles clickable
-   [\#1191](https://github.com/vector-im/vector-web/pull/1191)
- * fix notif spam when logging in from a guest session by correctly logging out
-   first.
-   [\#1180](https://github.com/vector-im/vector-web/pull/1180)
- * use new start_login_from_guest dispatch for cancellable logins from guest
-   accounts
-   [\#1165](https://github.com/vector-im/vector-web/pull/1165)
- * Use then() chaining rather than manual callbacks
-   [\#1171](https://github.com/vector-im/vector-web/pull/1171)
- * Remove trailing whitespace
-   [\#1163](https://github.com/vector-im/vector-web/pull/1163)
- * Update the actions of default rules instead of overriding.
-   [\#1037](https://github.com/vector-im/vector-web/pull/1037)
- * Update README to include `npm install` in react-sdk
-   [\#1137](https://github.com/vector-im/vector-web/pull/1137)
+* Update `@vector-im/compound-design-tokens` in package.json ([#12340](https://github.com/matrix-org/matrix-react-sdk/pull/12340)).
 
-Changes in vector v0.3.0 (2016-03-11)
-======================================
- * Lots of new bug fixes and updates
 
-Changes in vector v0.2.0 (2016-02-24)
-======================================
- * Refactor of matrix-react-sdk and vector to remove separation between views and
-   controllers
- * Temporarily break the layering abstraction between vector and matrix-react-sdk
-   for expedience in developing vector.
- * Vast numbers of new features, including read receipts, read-up-to markers,
-   updated look and feel, search, new room and user settings, and email invites.
 
-Changes in vector v0.1.2 (2015-10-28)
-======================================
- * Support Room Avatars
- * Fullscreen video calls
- * Mute mic in VoIP calls
- * Fix bug with multiple desktop notifications
- * Context menu on messages
- * Better hover-over on member list
- * Support CAS auth
- * Many other bug fixes
+Changes in [1.11.60](https://github.com/element-hq/element-web/releases/tag/v1.11.60) (2024-03-12)
+==================================================================================================
+## ✨ Features
 
-Changes in vector v0.1.1 (2015-08-10)
-======================================
+* Refine styles of controls to match Compound ([#12299](https://github.com/matrix-org/matrix-react-sdk/pull/12299)). Contributed by @robintown.
+* Hide the archived section ([#12286](https://github.com/matrix-org/matrix-react-sdk/pull/12286)). Contributed by @dbkr.
+* Add theme data to EC widget Url ([#12279](https://github.com/matrix-org/matrix-react-sdk/pull/12279)). Contributed by @toger5.
+* Update MSC2965 OIDC Discovery implementation ([#12245](https://github.com/matrix-org/matrix-react-sdk/pull/12245)). Contributed by @t3chguy.
+* Use green dot for activity notification in `LegacyRoomHeader` ([#12270](https://github.com/matrix-org/matrix-react-sdk/pull/12270)). Contributed by @florianduros.
 
- * Support logging in with an email address
- * Use the Vector identity server
- * Fix a bug where the client was not stopped properly on logout
- * Fix bugs where field values would be forgotten if login or registration failed
- * Improve URL bar navigation
- * Add explanatory help text on advanced server options
- * Fix a bug which caused execptions on malformed VoIP invitations
- * Remove superfluous scrollbars on Firefox
- * Numerous CSS fixes
- * Improved accessibility
- * Support command-click / middle click to open image in a new tab
- * Improved room directory
- * Fix display of text with many combining unicode points
+## 🐛 Bug Fixes
 
-Changes in vector v0.1.0 (2015-08-10)
-======================================
-Initial release
+* Fix requests for senders to submit auto-rageshakes ([#12304](https://github.com/matrix-org/matrix-react-sdk/pull/12304)). Contributed by @richvdh.
+* fix automatic DM avatar with functional members ([#12157](https://github.com/matrix-org/matrix-react-sdk/pull/12157)). Contributed by @HarHarLinks.
+* Feeds event with relation to unknown to the widget ([#12283](https://github.com/matrix-org/matrix-react-sdk/pull/12283)). Contributed by @maheichyk.
+* Fix TAC opening with keyboard ([#12285](https://github.com/matrix-org/matrix-react-sdk/pull/12285)). Contributed by @florianduros.
+* Allow screenshot update docker to run multiple test files ([#12291](https://github.com/matrix-org/matrix-react-sdk/pull/12291)). Contributed by @dbkr.
+* Fix alignment of user menu avatar ([#12289](https://github.com/matrix-org/matrix-react-sdk/pull/12289)). Contributed by @dbkr.
+* Fix buttons of widget in a room ([#12288](https://github.com/matrix-org/matrix-react-sdk/pull/12288)). Contributed by @florianduros.
+* ModuleAPI: `overwrite_login` action was not stopping the existing client resulting in the action failing with rust-sdk ([#12272](https://github.com/matrix-org/matrix-react-sdk/pull/12272)). Contributed by @BillCarsonFr.
+
+
+
+Changes in [1.11.59](https://github.com/element-hq/element-web/releases/tag/v1.11.59) (2024-02-27)
+==================================================================================================
+## 🦖 Deprecations
+
+* Enable custom themes to theme Compound ([#12240](https://github.com/matrix-org/matrix-react-sdk/pull/12240)). Contributed by @robintown.
+* Remove welcome bot `welcome_user_id` support ([#12153](https://github.com/matrix-org/matrix-react-sdk/pull/12153)). Contributed by @t3chguy.
+
+## ✨ Features
+
+* Ignore activity in TAC ([#12269](https://github.com/matrix-org/matrix-react-sdk/pull/12269)). Contributed by @florianduros.
+* Use browser's font size instead of hardcoded `16px` as root font size ([#12246](https://github.com/matrix-org/matrix-react-sdk/pull/12246)). Contributed by @florianduros.
+* Revert "Use Compound primary colors for most actions" ([#12264](https://github.com/matrix-org/matrix-react-sdk/pull/12264)). Contributed by @florianduros.
+* Revert "Refine menu, toast, and popover colors" ([#12263](https://github.com/matrix-org/matrix-react-sdk/pull/12263)). Contributed by @florianduros.
+* Fix Native OIDC for Element Desktop ([#12253](https://github.com/matrix-org/matrix-react-sdk/pull/12253)). Contributed by @t3chguy.
+* Improve client metadata used for OIDC dynamic registration ([#12257](https://github.com/matrix-org/matrix-react-sdk/pull/12257)). Contributed by @t3chguy.
+* Refine menu, toast, and popover colors ([#12247](https://github.com/matrix-org/matrix-react-sdk/pull/12247)). Contributed by @robintown.
+* Call the AsJson forms of import and exportRoomKeys ([#12233](https://github.com/matrix-org/matrix-react-sdk/pull/12233)). Contributed by @andybalaam.
+* Use Compound primary colors for most actions ([#12241](https://github.com/matrix-org/matrix-react-sdk/pull/12241)). Contributed by @robintown.
+* Enable redirected media by default ([#12142](https://github.com/matrix-org/matrix-react-sdk/pull/12142)). Contributed by @turt2live.
+* Reduce TAC width by `16px` ([#12239](https://github.com/matrix-org/matrix-react-sdk/pull/12239)). Contributed by @florianduros.
+* Pop out of Threads Activity Centre ([#12136](https://github.com/matrix-org/matrix-react-sdk/pull/12136)). Contributed by @florianduros.
+* Use new semantic tokens for username colors ([#12209](https://github.com/matrix-org/matrix-react-sdk/pull/12209)). Contributed by @robintown.
+
+## 🐛 Bug Fixes
+
+* [Backport staging] Fix spurious session corruption error ([#12287](https://github.com/matrix-org/matrix-react-sdk/pull/12287)). Contributed by @RiotRobot.
+* Fix the space panel getting bigger when gaining a scroll bar ([#12267](https://github.com/matrix-org/matrix-react-sdk/pull/12267)). Contributed by @dbkr.
+* Fix gradients spacings on the space panel ([#12262](https://github.com/matrix-org/matrix-react-sdk/pull/12262)). Contributed by @dbkr.
+* Remove hardcoded `Element` in tac labs description ([#12266](https://github.com/matrix-org/matrix-react-sdk/pull/12266)). Contributed by @florianduros.
+* Fix branding in "migrating crypto" message ([#12265](https://github.com/matrix-org/matrix-react-sdk/pull/12265)). Contributed by @richvdh.
+* Use h1 as first heading in dialogs ([#12250](https://github.com/matrix-org/matrix-react-sdk/pull/12250)). Contributed by @dbkr.
+* Fix forced lowercase username in login/registration flows ([#9329](https://github.com/matrix-org/matrix-react-sdk/pull/9329)). Contributed by @vrifox.
+* Update the TAC indicator on event decryption ([#12243](https://github.com/matrix-org/matrix-react-sdk/pull/12243)). Contributed by @dbkr.
+* Fix OIDC delegated auth account url check ([#12242](https://github.com/matrix-org/matrix-react-sdk/pull/12242)). Contributed by @t3chguy.
+* New Header edgecase fixes: Close lobby button not shown, disable join button in various places, more... ([#12235](https://github.com/matrix-org/matrix-react-sdk/pull/12235)). Contributed by @toger5.
+* Fix TAC button alignment when expanded ([#12238](https://github.com/matrix-org/matrix-react-sdk/pull/12238)). Contributed by @florianduros.
+* Fix tooltip behaviour in TAC ([#12236](https://github.com/matrix-org/matrix-react-sdk/pull/12236)). Contributed by @florianduros.
+
+
+
+Changes in [1.11.58](https://github.com/element-hq/element-web/releases/tag/v1.11.58) (2024-02-13)
+==================================================================================================
+## ✨ Features
+
+ * 🦀  🔒 **The flag to enable the Rust crypto implementation is now set to `true` by default. This means that without any additional configuration every new login will use the new cryptography implementation.**
+* Add Element call related functionality to new room header ([#12091](https://github.com/matrix-org/matrix-react-sdk/pull/12091)). Contributed by @toger5.
+* Add labs flag for Threads Activity Centre ([#12137](https://github.com/matrix-org/matrix-react-sdk/pull/12137)). Contributed by @florianduros.
+* Refactor element call lobby + skip lobby ([#12057](https://github.com/matrix-org/matrix-react-sdk/pull/12057)). Contributed by @toger5.
+* Hide the "Message" button in the sidebar if the CreateRooms components should not be shown ([#9271](https://github.com/matrix-org/matrix-react-sdk/pull/9271)). Contributed by @dhenneke.
+* Add notification dots to thread summary icons ([#12146](https://github.com/matrix-org/matrix-react-sdk/pull/12146)). Contributed by @dbkr.
+
+## 🐛 Bug Fixes
+
+* [Backport staging] Fix the StorageManger detecting a false positive consistency check when manually migrating to rust from labs ([#12230](https://github.com/matrix-org/matrix-react-sdk/pull/12230)). Contributed by @RiotRobot.
+* Fix logout can take ages ([#12191](https://github.com/matrix-org/matrix-react-sdk/pull/12191)). Contributed by @BillCarsonFr.
+* Fix `Mark all as read` in settings ([#12205](https://github.com/matrix-org/matrix-react-sdk/pull/12205)). Contributed by @florianduros.
+* Fix default thread notification of the new RoomHeader ([#12194](https://github.com/matrix-org/matrix-react-sdk/pull/12194)). Contributed by @florianduros.
+* Fix display of room notification debug info ([#12183](https://github.com/matrix-org/matrix-react-sdk/pull/12183)). Contributed by @dbkr.
+
+
+
+Changes in [1.11.57](https://github.com/element-hq/element-web/releases/tag/v1.11.57) (2024-01-31)
+==================================================================================================
+## 🦖 Deprecations
+
+* Deprecate welcome bot `welcome_user_id` support ([#26885](https://github.com/element-hq/element-web/pull/26885)). Contributed by @t3chguy.
+
+## ✨ Features
+
+* Expose apps/widgets ([#12071](https://github.com/matrix-org/matrix-react-sdk/pull/12071)). Contributed by @charlynguyen.
+* Enable the rust-crypto labs button ([#12114](https://github.com/matrix-org/matrix-react-sdk/pull/12114)). Contributed by @richvdh.
+* Show a progress bar while migrating from legacy crypto ([#12104](https://github.com/matrix-org/matrix-react-sdk/pull/12104)). Contributed by @richvdh.
+* Update Twemoji to Jdecked v15.0.3 ([#12147](https://github.com/matrix-org/matrix-react-sdk/pull/12147)). Contributed by @t3chguy.
+* Change Quick Settings icon ([#12141](https://github.com/matrix-org/matrix-react-sdk/pull/12141)). Contributed by @florianduros.
+* Use Compound tooltips more widely ([#12128](https://github.com/matrix-org/matrix-react-sdk/pull/12128)). Contributed by @t3chguy.
+
+## 🐛 Bug Fixes
+
+* Fix OIDC bugs due to amnesiac stores forgetting OIDC issuer \& other data ([#12166](https://github.com/matrix-org/matrix-react-sdk/pull/12166)). Contributed by @t3chguy.
+* Fix account management link for delegated auth OIDC setups ([#12144](https://github.com/matrix-org/matrix-react-sdk/pull/12144)). Contributed by @t3chguy.
+* Fix Safari IME support ([#11016](https://github.com/matrix-org/matrix-react-sdk/pull/11016)). Contributed by @SuperKenVery.
+* Fix Stickerpicker layout crossing multiple CSS stacking contexts ([#12127](https://github.com/matrix-org/matrix-react-sdk/pull/12127)).
+* Fix Stickerpicker layout crossing multiple CSS stacking contexts ([#12126](https://github.com/matrix-org/matrix-react-sdk/pull/12126)). Contributed by @t3chguy.
+* Fix 1F97A and 1F979 in Twemoji COLR font ([#12177](https://github.com/matrix-org/matrix-react-sdk/pull/12177)).
+## ✨ Features
+
+* Expose apps/widgets ([#12071](https://github.com/matrix-org/matrix-react-sdk/pull/12071)). Contributed by @charlynguyen.
+* Enable the rust-crypto labs button ([#12114](https://github.com/matrix-org/matrix-react-sdk/pull/12114)). Contributed by @richvdh.
+* Show a progress bar while migrating from legacy crypto ([#12104](https://github.com/matrix-org/matrix-react-sdk/pull/12104)). Contributed by @richvdh.
+* Update Twemoji to Jdecked v15.0.3 ([#12147](https://github.com/matrix-org/matrix-react-sdk/pull/12147)). Contributed by @t3chguy.
+* Change Quick Settings icon ([#12141](https://github.com/matrix-org/matrix-react-sdk/pull/12141)). Contributed by @florianduros.
+* Use Compound tooltips more widely ([#12128](https://github.com/matrix-org/matrix-react-sdk/pull/12128)). Contributed by @t3chguy.
+
+## 🐛 Bug Fixes
+
+* Fix OIDC bugs due to amnesiac stores forgetting OIDC issuer \& other data ([#12166](https://github.com/matrix-org/matrix-react-sdk/pull/12166)). Contributed by @t3chguy.
+* Fix account management link for delegated auth OIDC setups ([#12144](https://github.com/matrix-org/matrix-react-sdk/pull/12144)). Contributed by @t3chguy.
+* Fix Safari IME support ([#11016](https://github.com/matrix-org/matrix-react-sdk/pull/11016)). Contributed by @SuperKenVery.
+* Fix Stickerpicker layout crossing multiple CSS stacking contexts ([#12127](https://github.com/matrix-org/matrix-react-sdk/pull/12127)).
+* Fix Stickerpicker layout crossing multiple CSS stacking contexts ([#12126](https://github.com/matrix-org/matrix-react-sdk/pull/12126)). Contributed by @t3chguy.
+* Fix 1F97A and 1F979 in Twemoji COLR font ([#12177](https://github.com/matrix-org/matrix-react-sdk/pull/12177)).
+## ✨ Features
+
+* Use jitsi-lobby in video channel (video rooms) ([#26879](https://github.com/element-hq/element-web/pull/26879)). Contributed by @toger5.
+
+
+
+Changes in [1.11.55](https://github.com/element-hq/element-web/releases/tag/v1.11.55) (2024-01-19)
+==================================================================================================
+
+
+## ✨ Features
+
+* Broaden support for matrix spec versions ([#12159](https://github.com/matrix-org/matrix-react-sdk/pull/12159)). Contributed by @RiotRobot.
+
+## 🐛 Bug Fixes
+
+* Fixed shield alignment on message Input ([#12155](https://github.com/matrix-org/matrix-react-sdk/pull/12155)). Contributed by @RiotRobot.
+
+
+Changes in [1.11.54](https://github.com/element-hq/element-web/releases/tag/v1.11.54) (2024-01-16)
+==================================================================================================
+## 🐛 Bug Fixes
+
+* Fix CSS stacking context order determinism ([#26840](https://github.com/element-hq/element-web/pull/26840)). Contributed by @t3chguy.
+
+## ✨ Features
+
+* Accessibility improvements around aria-labels and tooltips ([#12062](https://github.com/matrix-org/matrix-react-sdk/pull/12062)). Contributed by @t3chguy.
+* Add RoomKnocksBar to RoomHeader ([#12077](https://github.com/matrix-org/matrix-react-sdk/pull/12077)). Contributed by @charlynguyen.
+* Adjust tooltip side for DecoratedRoomAvatar to not obscure room name ([#12079](https://github.com/matrix-org/matrix-react-sdk/pull/12079)). Contributed by @t3chguy.
+* Iterate landmarks around the app in order to improve a11y ([#12064](https://github.com/matrix-org/matrix-react-sdk/pull/12064)). Contributed by @t3chguy.
+* Update element call embedding UI ([#12056](https://github.com/matrix-org/matrix-react-sdk/pull/12056)). Contributed by @toger5.
+* Use Compound tooltips instead of homegrown in TextWithTooltip \& InfoTooltip ([#12052](https://github.com/matrix-org/matrix-react-sdk/pull/12052)). Contributed by @t3chguy.
+
+## 🐛 Bug Fixes
+
+* Fix regression around CSS stacking contexts and PIP widgets ([#12094](https://github.com/matrix-org/matrix-react-sdk/pull/12094)). Contributed by @t3chguy.
+* Fix Identity Server terms accepting not working as expected ([#12109](https://github.com/matrix-org/matrix-react-sdk/pull/12109)). Contributed by @t3chguy.
+* fix: microphone and camera dropdown doesn't work In legacy call ([#12105](https://github.com/matrix-org/matrix-react-sdk/pull/12105)). Contributed by @muratersin.
+* Revert "Set up key backup using non-deprecated APIs (#12005)" ([#12102](https://github.com/matrix-org/matrix-react-sdk/pull/12102)). Contributed by @BillCarsonFr.
+* Fix regression around read receipt animation from refs changes ([#12100](https://github.com/matrix-org/matrix-react-sdk/pull/12100)). Contributed by @t3chguy.
+* Added meaning full error message based on platform ([#12074](https://github.com/matrix-org/matrix-react-sdk/pull/12074)). Contributed by @Pankaj-SinghR.
+* Fix editing event from search room view ([#11992](https://github.com/matrix-org/matrix-react-sdk/pull/11992)). Contributed by @t3chguy.
+* Fix timeline position when moving to a room and coming back ([#12055](https://github.com/matrix-org/matrix-react-sdk/pull/12055)). Contributed by @florianduros.
+* Fix threaded reply playwright tests ([#12070](https://github.com/matrix-org/matrix-react-sdk/pull/12070)). Contributed by @dbkr.
+* Element-R: fix repeated requests to enter 4S key during cross-signing reset ([#12059](https://github.com/matrix-org/matrix-react-sdk/pull/12059)). Contributed by @richvdh.
+* Fix position of thumbnail in room timeline ([#12016](https://github.com/matrix-org/matrix-react-sdk/pull/12016)). Contributed by @anoopw3bdev.
+
+
+Changes in [1.11.53](https://github.com/element-hq/element-web/releases/tag/v1.11.53) (2024-01-04)
+==================================================================================================
+
+## 🐛 Bug Fixes
+
+* Fix a fresh login creating a new key backup ([#12106](https://github.com/matrix-org/matrix-react-sdk/pull/12106)).
+
+**Changelogs for older versions can be found [here](docs/changelogs).**
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644
index 0000000000..f82db98610
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,309 @@
+# Contributing code to Element Web
+
+Everyone is welcome to contribute code to Element Web, provided that they are
+willing to license their contributions under the same license as the project
+itself. We follow a simple 'inbound=outbound' model for contributions: the act
+of submitting an 'inbound' contribution means that the contributor agrees to
+license the code under the same terms as the project's overall 'outbound'
+license - in this case, Apache Software License v2 (see
+[LICENSE](LICENSE)).
+
+## How to contribute
+
+The preferred and easiest way to contribute changes to the project is to fork
+it on github, and then create a pull request to ask us to pull your changes
+into our repo (https://help.github.com/articles/using-pull-requests/)
+
+We use GitHub's pull request workflow to review the contribution, and either
+ask you to make any refinements needed or merge it and make them ourselves.
+
+Your PR should have a title that describes what change is being made. This
+is used for the text in the Changelog entry by default (see below), so a good
+title will tell a user succinctly what change is being made. "Fix bug where
+cows had five legs" and, "Add support for miniature horses" are examples of good
+titles. Don't include an issue number here: that belongs in the description.
+Definitely don't use the GitHub default of "Update file.ts".
+
+As for your PR description, it should include these things:
+
+-   References to any bugs fixed by the change (in GitHub's `Fixes` notation)
+-   Describe the why and what is changing in the PR description so it's easy for
+    onlookers and reviewers to onboard and context switch. This information is
+    also helpful when we come back to look at this in 6 months and ask "why did
+    we do it like that?" we have a chance of finding out.
+    -   Why didn't it work before? Why does it work now? What use cases does it
+        unlock?
+    -   If you find yourself adding information on how the code works or why you
+        chose to do it the way you did, make sure this information is instead
+        written as comments in the code itself.
+    -   Sometimes a PR can change considerably as it is developed. In this case,
+        the description should be updated to reflect the most recent state of
+        the PR. (It can be helpful to retain the old content under a suitable
+        heading, for additional context.)
+-   Include both **before** and **after** screenshots to easily compare and discuss
+    what's changing.
+-   Include a step-by-step testing strategy so that a reviewer can check out the
+    code locally and easily get to the point of testing your change.
+-   Add comments to the diff for the reviewer that might help them to understand
+    why the change is necessary or how they might better understand and review it.
+
+### Changelogs
+
+There's no need to manually add Changelog entries: we use information in the
+pull request to populate the information that goes into the changelogs our
+users see, both for Element Web itself and other projects on which it is based.
+This is picked up from both labels on the pull request and the `Notes:`
+annotation in the description. By default, the PR title will be used for the
+changelog entry, but you can specify more options, as follows.
+
+To add a longer, more detailed description of the change for the changelog:
+
+_Fix llama herding bug_
+
+```
+Notes: Fix a bug (https://github.com/matrix-org/notaproject/issues/123) where the 'Herd' button would not herd more than 8 Llamas if the moon was in the waxing gibbous phase
+```
+
+For some PRs, it's not useful to have an entry in the user-facing changelog (this is
+the default for PRs labelled with `T-Task`):
+
+_Remove outdated comment from `Ungulates.ts`_
+
+```
+Notes: none
+```
+
+Sometimes, you're fixing a bug in a downstream project, in which case you want
+an entry in that project's changelog. You can do that too:
+
+_Fix another herding bug_
+
+```
+Notes: Fix a bug where the `herd()` function would only work on Tuesdays
+element-web notes: Fix a bug where the 'Herd' button only worked on Tuesdays
+```
+
+This example is for Element Web. You can specify:
+
+-   matrix-react-sdk
+-   element-web
+-   element-desktop
+
+If your PR introduces a breaking change, use the `Notes` section in the same
+way, additionally adding the `X-Breaking-Change` label (see below). There's no need
+to specify in the notes that it's a breaking change - this will be added
+automatically based on the label - but remember to tell the developer how to
+migrate:
+
+_Remove legacy class_
+
+```
+Notes: Remove legacy `Camelopard` class. `Giraffe` should be used instead.
+```
+
+Other metadata can be added using labels.
+
+-   `X-Breaking-Change`: A breaking change - adding this label will mean the change causes a _major_ version bump.
+-   `T-Enhancement`: A new feature - adding this label will mean the change causes a _minor_ version bump.
+-   `T-Defect`: A bug fix (in either code or docs).
+-   `T-Task`: No user-facing changes, eg. code comments, CI fixes, refactors or tests. Won't have a changelog entry unless you specify one.
+
+If you don't have permission to add labels, your PR reviewer(s) can work with you
+to add them: ask in the PR description or comments.
+
+We use continuous integration, and all pull requests get automatically tested:
+if your change breaks the build, then the PR will show that there are failed
+checks, so please check back after a few minutes.
+
+## Tests
+
+Your PR should include tests.
+
+For new user facing features in `matrix-js-sdk`, `matrix-react-sdk` or `element-web`, you
+must include:
+
+1. Comprehensive unit tests written in Jest. These are located in `/test`.
+2. "happy path" end-to-end tests.
+   These are located in `/playwright/e2e` in `matrix-react-sdk`, and
+   are run using `element-web`. Ideally, you would also include tests for edge
+   and error cases.
+
+Unit tests are expected even when the feature is in labs. It's good practice
+to write tests alongside the code as it ensures the code is testable from
+the start, and gives you a fast feedback loop while you're developing the
+functionality. End-to-end tests should be added prior to the feature
+leaving labs, but don't have to be present from the start (although it might
+be beneficial to have some running early, so you can test things faster).
+
+For bugs in those repos, your change must include at least one unit test or
+end-to-end test; which is best depends on what sort of test most concisely
+exercises the area.
+
+Changes to must be accompanied by unit tests written in Jest.
+These are located in `/spec/` in `matrix-js-sdk` or `/test/` in `element-web`
+and `matrix-react-sdk`.
+
+When writing unit tests, please aim for a high level of test coverage
+for new code - 80% or greater. If you cannot achieve that, please document
+why it's not possible in your PR.
+
+Some sections of code are not sensible to add coverage for, such as those
+which explicitly inhibit noisy logging for tests. Which can be hidden using
+an istanbul magic comment as [documented here][1]. See example:
+
+```javascript
+/* istanbul ignore if */
+if (process.env.NODE_ENV !== "test") {
+    logger.error("Log line that is noisy enough in tests to want to skip");
+}
+```
+
+Tests validate that your change works as intended and also document
+concisely what is being changed. Ideally, your new tests fail
+prior to your change, and succeed once it has been applied. You may
+find this simpler to achieve if you write the tests first.
+
+If you're spiking some code that's experimental and not being used to support
+production features, exceptions can be made to requirements for tests.
+Note that tests will still be required in order to ship the feature, and it's
+strongly encouraged to think about tests early in the process, as adding
+tests later will become progressively more difficult.
+
+If you're not sure how to approach writing tests for your change, ask for help
+in [#element-dev](https://matrix.to/#/#element-dev:matrix.org).
+
+## Code style
+
+Element Web aims to target TypeScript/ES6. All new files should be written in
+TypeScript and existing files should use ES6 principles where possible.
+
+Members should not be exported as a default export in general - it causes problems
+with the architecture of the SDK (index file becomes less clear) and could
+introduce naming problems (as default exports get aliased upon import). In
+general, avoid using `export default`.
+
+The remaining code style is documented in [code_style.md](./code_style.md).
+Contributors are encouraged to it and follow the principles set out there.
+
+Please ensure your changes match the cosmetic style of the existing project,
+and **_never_** mix cosmetic and functional changes in the same commit, as it
+makes it horribly hard to review otherwise.
+
+## Attribution
+
+Everyone who contributes anything to Matrix is welcome to be listed in the
+AUTHORS.rst file for the project in question. Please feel free to include a
+change to AUTHORS.rst in your pull request to list yourself and a short
+description of the area(s) you've worked on. Also, we sometimes have swag to
+give away to contributors - if you feel that Matrix-branded apparel is missing
+from your life, please mail us your shipping address to matrix at matrix.org
+and we'll try to fix it :)
+
+## Sign off
+
+In order to have a concrete record that your contribution is intentional
+and you agree to license it under the same terms as the project's license, we've
+adopted the same lightweight approach that the Linux Kernel
+(https://www.kernel.org/doc/html/latest/process/submitting-patches.html), Docker
+(https://github.com/docker/docker/blob/master/CONTRIBUTING.md), and many other
+projects use: the DCO (Developer Certificate of Origin:
+http://developercertificate.org/). This is a simple declaration that you wrote
+the contribution or otherwise have the right to contribute it to Matrix:
+
+```
+Developer Certificate of Origin
+Version 1.1
+
+Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
+660 York Street, Suite 102,
+San Francisco, CA 94110 USA
+
+Everyone is permitted to copy and distribute verbatim copies of this
+license document, but changing it is not allowed.
+
+Developer's Certificate of Origin 1.1
+
+By making a contribution to this project, I certify that:
+
+(a) The contribution was created in whole or in part by me and I
+    have the right to submit it under the open source license
+    indicated in the file; or
+
+(b) The contribution is based upon previous work that, to the best
+    of my knowledge, is covered under an appropriate open source
+    license and I have the right under that license to submit that
+    work with modifications, whether created in whole or in part
+    by me, under the same open source license (unless I am
+    permitted to submit under a different license), as indicated
+    in the file; or
+
+(c) The contribution was provided directly to me by some other
+    person who certified (a), (b) or (c) and I have not modified
+    it.
+
+(d) I understand and agree that this project and the contribution
+    are public and that a record of the contribution (including all
+    personal information I submit with it, including my sign-off) is
+    maintained indefinitely and may be redistributed consistent with
+    this project or the open source license(s) involved.
+```
+
+If you agree to this for your contribution, then all that's needed is to
+include the line in your commit or pull request comment:
+
+```
+Signed-off-by: Your Name 
+```
+
+We accept contributions under a legally identifiable name, such as your name on
+government documentation or common-law names (names claimed by legitimate usage
+or repute). Unfortunately, we cannot accept anonymous contributions at this
+time.
+
+Git allows you to add this signoff automatically when using the `-s` flag to
+`git commit`, which uses the name and email set in your `user.name` and
+`user.email` git configs.
+
+If you forgot to sign off your commits before making your pull request and are
+on Git 2.17+ you can mass signoff using rebase:
+
+```
+git rebase --signoff origin/develop
+```
+
+## Private sign off
+
+If you would like to provide your legal name privately to the Matrix.org
+Foundation (instead of in a public commit or comment), you can do so by emailing
+your legal name and a link to the pull request to dco@matrix.org. It helps to
+include "sign off" or similar in the subject line. You will then be instructed
+further.
+
+Once private sign off is complete, doing so for future contributions will not
+be required.
+
+# Review expectations
+
+See https://github.com/element-hq/element-meta/wiki/Review-process
+
+# Merge Strategy
+
+The preferred method for merging pull requests is squash merging to keep the
+commit history trim, but it is up to the discretion of the team member merging
+the change. We do not support rebase merges due to `allchange` being unable to
+handle them. When merging make sure to leave the default commit title, or
+at least leave the PR number at the end in brackets like by default.
+When stacking pull requests, you may wish to do the following:
+
+1. Branch from develop to your branch (branch1), push commits onto it and open a pull request
+2. Branch from your base branch (branch1) to your work branch (branch2), push commits and open a pull request configuring the base to be branch1, saying in the description that it is based on your other PR.
+3. Merge the first PR using a merge commit otherwise your stacked PR will need a rebase. Github will automatically adjust the base branch of your other PR to be develop.
+
+[1]: https://github.com/gotwarlost/istanbul/blob/master/ignoring-code-for-coverage.md
+
+# Decoding Stack Traces
+
+Element Web has crashed and given you an obfuscated stack trace? Don't panic:
+use the [Decoder Ring](https://app.element.io/decoder-ring/) (or /decoder-ring/
+on any Element Web deploy). It is somewhat of a manual process, but it should
+tell you what lines the stack trace corresponds to from the source maps.
diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst
deleted file mode 100644
index f084b474bd..0000000000
--- a/CONTRIBUTING.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-Contributing code to Riot
-=========================
-
-Riot follows the same pattern as https://github.com/matrix-org/matrix-js-sdk/blob/master/CONTRIBUTING.rst.
diff --git a/Dockerfile b/Dockerfile
index 8f584b8109..6fc141aea9 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,8 +1,8 @@
 # Builder
-FROM node:10 as builder
+FROM --platform=$BUILDPLATFORM node:20-bullseye as builder
 
 # Support custom branches of the react-sdk and js-sdk. This also helps us build
-# images of riot-web develop.
+# images of element-web develop.
 ARG USE_CUSTOM_SDKS=false
 ARG REACT_SDK_REPO="https://github.com/matrix-org/matrix-react-sdk.git"
 ARG REACT_SDK_BRANCH="master"
@@ -15,23 +15,20 @@ WORKDIR /src
 
 COPY . /src
 RUN dos2unix /src/scripts/docker-link-repos.sh && bash /src/scripts/docker-link-repos.sh
-RUN yarn --network-timeout=100000 install
-RUN yarn build
+RUN yarn --network-timeout=200000 install
+
+RUN dos2unix /src/scripts/docker-package.sh && bash /src/scripts/docker-package.sh
 
 # Copy the config now so that we don't create another layer in the app image
 RUN cp /src/config.sample.json /src/webapp/config.json
 
-# Ensure we populate the version file
-RUN dos2unix /src/scripts/docker-write-version.sh && bash /src/scripts/docker-write-version.sh
-
-
 # App
-FROM nginx:alpine
+FROM nginx:alpine-slim
 
 COPY --from=builder /src/webapp /app
 
-# Insert wasm type into Nginx mime.types file so they load correctly.
-RUN sed -i '3i\ \ \ \ application/wasm wasm\;' /etc/nginx/mime.types
+# Override default nginx config
+COPY /nginx/conf.d/default.conf /etc/nginx/conf.d/default.conf
 
 RUN rm -rf /usr/share/nginx/html \
- && ln -s /app /usr/share/nginx/html
+  && ln -s /app /usr/share/nginx/html
diff --git a/README.md b/README.md
index 6da6248da0..19875e083d 100644
--- a/README.md
+++ b/README.md
@@ -1,94 +1,133 @@
-Riot
-====
+[![Chat](https://img.shields.io/matrix/element-web:matrix.org?logo=matrix)](https://matrix.to/#/#element-web:matrix.org)
+![Tests](https://github.com/element-hq/element-web/actions/workflows/tests.yaml/badge.svg)
+![Static Analysis](https://github.com/element-hq/element-web/actions/workflows/static_analysis.yaml/badge.svg)
+[![Localazy](https://img.shields.io/endpoint?url=https%3A%2F%2Fconnect.localazy.com%2Fstatus%2Felement-web%2Fdata%3Fcontent%3Dall%26title%3Dlocalazy%26logo%3Dtrue)](https://localazy.com/p/element-web)
+[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=element-web&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=element-web)
+[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=element-web&metric=coverage)](https://sonarcloud.io/summary/new_code?id=element-web)
+[![Vulnerabilities](https://sonarcloud.io/api/project_badges/measure?project=element-web&metric=vulnerabilities)](https://sonarcloud.io/summary/new_code?id=element-web)
+[![Bugs](https://sonarcloud.io/api/project_badges/measure?project=element-web&metric=bugs)](https://sonarcloud.io/summary/new_code?id=element-web)
 
-Riot (formerly known as Vector) is a Matrix web client built using the [Matrix
+# Element
+
+Element (formerly known as Vector and Riot) is a Matrix web client built using the [Matrix
 React SDK](https://github.com/matrix-org/matrix-react-sdk).
 
-Supported Environments
-======================
+# Supported Environments
 
-Riot has several tiers of support for different environments:
+Element has several tiers of support for different environments:
 
-* Supported
-  * Definition: Issues **actively triaged**, regressions **block** the release
-  * Last 2 major versions of Chrome, Firefox, and Safari on desktop OSes
-  * Latest release of official Riot Desktop app on desktop OSes
-  * Desktop OSes means macOS, Windows, and Linux versions for desktop devices
-    that are actively supported by the OS vendor and receive security updates
-* Experimental
-  * Definition: Issues **accepted**, regressions **do not block** the release
-  * Riot as an installed PWA via current stable version of Chrome, Firefox, and Safari
-  * Mobile web for current stable version of Chrome, Firefox, and Safari on Android, iOS, and iPadOS
-* Not supported
-  * Definition: Issues only affecting unsupported environments are **closed**
-  * Everything else
+-   Supported
+    -   Definition:
+        -   Issues **actively triaged**, regressions **block** the release
+    -   Last 2 major versions of Chrome, Firefox, and Edge on desktop OSes
+    -   Last 2 versions of Safari
+    -   Latest release of official Element Desktop app on desktop OSes
+    -   Desktop OSes means macOS, Windows, and Linux versions for desktop devices
+        that are actively supported by the OS vendor and receive security updates
+-   Best effort
+    -   Definition:
+        -   Issues **accepted**, regressions **do not block** the release
+        -   The wider Element Products(including Element Call and the Enterprise Server Suite) do still not officially support these browsers.
+        -   The element web project and its contributors should keep the client functioning and gracefully degrade where other sibling features (E.g. Element Call) may not function.
+    -   Last major release of Firefox ESR and Chrome/Edge Extended Stable
+-   Community Supported
+    -   Definition:
+        -   Issues **accepted**, regressions **do not block** the release
+        -   Community contributions are welcome to support these issues
+    -   Mobile web for current stable version of Chrome, Firefox, and Safari on Android, iOS, and iPadOS
+-   Not supported
+    -   Definition: Issues only affecting unsupported environments are **closed**
+    -   Everything else
 
-For accessing Riot on an Android or iOS device, we currently recommend the
-native apps [riot-android](https://github.com/vector-im/riot-android)
-and [riot-ios](https://github.com/vector-im/riot-ios).
+The period of support for these tiers should last until the releases specified above, plus 1 app release cycle(2 weeks). In the case of Firefox ESR this is extended further to allow it land in Debian Stable.
 
-Getting Started
-===============
+For accessing Element on an Android or iOS device, we currently recommend the
+native apps [element-android](https://github.com/element-hq/element-android)
+and [element-ios](https://github.com/element-hq/element-ios).
 
-The easiest way to test Riot is to just use the hosted copy at https://riot.im/app.
-The `develop` branch is continuously deployed by Jenkins at https://riot.im/develop
+# Getting Started
+
+The easiest way to test Element is to just use the hosted copy at .
+The `develop` branch is continuously deployed to 
 for those who like living dangerously.
 
-To host your own copy of Riot, the quickest bet is to use a pre-built
-released version of Riot:
+To host your own instance of Element see [Installing Element Web](docs/install.md).
 
-1. Download the latest version from https://github.com/vector-im/riot-web/releases
-1. Untar the tarball on your web server
-1. Move (or symlink) the `riot-x.x.x` directory to an appropriate name
-1. Configure the correct caching headers in your webserver (see below)
-1. If desired, copy `config.sample.json` to `config.json` and edit it
-   as desired. See the [configuration docs](docs/config.md) for details.
-1. Enter the URL into your browser and log into Riot!
+To install Element as a desktop application, see [Running as a desktop app](#running-as-a-desktop-app) below.
 
-Releases are signed using gpg and the OpenPGP standard, and can be checked against the public key located
-at https://packages.riot.im/riot-release-key.asc.
+# Important Security Notes
 
-Note that for the security of your chats will need to serve Riot
-over HTTPS. Major browsers also do not allow you to use VoIP/video
-chats over HTTP, as WebRTC is only usable over HTTPS.
-There are some exceptions like when using localhost, which is
-considered a [secure context](https://developer.mozilla.org/docs/Web/Security/Secure_Contexts)
-and thus allowed.
+## Separate domains
 
-To install Riot as a desktop application, see [Running as a desktop
-app](#running-as-a-desktop-app) below.
-
-Important Security Note
-=======================
-
-We do not recommend running Riot from the same domain name as your Matrix
-homeserver.  The reason is the risk of XSS (cross-site-scripting)
-vulnerabilities that could occur if someone caused Riot to load and render
+We do not recommend running Element from the same domain name as your Matrix
+homeserver. The reason is the risk of XSS (cross-site-scripting)
+vulnerabilities that could occur if someone caused Element to load and render
 malicious user generated content from a Matrix API which then had trusted
-access to Riot (or other apps) due to sharing the same domain.
+access to Element (or other apps) due to sharing the same domain.
 
 We have put some coarse mitigations into place to try to protect against this
-situation, but it's still not good practice to do it in the first place.  See
-https://github.com/vector-im/riot-web/issues/1977 for more details.
+situation, but it's still not good practice to do it in the first place. See
+ for more details.
 
-Building From Source
-====================
+## Configuration best practices
 
-Riot is a modular webapp built with modern ES6 and uses a Node.js build system.
+Unless you have special requirements, you will want to add the following to
+your web server configuration when hosting Element Web:
+
+-   The `X-Frame-Options: SAMEORIGIN` header, to prevent Element Web from being
+    framed and protect from [clickjacking][owasp-clickjacking].
+-   The `frame-ancestors 'self'` directive to your `Content-Security-Policy`
+    header, as the modern replacement for `X-Frame-Options` (though both should be
+    included since not all browsers support it yet, see
+    [this][owasp-clickjacking-csp]).
+-   The `X-Content-Type-Options: nosniff` header, to [disable MIME
+    sniffing][mime-sniffing].
+-   The `X-XSS-Protection: 1; mode=block;` header, for basic XSS protection in
+    legacy browsers.
+
+[mime-sniffing]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types#mime_sniffing
+[owasp-clickjacking-csp]: https://cheatsheetseries.owasp.org/cheatsheets/Clickjacking_Defense_Cheat_Sheet.html#content-security-policy-frame-ancestors-examples
+[owasp-clickjacking]: https://cheatsheetseries.owasp.org/cheatsheets/Clickjacking_Defense_Cheat_Sheet.html
+
+If you are using nginx, this would look something like the following:
+
+```
+add_header X-Frame-Options SAMEORIGIN;
+add_header X-Content-Type-Options nosniff;
+add_header X-XSS-Protection "1; mode=block";
+add_header Content-Security-Policy "frame-ancestors 'self'";
+```
+
+For Apache, the configuration looks like:
+
+```
+Header set X-Frame-Options SAMEORIGIN
+Header set X-Content-Type-Options nosniff
+Header set X-XSS-Protection "1; mode=block"
+Header set Content-Security-Policy "frame-ancestors 'self'"
+```
+
+Note: In case you are already setting a `Content-Security-Policy` header
+elsewhere, you should modify it to include the `frame-ancestors` directive
+instead of adding that last line.
+
+# Building From Source
+
+Element is a modular webapp built with modern ES6 and uses a Node.js build system.
 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://classic.yarnpkg.com/en/docs/install) if you do not have it already.
 
-1. Install or update `node.js` so that your `node` is at least v10.x.
+1. Install or update `node.js` so that your `node` is at least the current recommended LTS.
 1. Install `yarn` if not present already.
-1. Clone the repo: `git clone https://github.com/vector-im/riot-web.git`.
-1. Switch to the riot-web directory: `cd riot-web`.
+1. Clone the repo: `git clone https://github.com/element-hq/element-web.git`.
+1. Switch to the element-web directory: `cd element-web`.
 1. Install the prerequisites: `yarn install`.
-   *  If you're using the `develop` branch, then it is recommended to set up a
+    - If you're using the `develop` branch, then it is recommended to set up a
       proper development environment (see [Setting up a dev
       environment](#setting-up-a-dev-environment) below). Alternatively, you
-      can use https://riot.im/develop - the continuous integration release of
+      can use  - the continuous integration release of
       the develop branch.
 1. Configure the app by copying `config.sample.json` to `config.json` and
    modifying it. See the [configuration docs](docs/config.md) for details.
@@ -97,84 +136,37 @@ guide](https://classic.yarnpkg.com/en/docs/install) if you do not have it alread
    web server.
 
 Note that `yarn dist` is not supported on Windows, so Windows users can run `yarn build`,
-which will build all the necessary files into the `webapp` directory. The version of Riot
+which will build all the necessary files into the `webapp` directory. The version of Element
 will not appear in Settings without using the dist script. You can then mount the
-`webapp` directory on your webserver to actually serve up the app, which is entirely static content.
+`webapp` directory on your web server to actually serve up the app, which is
+entirely static content.
 
-Running as a Desktop app
-========================
+# Running as a Desktop app
 
-Riot can also be run as a desktop app, wrapped in Electron. You can download a
-pre-built version from https://riot.im/download/desktop/ or, if you prefer,
+Element can also be run as a desktop app, wrapped in Electron. You can download a
+pre-built version from  or, if you prefer,
 build it yourself.
 
-To build it yourself, follow the instructions at https://github.com/vector-im/riot-desktop.
+To build it yourself, follow the instructions at .
 
 Many thanks to @aviraldg for the initial work on the Electron integration.
 
-Other options for running as a desktop app:
- * @asdf:matrix.org points out that you can use nativefier and it just works(tm)
+The [configuration docs](docs/config.md#desktop-app-configuration) show how to override the desktop app's default settings if desired.
 
-```bash
-yarn global add nativefier
-nativefier https://riot.im/app/
-```
+# config.json
 
-The [configuration docs](docs/config.md#desktop-app-configuration) show how to
-override the desktop app's default settings if desired.
-
-Running from Docker
-===================
-
-The Docker image can be used to serve riot-web as a web server. The easiest way to use
-it is to use the prebuilt image:
-```bash
-docker run -p 80:80 vectorim/riot-web
-```
-
-To supply your own custom `config.json`, map a volume to `/app/config.json`. For example,
-if your custom config was located at `/etc/riot-web/config.json` then your Docker command
-would be:
-```bash
-docker run -p 80:80 -v /etc/riot-web/config.json:/app/config.json vectorim/riot-web
-```
-
-To build the image yourself:
-```bash
-git clone https://github.com/vector-im/riot-web.git riot-web
-cd riot-web
-git checkout master
-docker build -t vectorim/riot-web .
-```
-
-If you're building a custom branch, or want to use the develop branch, check out the appropriate
-riot-web branch and then run:
-```bash
-docker build -t vectorim/riot-web:develop \
-    --build-arg USE_CUSTOM_SDKS=true \
-    --build-arg REACT_SDK_REPO="https://github.com/matrix-org/matrix-react-sdk.git" \
-    --build-arg REACT_SDK_BRANCH="develop" \
-    --build-arg JS_SDK_REPO="https://github.com/matrix-org/matrix-js-sdk.git" \
-    --build-arg JS_SDK_BRANCH="develop" \
-    .
-```
-
-config.json
-===========
-
-Riot supports a variety of settings to configure default servers, behaviour, themes, etc.
+Element supports a variety of settings to configure default servers, behaviour, themes, etc.
 See the [configuration docs](docs/config.md) for more details.
 
-Labs Features
-=============
+# Labs Features
 
-Some features of Riot may be enabled by flags in the `Labs` section of the settings.
-Some of these features are described in [labs.md](https://github.com/vector-im/riot-web/blob/develop/docs/labs.md).
+Some features of Element may be enabled by flags in the `Labs` section of the settings.
+Some of these features are described in [labs.md](https://github.com/element-hq/element-web/blob/develop/docs/labs.md).
 
-Caching requirements
-====================
+# Caching requirements
+
+Element requires the following URLs not to be cached, when/if you are serving Element from your own webserver:
 
-Riot requires the following URLs not to be cached, when/if you are serving Riot from your own webserver:
 ```
 /config.*.json
 /i18n
@@ -183,49 +175,53 @@ Riot requires the following URLs not to be cached, when/if you are serving Riot
 /index.html
 ```
 
-Development
-===========
+We also recommend that you force browsers to re-validate any cached copy of Element on page load by configuring your
+webserver to return `Cache-Control: no-cache` for `/`. This ensures the browser will fetch a new version of Element on
+the next page load after it's been deployed. Note that this is already configured for you in the nginx config of our
+Dockerfile.
 
-Before attempting to develop on Riot you **must** read the [developer guide
+# Development
+
+Before attempting to develop on Element you **must** read the [developer guide
 for `matrix-react-sdk`](https://github.com/matrix-org/matrix-react-sdk#developer-guide), which
-also defines the design, architecture and style for Riot too.
+also defines the design, architecture and style for Element too.
 
-Before starting work on a feature, it's best to ensure your plan aligns well
-with our vision for Riot. Please chat with the team in
-[#riot-dev:matrix.org](https://matrix.to/#/#riot-dev:matrix.org) before you
-start so we can ensure it's something we'd be willing to merge.
+Read the [Choosing an issue](docs/choosing-an-issue.md) page for some guidance
+about where to start. Before starting work on a feature, it's best to ensure
+your plan aligns well with our vision for Element. Please chat with the team in
+[#element-dev:matrix.org](https://matrix.to/#/#element-dev:matrix.org) before
+you start so we can ensure it's something we'd be willing to merge.
 
 You should also familiarise yourself with the ["Here be Dragons" guide
 ](https://docs.google.com/document/d/12jYzvkidrp1h7liEuLIe6BMdU0NUjndUYI971O06ooM)
 to the tame & not-so-tame dragons (gotchas) which exist in the codebase.
 
-The idea of Riot is to be a relatively lightweight "skin" of customisations on
+The idea of Element is to be a relatively lightweight "skin" of customisations on
 top of the underlying `matrix-react-sdk`. `matrix-react-sdk` provides both the
 higher and lower level React components useful for building Matrix communication
 apps using React.
 
-After creating a new component you must run `yarn reskindex` to regenerate
-the `component-index.js` for the app (used in future for skinning).
-
-Please note that Riot is intended to run correctly without access to the public
-internet.  So please don't depend on resources (JS libs, CSS, images, fonts)
+Please note that Element is intended to run correctly without access to the public
+internet. So please don't depend on resources (JS libs, CSS, images, fonts)
 hosted by external CDNs or servers but instead please package all dependencies
-into Riot itself.
+into Element itself.
 
-Setting up a dev environment
-============================
+CSS hot-reload is available as an opt-in development feature. You can enable it
+by defining a `CSS_HOT_RELOAD` environment variable, in a `.env` file in the root
+of the repository. See `.env.example` for documentation and an example.
 
-Much of the functionality in Riot is actually in the `matrix-react-sdk` and
+# Setting up a dev environment
+
+Much of the functionality in Element is actually in the `matrix-react-sdk` and
 `matrix-js-sdk` modules. It is possible to set these up in a way that makes it
 easy to track the `develop` branches in git and to make local changes without
 having to manually rebuild each time.
 
 First clone and build `matrix-js-sdk`:
 
-``` bash
+```bash
 git clone https://github.com/matrix-org/matrix-js-sdk.git
 pushd matrix-js-sdk
-git checkout develop
 yarn link
 yarn install
 popd
@@ -236,156 +232,100 @@ Then similarly with `matrix-react-sdk`:
 ```bash
 git clone https://github.com/matrix-org/matrix-react-sdk.git
 pushd matrix-react-sdk
-git checkout develop
 yarn link
 yarn link matrix-js-sdk
 yarn install
 popd
 ```
 
-Finally, build and start Riot itself:
+Clone the repo and switch to the `element-web` directory:
+
+```bash
+git clone https://github.com/element-hq/element-web.git
+cd element-web
+```
+
+Configure the app by copying `config.sample.json` to `config.json` and
+modifying it. See the [configuration docs](docs/config.md) for details.
+
+Finally, build and start Element itself:
 
 ```bash
-git clone https://github.com/vector-im/riot-web.git
-cd riot-web
-git checkout develop
 yarn link matrix-js-sdk
 yarn link matrix-react-sdk
 yarn install
 yarn start
 ```
 
-
 Wait a few seconds for the initial build to finish; you should see something like:
-```
-Hash: b0af76309dd56d7275c8
-Version: webpack 1.12.14
-Time: 14533ms
-         Asset     Size  Chunks             Chunk Names
-     bundle.js   4.2 MB       0  [emitted]  main
-    bundle.css  91.5 kB       0  [emitted]  main
- bundle.js.map  5.29 MB       0  [emitted]  main
-bundle.css.map   116 kB       0  [emitted]  main
-    + 1013 hidden modules
-```
-   Remember, the command will not terminate since it runs the web server
-   and rebuilds source files when they change. This development server also
-   disables caching, so do NOT use it in production.
 
-Configure the app by copying `config.sample.json` to `config.json` and
-modifying it. See the [configuration docs](docs/config.md) for details.
+```
+[element-js]  [webpack.Progress] 100%
+[element-js]
+[element-js] ℹ 「wdm」:    1840 modules
+[element-js] ℹ 「wdm」: Compiled successfully.
+```
 
-Open http://127.0.0.1:8080/ in your browser to see your newly built Riot.
+Remember, the command will not terminate since it runs the web server
+and rebuilds source files when they change. This development server also
+disables caching, so do NOT use it in production.
+
+Open  in your browser to see your newly built Element.
 
 **Note**: The build script uses inotify by default on Linux to monitor directories
-for changes. If the inotify watch limit is too low your build will silently fail.
-To avoid this issue, we recommend a limit of at least 128M.
+for changes. If the inotify limits are too low your build will fail silently or with
+`Error: EMFILE: too many open files`. To avoid these issues, we recommend a watch limit
+of at least `128M` and instance limit around `512`.
 
-To set a new inotify watch limit, execute:
+You may be interested in issues [#15750](https://github.com/element-hq/element-web/issues/15750) and
+[#15774](https://github.com/element-hq/element-web/issues/15774) for further details.
+
+To set a new inotify watch and instance limit, execute:
 
 ```
-$ sudo sysctl fs.inotify.max_user_watches=131072
-$ sudo sysctl -p
+sudo sysctl fs.inotify.max_user_watches=131072
+sudo sysctl fs.inotify.max_user_instances=512
+sudo sysctl -p
 ```
 
-If you wish, you can make this new limit permanent, by executing:
+If you wish, you can make the new limits permanent, by executing:
 
 ```
-$ echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf
-$ sudo sysctl -p
+echo fs.inotify.max_user_watches=131072 | sudo tee -a /etc/sysctl.conf
+echo fs.inotify.max_user_instances=512 | sudo tee -a /etc/sysctl.conf
+sudo sysctl -p
 ```
-___
+
+---
 
 When you make changes to `matrix-react-sdk` or `matrix-js-sdk` they should be
 automatically picked up by webpack and built.
 
-If you add or remove any components from the Riot skin, you will need to rebuild
-the skin's index by running, `yarn reskindex`.
-
 If any of these steps error with, `file table overflow`, you are probably on a mac
 which has a very low limit on max open files. Run `ulimit -Sn 1024` and try again.
-You'll need to do this in each new terminal you open before building Riot.
+You'll need to do this in each new terminal you open before building Element.
 
-Running the tests
------------------
+## Running the tests
 
 There are a number of application-level tests in the `tests` directory; these
-are designed to run in a browser instance under the control of
-[karma](https://karma-runner.github.io). To run them:
+are designed to run with Jest and JSDOM. To run them
 
-* Make sure you have Chrome installed (a recent version, like 59)
-* Make sure you have `matrix-js-sdk` and `matrix-react-sdk` installed and
-  built, as above
-* `yarn test`
-
-The above will run the tests under Chrome in a `headless` mode.
-
-You can also tell karma to run the tests in a loop (every time the source
-changes), in an instance of Chrome on your desktop, with `yarn
-test-multi`. This also gives you the option of running the tests in 'debug'
-mode, which is useful for stepping through the tests in the developer tools.
+```
+yarn test
+```
 
 ### End-to-End tests
 
-See [matrix-react-sdk](https://github.com/matrix-org/matrix-react-sdk/#end-to-end-tests) how to run the end-to-end tests.
+See [matrix-react-sdk](https://github.com/matrix-org/matrix-react-sdk/#end-to-end-tests) for how to run the end-to-end tests.
 
-Translations
-============
+# Translations
 
 To add a new translation, head to the [translating doc](docs/translating.md).
 
 For a developer guide, see the [translating dev doc](docs/translating-dev.md).
 
-[translationsstatus](https://translate.riot.im/engage/riot-web/?utm_source=widget)
+# Triaging issues
 
-Triaging issues
-===============
+Issues are triaged by community members and the Web App Team, following the [triage process](https://github.com/element-hq/element-meta/wiki/Triage-process).
 
-Issues will be triaged by the core team using the below set of tags.
-
-Tags are meant to be used in combination - e.g.:
- * P1 critical bug == really urgent stuff that should be next in the bugfixing todo list
- * "release blocker" == stuff which is blocking us from cutting the next release.
- * P1 feature type:voip == what VoIP features should we be working on next?
-
-priority: **compulsory**
-
-* P1: top priority - i.e. pool of stuff which we should be working on next
-* P2: still need to fix, but lower than P1
-* P3: non-urgent
-* P4: interesting idea - bluesky some day
-* P5: recorded for posterity/to avoid duplicates. No intention to resolves right now.
-
-bug or feature: **compulsory**
-
-* bug
-* feature
-
-bug severity: **compulsory, if bug**
-
-* critical - whole app doesn't work
-* major - entire feature doesn't work
-* minor - partially broken feature (but still usable)
-* cosmetic - feature works functionally but UI/UX is broken
-
-types
-* type:* - refers to a particular part of the app; used to filter bugs
-  on a given topic - e.g. VOIP, signup, timeline, etc.
-
-additional categories (self-explanatory):
-
-* release blocker
-* ui/ux (think of this as cosmetic)
-* network (specific to network conditions)
-* platform specific
-* accessibility
-* maintenance
-* performance
-* i18n
-* blocked - whether this issue currently can't be progressed due to outside factors
-
-community engagement
-* easy
-* hacktoberfest
-* bounty? - proposal to be included in a bounty programme
-* bounty - included in Status Open Bounty
+We use [issue labels](https://github.com/element-hq/element-meta/wiki/Issue-labelling) to sort all incoming issues.
diff --git a/babel.config.js b/babel.config.js
index 8d98fffcf8..b63a90e5ff 100644
--- a/babel.config.js
+++ b/babel.config.js
@@ -1,23 +1,35 @@
 module.exports = {
-    "sourceMaps": true,
-    "presets": [
-        ["@babel/preset-env", {
-            "targets": [
-                "last 2 Chrome versions", "last 2 Firefox versions", "last 2 Safari versions"
-            ],
-        }],
-        "@babel/preset-typescript",
-        "@babel/preset-flow",
-        "@babel/preset-react"
+    sourceMaps: true,
+    presets: [
+        [
+            "@babel/preset-env",
+            {
+                targets: [
+                    "last 2 Chrome versions",
+                    "last 2 Firefox versions",
+                    "last 2 Safari versions",
+                    "last 2 Edge versions",
+                ],
+                include: ["@babel/plugin-transform-class-properties"],
+            },
+        ],
+        ["@babel/preset-typescript", { allowDeclareFields: true }],
+        "@babel/preset-react",
     ],
-    "plugins": [
-        ["@babel/plugin-proposal-decorators", {legacy: true}],
+    plugins: [
         "@babel/plugin-proposal-export-default-from",
-        "@babel/plugin-proposal-numeric-separator",
-        "@babel/plugin-proposal-class-properties",
-        "@babel/plugin-proposal-object-rest-spread",
-        "@babel/plugin-transform-flow-comments",
+        "@babel/plugin-transform-numeric-separator",
+        "@babel/plugin-transform-object-rest-spread",
+        "@babel/plugin-transform-optional-chaining",
+        "@babel/plugin-transform-nullish-coalescing-operator",
+
+        // transform logical assignment (??=, ||=, &&=). preset-env doesn't
+        // normally bother with these (presumably because all the target
+        // browsers support it natively), but they make our webpack version (or
+        // something downstream of babel, at least) fall over.
+        "@babel/plugin-transform-logical-assignment-operators",
+
         "@babel/plugin-syntax-dynamic-import",
-        "@babel/plugin-transform-runtime"
-    ]
+        "@babel/plugin-transform-runtime",
+    ],
 };
diff --git a/book.toml b/book.toml
new file mode 100644
index 0000000000..77fa4bfd5d
--- /dev/null
+++ b/book.toml
@@ -0,0 +1,33 @@
+# Documentation for possible options in this file is at
+# https://rust-lang.github.io/mdBook/format/config.html
+[book]
+title = "Element Web & Desktop"
+authors = ["New Vector Ltd.", "The Matrix.org Foundation C.I.C."]
+language = "en"
+multilingual = false
+
+# The directory that documentation files are stored in
+src = "docs"
+
+[build]
+# Prevent markdown pages from being automatically generated when they're
+# linked to in SUMMARY.md
+create-missing = false
+
+[output.html]
+# Remove the numbers that appear before each item in the sidebar, as they can
+# get quite messy as we nest deeper
+no-section-label = true
+additional-css = ["docs/lib/custom.css"]
+
+# The source code URL of the repository
+git-repository-url = "https://github.com/element-hq/element-web"
+
+# The path that the docs are hosted on
+site-url = "/element-web/"
+additional-js = ["docs/lib/mermaid.min.js", "docs/lib/mermaid-init.js"]
+
+[preprocessor]
+
+[preprocessor.mermaid]
+command = "mdbook-mermaid"
diff --git a/build_config.sample.yaml b/build_config.sample.yaml
new file mode 100644
index 0000000000..da3ebb34ad
--- /dev/null
+++ b/build_config.sample.yaml
@@ -0,0 +1,25 @@
+# A sample build_config.yaml to supply to Element Web's build pipeline,
+# enabling custom functionality at compile time. Copy this file to
+# `build_config.yaml` in the same directory to use, as you would with
+# `config.json`.
+#
+# Note: The vast majority of users DO NOT need this. If you are looking
+# to build your own Element Web as seen on app.element.io or similar then
+# this is not required.
+#
+# This config file does become required if you are looking to add runtime
+# functionality to Element Web, such as customisation endpoints and modules.
+#
+# Over time we might expand this config to better support some use cases.
+# Watch the release notes for features which might impact this config.
+
+# The modules to install. See ./docs/modules.md for more information on
+# what modules are.
+#
+# The values of this are provided to `yarn add` for inclusion.
+modules:
+    # An example of pulling a module from NPM
+    - "@vector-im/element-web-ilag-module@^0.0.1"
+
+    # An example of pulling a module from local filesystem during development
+    - "file:/home/user/development/element-web-ilag-module"
diff --git a/code_style.md b/code_style.md
new file mode 100644
index 0000000000..e6ad053111
--- /dev/null
+++ b/code_style.md
@@ -0,0 +1,413 @@
+# Element Web/Desktop code style guide
+
+This code style applies to projects which the element-web team directly maintains or is reasonably
+adjacent to. As of writing, these are:
+
+-   element-desktop
+-   element-web
+-   matrix-react-sdk
+-   matrix-js-sdk
+
+Other projects might extend this code style for increased strictness. For example, matrix-events-sdk
+has stricter code organization to reduce the maintenance burden. These projects will declare their code
+style within their own repos.
+
+Note that some requirements will be layer-specific. Where the requirements don't make sense for the
+project, they are used to the best of their ability, used in spirit, or ignored if not applicable,
+in that order.
+
+## Guiding principles
+
+1. We want the lint rules to feel natural for most team members. No one should have to think too much
+   about the linter.
+2. We want to stay relatively close to [industry standards](https://google.github.io/styleguide/tsguide.html)
+   to make onboarding easier.
+3. We describe what good code looks like rather than point out bad examples. We do this to avoid
+   excessively punishing people for writing code which fails the linter.
+4. When something isn't covered by the style guide, we come up with a reasonable rule rather than
+   claim that it "passes the linter". We update the style guide and linter accordingly.
+5. While we aim to improve readability, understanding, and other aspects of the code, we deliberately
+   do not let solely our personal preferences drive decisions.
+6. We aim to have an understandable guide.
+
+## Coding practices
+
+1. Lint rules enforce decisions made by this guide. The lint rules and this guide are kept in
+   perfect sync.
+2. Commit messages are descriptive for the changes. When the project supports squash merging,
+   only the squashed commit needs to have a descriptive message.
+3. When there is disagreement with a code style approved by the linter, a PR is opened against
+   the lint rules rather than making exceptions on the responsible code PR.
+4. Rules which are intentionally broken (via eslint-ignore, @ts-ignore, etc) have a comment
+   included in the immediate vicinity for why. Determination of whether this is valid applies at
+   code review time.
+5. When editing a file, nearby code is updated to meet the modern standards. "Nearby" is subjective,
+   but should be whatever is reasonable at review time. Such an example might be to update the
+   class's code style, but not the file's.
+    1. These changes should be minor enough to include in the same commit without affecting a code
+       reviewer's job.
+
+## All code
+
+Unless otherwise specified, the following applies to all code:
+
+1. Files must be formatted with Prettier.
+2. 120 character limit per line. Match existing code in the file if it is using a lower guide.
+3. A tab/indentation is 4 spaces.
+4. Newlines are Unix.
+5. A file has a single empty line at the end.
+6. Lines are trimmed of all excess whitespace, including blank lines.
+7. Long lines are broken up for readability.
+
+## TypeScript / JavaScript
+
+1. Write TypeScript. Turn JavaScript into TypeScript when working in the area.
+2. Use [TSDoc](https://tsdoc.org/) to document your code. See [Comments](#comments) below.
+3. Use named exports.
+4. Use semicolons for block/line termination.
+    1. Except when defining interfaces, classes, and non-arrow functions specifically.
+5. When a statement's body is a single line, it must be written without curly braces, so long as the body is placed on
+   the same line as the statement.
+
+    ```typescript
+    if (x) doThing();
+    ```
+
+6. Blocks for `if`, `for`, `switch` and so on must have a space surrounding the condition, but not
+   within the condition.
+
+    ```typescript
+    if (x) {
+        doThing();
+    }
+    ```
+
+7. lowerCamelCase is used for function and variable naming.
+8. UpperCamelCase is used for general naming.
+9. Interface names should not be marked with an uppercase `I`.
+10. One variable declaration per line.
+11. If a variable is not receiving a value on declaration, its type must be defined.
+
+    ```typescript
+    let errorMessage: Optional;
+    ```
+
+12. Objects can use shorthand declarations, including mixing of types.
+
+    ```typescript
+    {
+        room,
+        prop: this.prop,
+    }
+    // ... or ...
+    { room, prop: this.prop }
+    ```
+
+13. Object keys should always be non-strings when possible.
+
+    ```typescript
+    {
+        property: "value",
+        "m.unavoidable": true,
+        [EventType.RoomMessage]: true,
+    }
+    ```
+
+14. If a variable's type should be boolean, make sure it really is one.
+
+    ```typescript
+    const isRealUser = !!userId && ...; // good
+    const isRealUser = Boolean(userId) && Boolean(userName); // also good
+    const isRealUser = Boolean(userId) && isReal; // also good (where isReal is another boolean variable)
+    const isRealUser = Boolean(userId && userName); // also fine
+    const isRealUser = Boolean(userId || userName); // good: same as &&
+    const isRealUser = userId && ...;   // bad: isRealUser is userId's type, not a boolean
+
+    if (userId) // fine: userId is evaluated for truthiness, not stored as a boolean
+    ```
+
+15. Use `switch` statements when checking against more than a few enum-like values.
+16. Use `const` for constants, `let` for mutability.
+17. Describe types exhaustively (ensure noImplictAny would pass).
+    1. Notable exceptions are arrow functions used as parameters, when a void return type is
+       obvious, and when declaring and assigning a variable in the same line.
+18. Declare member visibility (public/private/protected).
+19. Private members are private and not prefixed unless required for naming conflicts.
+    1. Convention is to use an underscore or the word "internal" to denote conflicted member names.
+    2. "Conflicted" typically refers to a getter which wants the same name as the underlying variable.
+20. Prefer readonly members over getters backed by a variable, unless an internal setter is required.
+21. Prefer Interfaces for object definitions, and types for parameter-value-only declarations.
+
+    1. Note that an explicit type is optional if not expected to be used outside of the function call,
+       unlike in this example:
+
+        ```typescript
+        interface MyObject {
+            hasString: boolean;
+        }
+
+        type Options = MyObject | string;
+
+        function doThing(arg: Options) {
+            // ...
+        }
+        ```
+
+22. Variables/properties which are `public static` should also be `readonly` when possible.
+23. Interface and type properties are terminated with semicolons, not commas.
+24. Prefer arrow formatting when declaring functions for interfaces/types:
+
+    ```typescript
+    interface Test {
+        myCallback: (arg: string) => Promise;
+    }
+    ```
+
+25. Prefer a type definition over an inline type. For example, define an interface.
+26. Always prefer to add types or declare a type over the use of `any`. Prefer inferred types
+    when they are not `any`.
+    1. When using `any`, a comment explaining why must be present.
+27. `import` should be used instead of `require`, as `require` does not have types.
+28. Export only what can be reused.
+29. Prefer a type like `Optional` (`type Optional = T | null | undefined`) instead
+    of truly optional parameters.
+
+    1. A notable exception is when the likelihood of a bug is minimal, such as when a function
+       takes an argument that is more often not required than required. An example where the
+       `?` operator is inappropriate is when taking a room ID: typically the caller should
+       supply the room ID if it knows it, otherwise deliberately acknowledge that it doesn't
+       have one with `null`.
+
+        ```typescript
+        function doThingWithRoom(
+            thing: string,
+            room: Optional, // require the caller to specify
+        ) {
+            // ...
+        }
+        ```
+
+30. There should be approximately one interface, class, or enum per file unless the file is named
+    "types.ts", "global.d.ts", or ends with "-types.ts".
+    1. The file name should match the interface, class, or enum name.
+31. Bulk functions can be declared in a single file, though named as "foo-utils.ts" or "utils/foo.ts".
+32. Imports are grouped by external module imports first, then by internal imports.
+33. File ordering is not strict, but should generally follow this sequence:
+    1. Licence header
+    2. Imports
+    3. Constants
+    4. Enums
+    5. Interfaces
+    6. Functions
+    7. Classes
+        1. Public/protected/private static properties
+        2. Public/protected/private properties
+        3. Constructors
+        4. Public/protected/private getters & setters
+        5. Protected and abstract functions
+        6. Public/private functions
+        7. Public/protected/private static functions
+34. Variable names should be noticeably unique from their types. For example, "str: string" instead
+    of "string: string".
+35. Use double quotes to enclose strings. You may use single quotes if the string contains double quotes.
+
+    ```typescript
+    const example1 = "simple string";
+    const example2 = 'string containing "double quotes"';
+    ```
+
+36. Prefer async-await to promise-chaining
+
+    ```typescript
+    async function () {
+        const result = await anotherAsyncFunction();
+        // ...
+    }
+    ```
+
+37. Avoid functions whose fundamental behaviour varies with different parameter types.
+    Multiple return types are fine, but if the function's behaviour is going to change significantly,
+    have two separate functions. For example, `SDKConfig.get()` with a string param which returns the
+    type according to the param given is ok, but `SDKConfig.get()` with no args returning the whole
+    config object would not be: this should just be a separate function.
+
+## React
+
+Inheriting all the rules of TypeScript, the following additionally apply:
+
+1. Types for lifecycle functions are not required (render, componentDidMount, and so on).
+2. Class components must always have a `Props` interface declared immediately above them. It can be
+   empty if the component accepts no props.
+3. Class components should have an `State` interface declared immediately above them, but after `Props`.
+4. Props and State should not be exported. Use `React.ComponentProps`
+   instead.
+5. One component per file, except when a component is a utility component specifically for the "primary"
+   component. The utility component should not be exported.
+6. Exported constants, enums, interfaces, functions, etc must be separate from files containing components
+   or stores.
+7. Stores should use a singleton pattern with a static instance property:
+
+    ```typescript
+    class FooStore {
+        public static readonly instance = new FooStore();
+
+        // or if the instance can't be created eagerly:
+        private static _instance: FooStore;
+        public static get instance(): FooStore {
+            if (!FooStore._instance) {
+                FooStore._instance = new FooStore();
+            }
+            return FooStore._instance;
+        }
+    }
+    ```
+
+8. Stores must support using an alternative MatrixClient and dispatcher instance.
+9. Utilities which require JSX must be split out from utilities which do not. This is to prevent import
+   cycles during runtime where components accidentally include more of the app than they intended.
+10. Interdependence between stores should be kept to a minimum. Break functions and constants out to utilities
+    if at all possible.
+11. A component should only use CSS class names in line with the component name.
+
+    1. When knowingly using a class name from another component, document it with a [comment](#comments).
+
+12. Curly braces within JSX should be padded with a space, however properties on those components should not.
+    See above code example.
+13. Functions used as properties should either be defined on the class or stored in a variable. They should not
+    be inline unless mocking/short-circuiting the value.
+14. Prefer hooks (functional components) over class components. Be consistent with the existing area if unsure
+    which should be used.
+    1. Unless the component is considered a "structure", in which case use classes.
+15. Write more views than structures. Structures are chunks of functionality like MatrixChat while views are
+    isolated components.
+16. Components should serve a single, or near-single, purpose.
+17. Prefer to derive information from component properties rather than establish state.
+18. Do not use `React.Component::forceUpdate`.
+
+## Stylesheets (\*.pcss = PostCSS + Plugins)
+
+Note: We use PostCSS + some plugins to process our styles. It looks like SCSS, but actually it is not.
+
+1. Class names must be prefixed with "mx\_".
+2. Class names must denote the component which defines them, followed by any context.
+   The context is not further specified here in terms of meaning or syntax.
+   Use whatever is appropriate for your implementation use case.
+   Some examples:
+    1. `mx_MyFoo`
+    2. `mx_MyFoo_avatar`
+    3. `mx_MyFoo_avatarUser`
+    4. `mx_MyFoo_avatar--user`
+3. Use the `$font` variables instead of manual values.
+4. Keep indentation/nesting to a minimum. Maximum suggested nesting is 5 layers.
+5. Use the whole class name instead of shortcuts:
+
+    ```scss
+    .mx_MyFoo {
+        & .mx_MyFoo_avatar {
+            // instead of &_avatar
+            // ...
+        }
+    }
+    ```
+
+6. Break multiple selectors over multiple lines this way:
+
+    ```scss
+    .mx_MyFoo,
+    .mx_MyBar,
+    .mx_MyFooBar {
+        // ...
+    }
+    ```
+
+7. Non-shared variables should use $lowerCamelCase. Shared variables use $dashed-naming.
+8. Overrides to Z indexes, adjustments of dimensions/padding with pixels, and so on should all be
+   [documented](#comments) for what the values mean:
+
+    ```scss
+    .mx_MyFoo {
+        width: calc(100% - 12px); // 12px for read receipts
+        top: -2px; // visually centred vertically
+        z-index: 10; // above user avatar, but below dialogs
+    }
+    ```
+
+9. Avoid the use of `!important`. If `!important` is necessary, add a [comment](#comments) explaining why.
+
+## Tests
+
+1. Tests must be written in TypeScript.
+2. Jest mocks are declared below imports, but above everything else.
+3. Use the following convention template:
+
+    ```typescript
+    // Describe the class, component, or file name.
+    describe("FooComponent", () => {
+        // all test inspecific variables go here
+
+        beforeEach(() => {
+            // exclude if not used.
+        });
+
+        afterEach(() => {
+            // exclude if not used.
+        });
+
+        // Use "it should..." terminology
+        it("should call the correct API", async () => {
+            // test-specific variables go here
+            // function calls/state changes go here
+            // expectations go here
+        });
+    });
+
+    // If the file being tested is a utility class:
+    describe("foo-utils", () => {
+        describe("firstUtilFunction", () => {
+            it("should...", async () => {
+                // ...
+            });
+        });
+
+        describe("secondUtilFunction", () => {
+            it("should...", async () => {
+                // ...
+            });
+        });
+    });
+    ```
+
+## Comments
+
+1. As a general principle: be liberal with comments. This applies to all files: stylesheets as well as
+   JavaScript/TypeScript.
+
+    Good comments not only help future readers understand and maintain the code; they can also encourage good design
+    by clearly setting out how different parts of the codebase interact where that would otherwise be implicit and
+    subject to interpretation.
+
+2. Aim to document all types, methods, class properties, functions, etc, with [TSDoc](https://tsdoc.org/) doc comments.
+   This is _especially_ important for public interfaces in `matrix-js-sdk`, but is good practice in general.
+
+    Even very simple interfaces can often benefit from a doc-comment, both as a matter of consistency, and because simple
+    interfaces have a habit of becoming more complex over time.
+
+3. React components should be documented in the same way as other classes or functions. The documentation should give
+   a brief description of how the component should be used, and, especially for more complex components, each of its
+   properties should be clearly documented.
+
+4. Inside a function, there is no need to comment every line, but consider:
+
+    - before a particular multiline section of code within the function, give an overview of what it does,
+      to make it easier for a reader to follow the flow through the function as a whole.
+    - if it is anything less than obvious, explain _why_ we are doing a particular operation, with particular emphasis
+      on how this function interacts with other parts of the codebase.
+
+5. When making changes to existing code, authors are expected to read existing comments and make any necessary changes
+   to ensure they remain accurate.
+
+6. Reviewers are encouraged to consider whether more comments would be useful, and to ask the author to add them.
+
+    It is natural for an author to feel that the code they have just written is "obvious" and that comments would be
+    redundant, whereas in reality it would take some time for reader unfamiliar with the code to understand it. A
+    reviewer is well-placed to make a more objective judgement.
diff --git a/components.json b/components.json
new file mode 100644
index 0000000000..cc5046ed69
--- /dev/null
+++ b/components.json
@@ -0,0 +1,5 @@
+{
+    "src/components/views/auth/AuthFooter.tsx": "src/components/views/auth/VectorAuthFooter.tsx",
+    "src/components/views/auth/AuthHeaderLogo.tsx": "src/components/views/auth/VectorAuthHeaderLogo.tsx",
+    "src/components/views/auth/AuthPage.tsx": "src/components/views/auth/VectorAuthPage.tsx"
+}
diff --git a/config.sample.json b/config.sample.json
index a4110a1597..579b28619a 100644
--- a/config.sample.json
+++ b/config.sample.json
@@ -12,7 +12,7 @@
     "disable_guests": false,
     "disable_login_language_selector": false,
     "disable_3pid_login": false,
-    "brand": "Riot",
+    "brand": "Element",
     "integrations_ui_url": "https://scalar.vector.im/",
     "integrations_rest_url": "https://scalar.vector.im/api",
     "integrations_widgets_urls": [
@@ -22,39 +22,28 @@
         "https://scalar-staging.vector.im/api",
         "https://scalar-staging.riot.im/scalar/api"
     ],
-    "bug_report_endpoint_url": "https://riot.im/bugreports/submit",
-    "defaultCountryCode": "GB",
-    "showLabsSettings": false,
-    "features": {
-        "feature_font_scaling": "labs",
-        "feature_pinning": "labs",
-        "feature_custom_status": "labs",
-        "feature_custom_tags": "labs",
-        "feature_state_counters": "labs",
-        "feature_irc_ui": "labs"
-    },
+    "default_country_code": "GB",
+    "show_labs_settings": false,
+    "features": {},
     "default_federate": true,
     "default_theme": "light",
-    "roomDirectory": {
-        "servers": [
-            "matrix.org"
-        ]
-    },
-    "welcomeUserId": "@riot-bot:matrix.org",
-    "piwik": {
-        "url": "https://piwik.riot.im/",
-        "whitelistedHSUrls": ["https://matrix.org"],
-        "whitelistedISUrls": ["https://vector.im", "https://matrix.org"],
-        "siteId": 1
+    "room_directory": {
+        "servers": ["matrix.org"]
     },
     "enable_presence_by_hs_url": {
         "https://matrix.org": false,
         "https://matrix-client.matrix.org": false
     },
-    "settingDefaults": {
+    "setting_defaults": {
         "breadcrumbs": true
     },
     "jitsi": {
-        "preferredDomain": "jitsi.riot.im"
-    }
+        "preferred_domain": "meet.element.io"
+    },
+    "element_call": {
+        "url": "https://call.element.io",
+        "participant_limit": 8,
+        "brand": "Element Call"
+    },
+    "map_style_url": "https://api.maptiler.com/maps/streets/style.json?key=fU3vlMsMn4Jb6dnEIFsx"
 }
diff --git a/contribute.json b/contribute.json
index 0f9ceed38c..ac2ebab2bf 100644
--- a/contribute.json
+++ b/contribute.json
@@ -1,17 +1,13 @@
 {
-  "name": "Riot",
+    "name": "Element",
     "description": "A glossy Matrix collaboration client for the web.",
     "repository": {
-      "url": "https://github.com/vector-im/riot-web",
-      "license": "Apache License 2.0"
+        "url": "https://github.com/element-hq/element-web",
+        "license": "Apache License 2.0"
     },
     "bugs": {
-      "list": "https://github.com/vector-im/riot-web/issues",
-      "report": "https://github.com/vector-im/riot-web/issues/new/choose"
+        "list": "https://github.com/element-hq/element-web/issues",
+        "report": "https://github.com/element-hq/element-web/issues/new/choose"
     },
-    "keywords": [
-      "chat",
-      "riot",
-      "matrix"
-    ]
+    "keywords": ["chat", "riot", "matrix"]
 }
diff --git a/debian/.gitignore b/debian/.gitignore
new file mode 100644
index 0000000000..7b52740dcd
--- /dev/null
+++ b/debian/.gitignore
@@ -0,0 +1,2 @@
+/files
+/tmp
diff --git a/debian/conffiles b/debian/conffiles
new file mode 100644
index 0000000000..a0be536ef5
--- /dev/null
+++ b/debian/conffiles
@@ -0,0 +1 @@
+/etc/element-web/config.json
diff --git a/debian/control b/debian/control
new file mode 100755
index 0000000000..158c3ada17
--- /dev/null
+++ b/debian/control
@@ -0,0 +1,13 @@
+Source: element-web
+Maintainer: support@element.io
+Section: web
+Priority: optional
+Homepage: https://element.io/
+
+Package: element-web
+Architecture: all
+Recommends: httpd, element-io-archive-keyring
+Description:
+  A feature-rich client for Matrix.org
+  This package contains the web-based client that can be served through a web
+   server.
diff --git a/docs/SUMMARY.md b/docs/SUMMARY.md
new file mode 100644
index 0000000000..cbf6237dd5
--- /dev/null
+++ b/docs/SUMMARY.md
@@ -0,0 +1,41 @@
+# Summary
+
+-   [Introduction](../README.md)
+
+# Usage
+
+-   [Betas](betas.md)
+-   [Labs](labs.md)
+
+# Setup
+
+-   [Install](install.md)
+-   [Config](config.md)
+-   [Custom home page](custom-home.md)
+-   [Kubernetes](kubernetes.md)
+-   [Jitsi](jitsi.md)
+-   [Encryption](e2ee.md)
+
+# Build
+
+-   [Customisations](customisations.md)
+-   [Modules](modules.md)
+-   [Native Node modules](native-node-modules.md)
+
+# Contribution
+
+-   [Choosing an issue](choosing-an-issue.md)
+-   [Translation](translating.md)
+-   [Netlify builds](pr-previews.md)
+-   [Code review](review.md)
+
+# Development
+
+-   [App load order](app-load.md)
+-   [Translation](translating-dev.md)
+-   [Theming](theming.md)
+-   [Memory profiling](memory-profiles-and-leaks.md)
+-   [Jitsi](jitsi-dev.md)
+-   [Feature flags](feature-flags.md)
+-   [OIDC and delegated authentication](oidc.md)
+-   [Release Process](release.md)
diff --git a/docs/app-load.md b/docs/app-load.md
index bdc0243c50..849e95cb8d 100644
--- a/docs/app-load.md
+++ b/docs/app-load.md
@@ -1,81 +1,108 @@
 # App load order
 
+**Dev note**: As of March 2022, the skin is no longer part of the app load order at all. The document's graphs have
+been kept untouched for posterity.
+
 Old slow flow:
-![image](https://user-images.githubusercontent.com/2403652/73848963-00a2a080-4821-11ea-97d4-1200fc2638f3.png)
+
+```mermaid
+flowchart TD
+    A1(((load_modernizr))) --> B
+    A2((rageshake)) --> B
+    B(((skin))) --> C
+    C(((olm))) --> D
+    D{mobile} --> E
+    E((config)) --> F
+    F((i18n)) --> G
+    style F stroke:lime
+    G(((theme))) --> H
+    H(((modernizr))) --> app
+    style H stroke:red
+```
 
 Current more parallel flow:
-![image](https://user-images.githubusercontent.com/2403652/83146440-303a2900-a0ee-11ea-806b-4f53f039b957.png)
 
-
Code -

-


-digraph G {
-  node [shape=box];
+```mermaid
+flowchart TD
+    subgraph index.ts
+        style index.ts stroke:orange
 
-  subgraph cluster_0 {
-    color=orange;
-    node [style=filled];
-    label = "index.ts";
+        A[/rageshake/] --> B{mobile}
+        B-- No -->C1(.)
+        B-- Yes -->C2((redirect))
+        C1 --> D[/olm/] --> R
+        C1 --> E[platform] --> F[/config/]
+        F --> G1[/skin/]
+        F --> R
+        G1 --> H
+        G1 --> R
+        F --> G2[/theme/]
+        G2 --> H
+        G2 --> R
+        F --> G3[/i18n/]
+        G3 --> H
+        G3 --> R
+        H{modernizr}-- No --> J((incompatible))-- user ignore --> R
+        H-- Yes --> R
 
-    entrypoint, s0, ready [shape=point];
-    rageshake, config, i18n, theme, skin, olm [shape=parallelogram];
-    mobile [shape=diamond, label="mobile"];
-    modernizr [shape=diamond];
-    redirect, incompatible [shape=egg];
+        linkStyle 0,7,9,11,12,14,15 stroke:blue;
+        linkStyle 4,8,10,13,16 stroke:red;
+    end
 
-    entrypoint -> rageshake;
-    rageshake -> mobile [color=blue];
-    mobile -> s0 [label="No"];
-    mobile -> redirect [label="Yes"];
+    R>ready] --> 2A
+    style R stroke:gray
 
-    s0 -> platform;
-    s0 -> olm;
-    platform -> config;
+    subgraph init.tsx
+        style init.tsx stroke:lime
+        2A[loadApp] --> 2B[matrixchat]
+    end
 
-    config -> i18n [color=blue];
-    config -> theme [color=blue];
-    config -> skin [color=blue];
-
-    i18n -> modernizr [color=blue];
-    theme -> modernizr [color=blue];
-    skin -> modernizr [color=blue];
-
-    modernizr -> ready [label="Yes"];
-    modernizr -> incompatible [label="No"];
-    incompatible -> ready [label="user ignore"];
-
-    olm -> ready [color=red];
-    config -> ready [color=red];
-    skin -> ready [color=red];
-    theme -> ready [color=red];
-    i18n -> ready [color=red];
-  }
-
-  subgraph cluster_1 {
-    color = green;
-    node [style=filled];
-    label = "init.tsx";
-
-    ready -> loadApp;
-    loadApp -> matrixchat;
-  }
-}
-
-

-
+``` Key: -+ Parallelogram: async/await task -+ Box: sync task -+ Diamond: conditional branch -+ Egg: user interaction -+ Blue arrow: async task is allowed to settle but allowed to fail -+ Red arrow: async task success is asserted + +- Parallelogram: async/await task +- Box: sync task +- Diamond: conditional branch +- Circle: user interaction +- Blue arrow: async task is allowed to settle but allowed to fail +- Red arrow: async task success is asserted Notes: -+ A task begins when all its dependencies (arrows going into it) are fulfilled. -+ The success of setting up rageshake is never asserted, riot-web has a fallback path for running without IDB (and thus rageshake). -+ Everything is awaited to be settled before the Modernizr check, to allow it to make use of things like i18n if they are successful. + +- A task begins when all its dependencies (arrows going into it) are fulfilled. +- The success of setting up rageshake is never asserted, element-web has a fallback path for running without IDB (and thus rageshake). +- Everything is awaited to be settled before the Modernizr check, to allow it to make use of things like i18n if they are successful. Underlying dependencies: -![image](https://user-images.githubusercontent.com/2403652/73848977-08624500-4821-11ea-9830-bb0317c41086.png) + +```mermaid +flowchart TD + A((rageshake)) + B{mobile} + C((config)) + D(((olm))) + E((i18n)) + F(((load_modernizr))) + G(((modernizr))) + H(((skin))) + I(((theme))) + X[app] + + A --> G + A --> B + A-- assert -->X + F --> G --> X + G --> H --> X + C --> I --> X + C --> E --> X + E --> G + B --> C-- assert -->X + B --> D --> X + + style X stroke:red + style G stroke:red + style E stroke:lime + linkStyle 0,11 stroke:yellow; + linkStyle 2,13 stroke:red; +``` diff --git a/docs/betas.md b/docs/betas.md new file mode 100644 index 0000000000..e1adb0e604 --- /dev/null +++ b/docs/betas.md @@ -0,0 +1,14 @@ +# Beta features + +Beta features are features that are not ready for production yet but the team +wants more people to try the features and give feedback on them. + +Before a feature gets into its beta phase, it is often a labs feature (see +[Labs](https://github.com/element-hq/element-web/blob/develop/docs/labs.md)). + +**Be warned! Beta features may not be completely finalised or stable!** + +## Video rooms (`feature_video_rooms`) + +Enables support for creating and joining video rooms, which are persistent video +chats that users can jump in and out of. diff --git a/docs/changelogs/CHANGELOG-2022.md b/docs/changelogs/CHANGELOG-2022.md new file mode 100644 index 0000000000..d9ba881522 --- /dev/null +++ b/docs/changelogs/CHANGELOG-2022.md @@ -0,0 +1,1867 @@ +Changes in [1.11.17](https://github.com/vector-im/element-web/releases/tag/v1.11.17) (2022-12-21) +================================================================================================= + +## ✨ Features + * Add inline code formatting to rich text editor ([\#9720](https://github.com/matrix-org/matrix-react-sdk/pull/9720)). + * Add emoji handling for plain text mode of the new rich text editor ([\#9727](https://github.com/matrix-org/matrix-react-sdk/pull/9727)). + * Overlay virtual room call events into main timeline ([\#9626](https://github.com/matrix-org/matrix-react-sdk/pull/9626)). Fixes #22929. + * Adds a new section under "Room Settings" > "Roles & Permissions" which adds the possibility to multiselect users from this room and grant them more permissions. ([\#9596](https://github.com/matrix-org/matrix-react-sdk/pull/9596)). Contributed by @GoodGuyMarco. + * Add emoji handling for rich text mode ([\#9661](https://github.com/matrix-org/matrix-react-sdk/pull/9661)). + * Add setting to hide bold notifications ([\#9705](https://github.com/matrix-org/matrix-react-sdk/pull/9705)). + * Further password reset flow enhancements ([\#9662](https://github.com/matrix-org/matrix-react-sdk/pull/9662)). + * Snooze the bulk unverified sessions reminder on dismiss ([\#9706](https://github.com/matrix-org/matrix-react-sdk/pull/9706)). + * Honor advanced audio processing settings when recording voice messages ([\#9610](https://github.com/matrix-org/matrix-react-sdk/pull/9610)). Contributed by @MrAnno. + * Improve the visual balance of bubble layout ([\#9704](https://github.com/matrix-org/matrix-react-sdk/pull/9704)). + * Add config setting to disable bulk unverified sessions nag ([\#9657](https://github.com/matrix-org/matrix-react-sdk/pull/9657)). + * Only display bulk unverified sessions nag when current sessions is verified ([\#9656](https://github.com/matrix-org/matrix-react-sdk/pull/9656)). + * Separate labs and betas more clearly ([\#8969](https://github.com/matrix-org/matrix-react-sdk/pull/8969)). Fixes #22706. + * Show user an error if we fail to create a DM for verification. ([\#9624](https://github.com/matrix-org/matrix-react-sdk/pull/9624)). + +## 🐛 Bug Fixes + * Prevent unnecessary m.direct updates ([\#9805](https://github.com/matrix-org/matrix-react-sdk/pull/9805)). Fixes #24059. + * Fix checkForPreJoinUISI for thread roots ([\#9803](https://github.com/matrix-org/matrix-react-sdk/pull/9803)). Fixes #24054. + * Load RTE components only when RTE labs is enabled ([\#9804](https://github.com/matrix-org/matrix-react-sdk/pull/9804)). + * Fix issue where thread panel did not update correctly ([\#9746](https://github.com/matrix-org/matrix-react-sdk/pull/9746)). Fixes #23971. + * Remove async call to get virtual room from room load ([\#9743](https://github.com/matrix-org/matrix-react-sdk/pull/9743)). Fixes #23968. + * Check each thread for unread messages. ([\#9723](https://github.com/matrix-org/matrix-react-sdk/pull/9723)). + * Device manage - handle sessions that don't support encryption ([\#9717](https://github.com/matrix-org/matrix-react-sdk/pull/9717)). Fixes #23722. + * Fix hover state for formatting buttons (Rich text editor) (fix vector-im/element-web/issues/23832) ([\#9715](https://github.com/matrix-org/matrix-react-sdk/pull/9715)). + * Don't allow group calls to be unterminated ([\#9710](https://github.com/matrix-org/matrix-react-sdk/pull/9710)). + * Fix replies to emotes not showing as inline ([\#9707](https://github.com/matrix-org/matrix-react-sdk/pull/9707)). Fixes #23903. + * Update copy of 'Change layout' button to match Element Call ([\#9703](https://github.com/matrix-org/matrix-react-sdk/pull/9703)). + * Fix call splitbrains when switching between rooms ([\#9692](https://github.com/matrix-org/matrix-react-sdk/pull/9692)). + * bugfix: fix an issue where the Notifier would incorrectly fire for non-timeline events ([\#9664](https://github.com/matrix-org/matrix-react-sdk/pull/9664)). Fixes #17263. + * Fix power selector being wrongly disabled for admins themselves ([\#9681](https://github.com/matrix-org/matrix-react-sdk/pull/9681)). Fixes #23882. + * Show day counts in call durations ([\#9641](https://github.com/matrix-org/matrix-react-sdk/pull/9641)). + +Changes in [1.11.16](https://github.com/vector-im/element-web/releases/tag/v1.11.16) (2022-12-06) +================================================================================================= + +## ✨ Features + * Further improve replies ([\#6396](https://github.com/matrix-org/matrix-react-sdk/pull/6396)). Fixes #19074, #18194 #18027 and #19179. + * Enable users to join group calls from multiple devices ([\#9625](https://github.com/matrix-org/matrix-react-sdk/pull/9625)). + * fix(visual): make cursor a pointer for summaries ([\#9419](https://github.com/matrix-org/matrix-react-sdk/pull/9419)). Contributed by @r00ster91. + * Add placeholder for rich text editor ([\#9613](https://github.com/matrix-org/matrix-react-sdk/pull/9613)). + * Consolidate public room search experience ([\#9605](https://github.com/matrix-org/matrix-react-sdk/pull/9605)). Fixes #22846. + * New password reset flow ([\#9581](https://github.com/matrix-org/matrix-react-sdk/pull/9581)). Fixes #23131. + * Device manager - add tooltip to device details toggle ([\#9594](https://github.com/matrix-org/matrix-react-sdk/pull/9594)). + * sliding sync: add lazy-loading member support ([\#9530](https://github.com/matrix-org/matrix-react-sdk/pull/9530)). + * Limit formatting bar offset to top of composer ([\#9365](https://github.com/matrix-org/matrix-react-sdk/pull/9365)). Fixes #12359. Contributed by @owi92. + +## 🐛 Bug Fixes + * Fix issues around up arrow event edit shortcut ([\#9645](https://github.com/matrix-org/matrix-react-sdk/pull/9645)). Fixes #18497 and #18964. + * Fix search not being cleared when clicking on a result ([\#9635](https://github.com/matrix-org/matrix-react-sdk/pull/9635)). Fixes #23845. + * Fix screensharing in 1:1 calls ([\#9612](https://github.com/matrix-org/matrix-react-sdk/pull/9612)). Fixes #23808. + * Fix the background color flashing when joining a call ([\#9640](https://github.com/matrix-org/matrix-react-sdk/pull/9640)). + * Fix the size of the 'Private space' icon ([\#9638](https://github.com/matrix-org/matrix-react-sdk/pull/9638)). + * Fix reply editing in rich text editor (https ([\#9615](https://github.com/matrix-org/matrix-react-sdk/pull/9615)). + * Fix thread list jumping back down while scrolling ([\#9606](https://github.com/matrix-org/matrix-react-sdk/pull/9606)). Fixes #23727. + * Fix regression with TimelinePanel props updates not taking effect ([\#9608](https://github.com/matrix-org/matrix-react-sdk/pull/9608)). Fixes #23794. + * Fix form tooltip positioning ([\#9598](https://github.com/matrix-org/matrix-react-sdk/pull/9598)). Fixes #22861. + * Extract Search handling from RoomView into its own Component ([\#9574](https://github.com/matrix-org/matrix-react-sdk/pull/9574)). Fixes #498. + * Fix call splitbrains when switching between rooms ([\#9692](https://github.com/matrix-org/matrix-react-sdk/pull/9692)). + * [Backport staging] Fix replies to emotes not showing as inline ([\#9708](https://github.com/matrix-org/matrix-react-sdk/pull/9708)). + +Changes in [1.11.15](https://github.com/vector-im/element-web/releases/tag/v1.11.15) (2022-11-22) +================================================================================================= + +## ✨ Features + * Make clear notifications work with threads ([\#9575](https://github.com/matrix-org/matrix-react-sdk/pull/9575)). Fixes #23751. + * Change "None" to "Off" in notification options ([\#9539](https://github.com/matrix-org/matrix-react-sdk/pull/9539)). Contributed by @Arnei. + * Advanced audio processing settings ([\#8759](https://github.com/matrix-org/matrix-react-sdk/pull/8759)). Fixes #6278. Contributed by @MrAnno. + * Add way to create a user notice via config.json ([\#9559](https://github.com/matrix-org/matrix-react-sdk/pull/9559)). + * Improve design of the rich text editor ([\#9533](https://github.com/matrix-org/matrix-react-sdk/pull/9533)). Contributed by @florianduros. + * Enable user to zoom beyond image size ([\#5949](https://github.com/matrix-org/matrix-react-sdk/pull/5949)). Contributed by @jaiwanth-v. + * Fix: Move "Leave Space" option to the bottom of space context menu ([\#9535](https://github.com/matrix-org/matrix-react-sdk/pull/9535)). Contributed by @hanadi92. + +## 🐛 Bug Fixes + * Make build scripts work on NixOS ([\#23740](https://github.com/vector-im/element-web/pull/23740)). + * Fix integration manager `get_open_id_token` action and add E2E tests ([\#9520](https://github.com/matrix-org/matrix-react-sdk/pull/9520)). + * Fix links being mangled by markdown processing ([\#9570](https://github.com/matrix-org/matrix-react-sdk/pull/9570)). Fixes #23743. + * Fix: inline links selecting radio button ([\#9543](https://github.com/matrix-org/matrix-react-sdk/pull/9543)). Contributed by @hanadi92. + * Fix wrong error message in registration when phone number threepid is in use. ([\#9571](https://github.com/matrix-org/matrix-react-sdk/pull/9571)). Contributed by @bagvand. + * Fix missing avatar for show current profiles ([\#9563](https://github.com/matrix-org/matrix-react-sdk/pull/9563)). Fixes #23733. + * Fix read receipts trickling down correctly ([\#9567](https://github.com/matrix-org/matrix-react-sdk/pull/9567)). Fixes #23746. + * Resilience fix for homeserver without thread notification support ([\#9565](https://github.com/matrix-org/matrix-react-sdk/pull/9565)). + * Don't switch to the home page needlessly after leaving a room ([\#9477](https://github.com/matrix-org/matrix-react-sdk/pull/9477)). + * Differentiate download and decryption errors when showing images ([\#9562](https://github.com/matrix-org/matrix-react-sdk/pull/9562)). Fixes #3892. + * Close context menu when a modal is opened to prevent user getting stuck ([\#9560](https://github.com/matrix-org/matrix-react-sdk/pull/9560)). Fixes #15610 and #10781. + * Fix TimelineReset handling when no room associated ([\#9553](https://github.com/matrix-org/matrix-react-sdk/pull/9553)). + * Always use current profile on thread events ([\#9524](https://github.com/matrix-org/matrix-react-sdk/pull/9524)). Fixes #23648. + * Fix `ThreadView` tests not using thread flag ([\#9547](https://github.com/matrix-org/matrix-react-sdk/pull/9547)). Contributed by @MadLittleMods. + * Handle deletion of `m.call` events ([\#9540](https://github.com/matrix-org/matrix-react-sdk/pull/9540)). Fixes #23663. + * Fix incorrect notification count after leaving a room with notifications ([\#9518](https://github.com/matrix-org/matrix-react-sdk/pull/9518)). Contributed by @Arnei. + +Changes in [1.11.14](https://github.com/vector-im/element-web/releases/tag/v1.11.14) (2022-11-08) +================================================================================================= + +## ✨ Features + * Loading threads with server-side assistance ([\#9356](https://github.com/matrix-org/matrix-react-sdk/pull/9356)). Fixes #21807, #21799, #21911, #22141, #22157, #22641, #22501 #22438 and #21678. Contributed by @justjanne. + * Make thread replies trigger a room list re-ordering ([\#9510](https://github.com/matrix-org/matrix-react-sdk/pull/9510)). Fixes #21700. + * Device manager - add extra details to device security and renaming ([\#9501](https://github.com/matrix-org/matrix-react-sdk/pull/9501)). Contributed by @kerryarchibald. + * Add plain text mode to the wysiwyg composer ([\#9503](https://github.com/matrix-org/matrix-react-sdk/pull/9503)). Contributed by @florianduros. + * Sliding Sync: improve sort order, show subspace rooms, better tombstoned room handling ([\#9484](https://github.com/matrix-org/matrix-react-sdk/pull/9484)). + * Device manager - add learn more popups to filtered sessions section ([\#9497](https://github.com/matrix-org/matrix-react-sdk/pull/9497)). Contributed by @kerryarchibald. + * Show thread notification if thread timeline is closed ([\#9495](https://github.com/matrix-org/matrix-react-sdk/pull/9495)). Fixes #23589. + * Add message editing to wysiwyg composer ([\#9488](https://github.com/matrix-org/matrix-react-sdk/pull/9488)). Contributed by @florianduros. + * Device manager - confirm sign out of other sessions ([\#9487](https://github.com/matrix-org/matrix-react-sdk/pull/9487)). Contributed by @kerryarchibald. + * Automatically request logs from other users in a call when submitting logs ([\#9492](https://github.com/matrix-org/matrix-react-sdk/pull/9492)). + * Add thread notification with server assistance (MSC3773) ([\#9400](https://github.com/matrix-org/matrix-react-sdk/pull/9400)). Fixes #21114, #21413, #21416, #21433, #21481, #21798, #21823 #23192 and #21765. + * Support for login + E2EE set up with QR ([\#9403](https://github.com/matrix-org/matrix-react-sdk/pull/9403)). Contributed by @hughns. + * Allow pressing Enter to send messages in new composer ([\#9451](https://github.com/matrix-org/matrix-react-sdk/pull/9451)). Contributed by @andybalaam. + +## 🐛 Bug Fixes + * Fix regressions around media uploads failing and causing soft crashes ([\#9549](https://github.com/matrix-org/matrix-react-sdk/pull/9549)). Fixes matrix-org/element-web-rageshakes#16831, matrix-org/element-web-rageshakes#16824 matrix-org/element-web-rageshakes#16810 and vector-im/element-web#23641. + * Fix /myroomavatar slash command ([\#9536](https://github.com/matrix-org/matrix-react-sdk/pull/9536)). Fixes matrix-org/synapse#14321. + * Fix config.json failing to load for Jitsi wrapper in non-root deployment ([\#23577](https://github.com/vector-im/element-web/pull/23577)). + * Fix NotificationBadge unsent color ([\#9522](https://github.com/matrix-org/matrix-react-sdk/pull/9522)). Fixes #23646. + * Fix room list sorted by recent on app startup ([\#9515](https://github.com/matrix-org/matrix-react-sdk/pull/9515)). Fixes #23635. + * Reset custom power selector when blurred on empty ([\#9508](https://github.com/matrix-org/matrix-react-sdk/pull/9508)). Fixes #23481. + * Reinstate timeline/redaction callbacks when updating notification state ([\#9494](https://github.com/matrix-org/matrix-react-sdk/pull/9494)). Fixes #23554. + * Only render NotificationBadge when needed ([\#9493](https://github.com/matrix-org/matrix-react-sdk/pull/9493)). Fixes #23584. + * Fix embedded Element Call screen sharing ([\#9485](https://github.com/matrix-org/matrix-react-sdk/pull/9485)). Fixes #23571. + * Send Content-Type: application/json header for integration manager /register API ([\#9490](https://github.com/matrix-org/matrix-react-sdk/pull/9490)). Fixes #23580. + * Fix joining calls without audio or video inputs ([\#9486](https://github.com/matrix-org/matrix-react-sdk/pull/9486)). Fixes #23511. + * Ensure spaces in the spotlight dialog have rounded square avatars ([\#9480](https://github.com/matrix-org/matrix-react-sdk/pull/9480)). Fixes #23515. + * Only show mini avatar uploader in room intro when no avatar yet exists ([\#9479](https://github.com/matrix-org/matrix-react-sdk/pull/9479)). Fixes #23552. + * Fix threads fallback incorrectly targets root event ([\#9229](https://github.com/matrix-org/matrix-react-sdk/pull/9229)). Fixes #23147. + * Align video call icon with banner text ([\#9460](https://github.com/matrix-org/matrix-react-sdk/pull/9460)). + * Set relations helper when creating event tile context menu ([\#9253](https://github.com/matrix-org/matrix-react-sdk/pull/9253)). Fixes #22018. + * Device manager - put client/browser device metadata in correct section ([\#9447](https://github.com/matrix-org/matrix-react-sdk/pull/9447)). Contributed by @kerryarchibald. + * Update the room unread notification counter when the server changes the value without any related read receipt ([\#9438](https://github.com/matrix-org/matrix-react-sdk/pull/9438)). + +Changes in [1.11.13](https://github.com/vector-im/element-web/releases/tag/v1.11.13) (2022-11-01) +================================================================================================= + +## 🐛 Bug Fixes + * Fix default behavior of Room.getBlacklistUnverifiedDevices ([\#2830](https://github.com/matrix-org/matrix-js-sdk/pull/2830)). Contributed by @duxovni. + * Catch server versions API call exception when starting the client ([\#2828](https://github.com/matrix-org/matrix-js-sdk/pull/2828)). Fixes vector-im/element-web#23634. + * Fix authedRequest including `Authorization: Bearer undefined` for password resets ([\#2822](https://github.com/matrix-org/matrix-js-sdk/pull/2822)). Fixes vector-im/element-web#23655. + +Changes in [1.11.12](https://github.com/vector-im/element-web/releases/tag/v1.11.12) (2022-10-26) +================================================================================================= + +## 🐛 Bug Fixes + * Fix config.json failing to load for Jitsi wrapper in non-root deployment ([\#23577](https://github.com/vector-im/element-web/pull/23577)). + +Changes in [1.11.11](https://github.com/vector-im/element-web/releases/tag/v1.11.11) (2022-10-25) +================================================================================================= + +## ✨ Features + * Device manager - tweak string formatting of default device name ([\#23457](https://github.com/vector-im/element-web/pull/23457)). + * Add Element Call participant limit ([\#23431](https://github.com/vector-im/element-web/pull/23431)). + * Add Element Call `brand` ([\#23443](https://github.com/vector-im/element-web/pull/23443)). + * Include a file-safe room name and ISO date in chat exports ([\#9440](https://github.com/matrix-org/matrix-react-sdk/pull/9440)). Fixes #21812 and #19724. + * Room call banner ([\#9378](https://github.com/matrix-org/matrix-react-sdk/pull/9378)). Fixes #23453. Contributed by @toger5. + * Device manager - spinners while devices are signing out ([\#9433](https://github.com/matrix-org/matrix-react-sdk/pull/9433)). Fixes #15865. + * Device manager - silence call ringers when local notifications are silenced ([\#9420](https://github.com/matrix-org/matrix-react-sdk/pull/9420)). + * Pass the current language to Element Call ([\#9427](https://github.com/matrix-org/matrix-react-sdk/pull/9427)). + * Hide screen-sharing button in Element Call on desktop ([\#9423](https://github.com/matrix-org/matrix-react-sdk/pull/9423)). + * Add reply support to WysiwygComposer ([\#9422](https://github.com/matrix-org/matrix-react-sdk/pull/9422)). Contributed by @florianduros. + * Disconnect other connected devices (of the same user) when joining an Element call ([\#9379](https://github.com/matrix-org/matrix-react-sdk/pull/9379)). + * Device manager - device tile main click target ([\#9409](https://github.com/matrix-org/matrix-react-sdk/pull/9409)). + * Add formatting buttons to the rich text editor ([\#9410](https://github.com/matrix-org/matrix-react-sdk/pull/9410)). Contributed by @florianduros. + * Device manager - current session context menu ([\#9386](https://github.com/matrix-org/matrix-react-sdk/pull/9386)). + * Remove piwik config fallback for privacy policy URL ([\#9390](https://github.com/matrix-org/matrix-react-sdk/pull/9390)). + * Add the first step to integrate the matrix wysiwyg composer ([\#9374](https://github.com/matrix-org/matrix-react-sdk/pull/9374)). Contributed by @florianduros. + * Device manager - UA parsing tweaks ([\#9382](https://github.com/matrix-org/matrix-react-sdk/pull/9382)). + * Device manager - remove client information events when disabling setting ([\#9384](https://github.com/matrix-org/matrix-react-sdk/pull/9384)). + * Add Element Call participant limit ([\#9358](https://github.com/matrix-org/matrix-react-sdk/pull/9358)). + * Add Element Call room settings ([\#9347](https://github.com/matrix-org/matrix-react-sdk/pull/9347)). + * Device manager - render extended device information ([\#9360](https://github.com/matrix-org/matrix-react-sdk/pull/9360)). + * New group call experience: Room header and PiP designs ([\#9351](https://github.com/matrix-org/matrix-react-sdk/pull/9351)). + * Pass language to Jitsi Widget ([\#9346](https://github.com/matrix-org/matrix-react-sdk/pull/9346)). Contributed by @Fox32. + * Add notifications and toasts for Element Call calls ([\#9337](https://github.com/matrix-org/matrix-react-sdk/pull/9337)). + * Device manager - device type icon ([\#9355](https://github.com/matrix-org/matrix-react-sdk/pull/9355)). + * Delete the remainder of groups ([\#9357](https://github.com/matrix-org/matrix-react-sdk/pull/9357)). Fixes #22770. + * Device manager - display client information in device details ([\#9315](https://github.com/matrix-org/matrix-react-sdk/pull/9315)). + +## 🐛 Bug Fixes + * Send Content-Type: application/json header for integration manager /register API ([\#9490](https://github.com/matrix-org/matrix-react-sdk/pull/9490)). Fixes #23580. + * Make ErrorView & CompatibilityView scrollable ([\#23468](https://github.com/vector-im/element-web/pull/23468)). Fixes #23376. + * Device manager - put client/browser device metadata in correct section ([\#9447](https://github.com/matrix-org/matrix-react-sdk/pull/9447)). + * update the room unread notification counter when the server changes the value without any related read receipt ([\#9438](https://github.com/matrix-org/matrix-react-sdk/pull/9438)). + * Don't show call banners in video rooms ([\#9441](https://github.com/matrix-org/matrix-react-sdk/pull/9441)). + * Prevent useContextMenu isOpen from being true if the button ref goes away ([\#9418](https://github.com/matrix-org/matrix-react-sdk/pull/9418)). Fixes matrix-org/element-web-rageshakes#15637. + * Automatically focus the WYSIWYG composer when you enter a room ([\#9412](https://github.com/matrix-org/matrix-react-sdk/pull/9412)). + * Improve the tooltips on the call lobby join button ([\#9428](https://github.com/matrix-org/matrix-react-sdk/pull/9428)). + * Pass the homeserver's base URL to Element Call ([\#9429](https://github.com/matrix-org/matrix-react-sdk/pull/9429)). Fixes #23301. + * Better accommodate long room names in call toasts ([\#9426](https://github.com/matrix-org/matrix-react-sdk/pull/9426)). + * Hide virtual widgets from the room info panel ([\#9424](https://github.com/matrix-org/matrix-react-sdk/pull/9424)). Fixes #23494. + * Inhibit clicking on sender avatar in threads list ([\#9417](https://github.com/matrix-org/matrix-react-sdk/pull/9417)). Fixes #23482. + * Correct the dir parameter of MSC3715 ([\#9391](https://github.com/matrix-org/matrix-react-sdk/pull/9391)). Contributed by @dhenneke. + * Use a more correct subset of users in `/remakeolm` developer command ([\#9402](https://github.com/matrix-org/matrix-react-sdk/pull/9402)). + * use correct default for notification silencing ([\#9388](https://github.com/matrix-org/matrix-react-sdk/pull/9388)). Fixes #23456. + * Device manager - eagerly create `m.local_notification_settings` events ([\#9353](https://github.com/matrix-org/matrix-react-sdk/pull/9353)). + * Close incoming Element call toast when viewing the call lobby ([\#9375](https://github.com/matrix-org/matrix-react-sdk/pull/9375)). + * Always allow enabling sending read receipts ([\#9367](https://github.com/matrix-org/matrix-react-sdk/pull/9367)). Fixes #23433. + * Fixes (vector-im/element-web/issues/22609) where the white theme is not applied when `white -> dark -> white` sequence is done. ([\#9320](https://github.com/matrix-org/matrix-react-sdk/pull/9320)). Contributed by @florianduros. + * Fix applying programmatically set height for "top" room layout ([\#9339](https://github.com/matrix-org/matrix-react-sdk/pull/9339)). Contributed by @Fox32. + +Changes in [1.11.10](https://github.com/vector-im/element-web/releases/tag/v1.11.10) (2022-10-11) +================================================================================================= + +## 🐛 Bug Fixes + * Use correct default for notification silencing ([\#9388](https://github.com/matrix-org/matrix-react-sdk/pull/9388)). Fixes vector-im/element-web#23456. + +Changes in [1.11.9](https://github.com/vector-im/element-web/releases/tag/v1.11.9) (2022-10-11) +=============================================================================================== + +## Deprecations + * Legacy Piwik config.json option `piwik.policy_url` is deprecated in favour of `privacy_policy_url`. Support will be removed in the next release. + +## ✨ Features + * Device manager - select all devices ([\#9330](https://github.com/matrix-org/matrix-react-sdk/pull/9330)). Contributed by @kerryarchibald. + * New group call experience: Call tiles ([\#9332](https://github.com/matrix-org/matrix-react-sdk/pull/9332)). + * Add Shift key to FormatQuote keyboard shortcut ([\#9298](https://github.com/matrix-org/matrix-react-sdk/pull/9298)). Contributed by @owi92. + * Device manager - sign out of multiple sessions ([\#9325](https://github.com/matrix-org/matrix-react-sdk/pull/9325)). Contributed by @kerryarchibald. + * Display push toggle for web sessions (MSC3890) ([\#9327](https://github.com/matrix-org/matrix-react-sdk/pull/9327)). + * Add device notifications enabled switch ([\#9324](https://github.com/matrix-org/matrix-react-sdk/pull/9324)). + * Implement push notification toggle in device detail ([\#9308](https://github.com/matrix-org/matrix-react-sdk/pull/9308)). + * New group call experience: Starting and ending calls ([\#9318](https://github.com/matrix-org/matrix-react-sdk/pull/9318)). + * New group call experience: Room header call buttons ([\#9311](https://github.com/matrix-org/matrix-react-sdk/pull/9311)). + * Make device ID copyable in device list ([\#9297](https://github.com/matrix-org/matrix-react-sdk/pull/9297)). Contributed by @duxovni. + * Use display name instead of user ID when rendering power events ([\#9295](https://github.com/matrix-org/matrix-react-sdk/pull/9295)). + * Read receipts for threads ([\#9239](https://github.com/matrix-org/matrix-react-sdk/pull/9239)). Fixes #23191. + +## 🐛 Bug Fixes + * Use the correct sender key when checking shared secret ([\#2730](https://github.com/matrix-org/matrix-js-sdk/pull/2730)). Fixes vector-im/element-web#23374. + * Fix device selection in pre-join screen for Element Call video rooms ([\#9321](https://github.com/matrix-org/matrix-react-sdk/pull/9321)). Fixes #23331. + * Don't render a 1px high room topic if the room topic is empty ([\#9317](https://github.com/matrix-org/matrix-react-sdk/pull/9317)). Contributed by @Arnei. + * Don't show feedback prompts when that UIFeature is disabled ([\#9305](https://github.com/matrix-org/matrix-react-sdk/pull/9305)). Fixes #23327. + * Fix soft crash around unknown room pills ([\#9301](https://github.com/matrix-org/matrix-react-sdk/pull/9301)). Fixes matrix-org/element-web-rageshakes#15465. + * Fix spaces feedback prompt wrongly showing when feedback is disabled ([\#9302](https://github.com/matrix-org/matrix-react-sdk/pull/9302)). Fixes #23314. + * Fix tile soft crash in ReplyInThreadButton ([\#9300](https://github.com/matrix-org/matrix-react-sdk/pull/9300)). Fixes matrix-org/element-web-rageshakes#15493. + +Changes in [1.11.8](https://github.com/vector-im/element-web/releases/tag/v1.11.8) (2022-09-28) +=============================================================================================== + +## 🐛 Bug Fixes + * Bump IDB crypto store version ([\#2705](https://github.com/matrix-org/matrix-js-sdk/pull/2705)). + +Changes in [1.11.7](https://github.com/vector-im/element-web/releases/tag/v1.11.7) (2022-09-28) +=============================================================================================== + +## 🔒 Security +* Fix for [CVE-2022-39249](https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=CVE%2D2022%2D39249) +* Fix for [CVE-2022-39250](https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=CVE%2D2022%2D39250) +* Fix for [CVE-2022-39251](https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=CVE%2D2022%2D39251) +* Fix for [CVE-2022-39236](https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=CVE%2D2022%2D39236) + +Changes in [1.11.6](https://github.com/vector-im/element-web/releases/tag/v1.11.6) (2022-09-20) +========================================================================================================= + +## ✨ Features + * Element Call video rooms ([\#9267](https://github.com/matrix-org/matrix-react-sdk/pull/9267)). + * Device manager - rename session ([\#9282](https://github.com/matrix-org/matrix-react-sdk/pull/9282)). + * Allow widgets to read related events ([\#9210](https://github.com/matrix-org/matrix-react-sdk/pull/9210)). Contributed by @dhenneke. + * Device manager - logout of other session ([\#9280](https://github.com/matrix-org/matrix-react-sdk/pull/9280)). + * Device manager - logout current session ([\#9275](https://github.com/matrix-org/matrix-react-sdk/pull/9275)). + * Device manager - verify other devices ([\#9274](https://github.com/matrix-org/matrix-react-sdk/pull/9274)). + * Allow integration managers to remove users ([\#9211](https://github.com/matrix-org/matrix-react-sdk/pull/9211)). + * Device manager - add verify current session button ([\#9252](https://github.com/matrix-org/matrix-react-sdk/pull/9252)). + * Add NotifPanel dot back. ([\#9242](https://github.com/matrix-org/matrix-react-sdk/pull/9242)). Fixes #17641. + * Implement MSC3575: Sliding Sync ([\#8328](https://github.com/matrix-org/matrix-react-sdk/pull/8328)). + * Add the clipboard read permission for widgets ([\#9250](https://github.com/matrix-org/matrix-react-sdk/pull/9250)). Contributed by @stefanmuhle. + +## 🐛 Bug Fixes + * Make autocomplete pop-up wider in thread view ([\#9289](https://github.com/matrix-org/matrix-react-sdk/pull/9289)). + * Fix soft crash around inviting invalid MXIDs in start DM on first message flow ([\#9281](https://github.com/matrix-org/matrix-react-sdk/pull/9281)). Fixes matrix-org/element-web-rageshakes#15060 and matrix-org/element-web-rageshakes#15140. + * Fix in-reply-to previews not disappearing when swapping rooms ([\#9278](https://github.com/matrix-org/matrix-react-sdk/pull/9278)). + * Fix invalid instanceof operand window.OffscreenCanvas ([\#9276](https://github.com/matrix-org/matrix-react-sdk/pull/9276)). Fixes #23275. + * Fix memory leak caused by unremoved listener ([\#9273](https://github.com/matrix-org/matrix-react-sdk/pull/9273)). + * Fix thumbnail generation when offscreen canvas fails ([\#9272](https://github.com/matrix-org/matrix-react-sdk/pull/9272)). Fixes #23265. + * Prevent sliding sync from showing a room under multiple sublists ([\#9266](https://github.com/matrix-org/matrix-react-sdk/pull/9266)). + * Fix tile crash around tooltipify links ([\#9270](https://github.com/matrix-org/matrix-react-sdk/pull/9270)). Fixes #23253. + * Device manager - filter out nulled metadatas in device tile properly ([\#9251](https://github.com/matrix-org/matrix-react-sdk/pull/9251)). + * Fix a sliding sync bug which could cause rooms to loop ([\#9268](https://github.com/matrix-org/matrix-react-sdk/pull/9268)). + * Remove the grey gradient on images in bubbles in the timeline ([\#9241](https://github.com/matrix-org/matrix-react-sdk/pull/9241)). Fixes #21651. + * Fix html export not including images ([\#9260](https://github.com/matrix-org/matrix-react-sdk/pull/9260)). Fixes #22059. + * Fix possible soft crash from a race condition in space hierarchies ([\#9254](https://github.com/matrix-org/matrix-react-sdk/pull/9254)). Fixes matrix-org/element-web-rageshakes#15225. + * Disable all types of autocorrect, -complete, -capitalize, etc on Spotlight's search field ([\#9259](https://github.com/matrix-org/matrix-react-sdk/pull/9259)). + * Handle M_INVALID_USERNAME on /register/available ([\#9237](https://github.com/matrix-org/matrix-react-sdk/pull/9237)). Fixes #23161. + * Fix issue with quiet zone around QR code ([\#9243](https://github.com/matrix-org/matrix-react-sdk/pull/9243)). Fixes #23199. + +Changes in [1.11.5](https://github.com/vector-im/element-web/releases/tag/v1.11.5) (2022-09-13) +=============================================================================================== + +## ✨ Features + * Device manager - hide unverified security recommendation when only current session is unverified ([\#9228](https://github.com/matrix-org/matrix-react-sdk/pull/9228)). Contributed by @kerryarchibald. + * Device manager - scroll to filtered list from security recommendations ([\#9227](https://github.com/matrix-org/matrix-react-sdk/pull/9227)). Contributed by @kerryarchibald. + * Device manager - updated dropdown style in filtered device list ([\#9226](https://github.com/matrix-org/matrix-react-sdk/pull/9226)). Contributed by @kerryarchibald. + * Device manager - device type and verification icons on device tile ([\#9197](https://github.com/matrix-org/matrix-react-sdk/pull/9197)). Contributed by @kerryarchibald. + +## 🐛 Bug Fixes + * Description of DM room with more than two other people is now being displayed correctly ([\#9231](https://github.com/matrix-org/matrix-react-sdk/pull/9231)). Fixes #23094. + * Fix voice messages with multiple composers ([\#9208](https://github.com/matrix-org/matrix-react-sdk/pull/9208)). Fixes #23023. Contributed by @grimhilt. + * Fix suggested rooms going missing ([\#9236](https://github.com/matrix-org/matrix-react-sdk/pull/9236)). Fixes #23190. + * Fix tooltip infinitely recursing ([\#9235](https://github.com/matrix-org/matrix-react-sdk/pull/9235)). Fixes matrix-org/element-web-rageshakes#15107, matrix-org/element-web-rageshakes#15093 matrix-org/element-web-rageshakes#15092 and matrix-org/element-web-rageshakes#15077. + * Fix plain text export saving ([\#9230](https://github.com/matrix-org/matrix-react-sdk/pull/9230)). Contributed by @jryans. + * Add missing space in SecurityRoomSettingsTab ([\#9222](https://github.com/matrix-org/matrix-react-sdk/pull/9222)). Contributed by @gefgu. + * Make use of js-sdk roomNameGenerator to handle i18n for generated room names ([\#9209](https://github.com/matrix-org/matrix-react-sdk/pull/9209)). Fixes #21369. + * Fix progress bar regression throughout the app ([\#9219](https://github.com/matrix-org/matrix-react-sdk/pull/9219)). Fixes #23121. + * Reuse empty string & space string logic for event types in devtools ([\#9218](https://github.com/matrix-org/matrix-react-sdk/pull/9218)). Fixes #23115. + +Changes in [1.11.4](https://github.com/vector-im/element-web/releases/tag/v1.11.4) (2022-08-31) +=============================================================================================== + +## 🔒 Security +* Fixes for [CVE-2022-36059](https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=CVE%2D2022%2D36059) and [CVE-2022-36060](https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=CVE%2D2022%2D36060) + +Learn more about what we've been up to at https://element.io/blog/element-web-desktop-1-11-4-a-security-update-deferred-dms-and-more/ +Find more details of the vulnerabilities at https://matrix.org/blog/2022/08/31/security-releases-matrix-js-sdk-19-4-0-and-matrix-react-sdk-3-53-0 + +## ✨ Features + * Device manager - scroll to filtered list from security recommendations ([\#9227](https://github.com/matrix-org/matrix-react-sdk/pull/9227)). Contributed by @kerryarchibald. + * Device manager - updated dropdown style in filtered device list ([\#9226](https://github.com/matrix-org/matrix-react-sdk/pull/9226)). Contributed by @kerryarchibald. + * Device manager - device type and verification icons on device tile ([\#9197](https://github.com/matrix-org/matrix-react-sdk/pull/9197)). Contributed by @kerryarchibald. + * Ignore unreads in low priority rooms in the space panel ([\#6518](https://github.com/matrix-org/matrix-react-sdk/pull/6518)). Fixes #16836. + * Release message right-click context menu out of labs ([\#8613](https://github.com/matrix-org/matrix-react-sdk/pull/8613)). + * Device manager - expandable session details in device list ([\#9188](https://github.com/matrix-org/matrix-react-sdk/pull/9188)). Contributed by @kerryarchibald. + * Device manager - device list filtering ([\#9181](https://github.com/matrix-org/matrix-react-sdk/pull/9181)). Contributed by @kerryarchibald. + * Device manager - add verification details to session details ([\#9187](https://github.com/matrix-org/matrix-react-sdk/pull/9187)). Contributed by @kerryarchibald. + * Device manager - current session expandable details ([\#9185](https://github.com/matrix-org/matrix-react-sdk/pull/9185)). Contributed by @kerryarchibald. + * Device manager - security recommendations section ([\#9179](https://github.com/matrix-org/matrix-react-sdk/pull/9179)). Contributed by @kerryarchibald. + * The Welcome Home Screen: Return Button ([\#9089](https://github.com/matrix-org/matrix-react-sdk/pull/9089)). Fixes #22917. Contributed by @justjanne. + * Device manager - label devices as inactive ([\#9175](https://github.com/matrix-org/matrix-react-sdk/pull/9175)). Contributed by @kerryarchibald. + * Device manager - other sessions list ([\#9155](https://github.com/matrix-org/matrix-react-sdk/pull/9155)). Contributed by @kerryarchibald. + * Implement MSC3846: Allowing widgets to access TURN servers ([\#9061](https://github.com/matrix-org/matrix-react-sdk/pull/9061)). + * Allow widgets to send/receive to-device messages ([\#8885](https://github.com/matrix-org/matrix-react-sdk/pull/8885)). + +## 🐛 Bug Fixes + * Add super cool feature ([\#9222](https://github.com/matrix-org/matrix-react-sdk/pull/9222)). Contributed by @gefgu. + * Make use of js-sdk roomNameGenerator to handle i18n for generated room names ([\#9209](https://github.com/matrix-org/matrix-react-sdk/pull/9209)). Fixes #21369. + * Fix progress bar regression throughout the app ([\#9219](https://github.com/matrix-org/matrix-react-sdk/pull/9219)). Fixes #23121. + * Reuse empty string & space string logic for event types in devtools ([\#9218](https://github.com/matrix-org/matrix-react-sdk/pull/9218)). Fixes #23115. + * Reduce amount of requests done by the onboarding task list ([\#9194](https://github.com/matrix-org/matrix-react-sdk/pull/9194)). Fixes #23085. Contributed by @justjanne. + * Avoid hardcoding branding in user onboarding ([\#9206](https://github.com/matrix-org/matrix-react-sdk/pull/9206)). Fixes #23111. Contributed by @justjanne. + * End jitsi call when member is banned ([\#8879](https://github.com/matrix-org/matrix-react-sdk/pull/8879)). Contributed by @maheichyk. + * Fix context menu being opened when clicking message action bar buttons ([\#9200](https://github.com/matrix-org/matrix-react-sdk/pull/9200)). Fixes #22279 and #23100. + * Add gap between checkbox and text in report dialog following the same pattern (8px) used in the gap between the two buttons. It fixes vector-im/element-web#23060 ([\#9195](https://github.com/matrix-org/matrix-react-sdk/pull/9195)). Contributed by @gefgu. + * Fix url preview AXE and layout issue & add percy test ([\#9189](https://github.com/matrix-org/matrix-react-sdk/pull/9189)). Fixes #23083. + * Wrap long space names ([\#9201](https://github.com/matrix-org/matrix-react-sdk/pull/9201)). Fixes #23095. + * Attempt to fix `Failed to execute 'removeChild' on 'Node'` ([\#9196](https://github.com/matrix-org/matrix-react-sdk/pull/9196)). + * Fix soft crash around space hierarchy changing between spaces ([\#9191](https://github.com/matrix-org/matrix-react-sdk/pull/9191)). Fixes matrix-org/element-web-rageshakes#14613. + * Fix soft crash around room view store metrics ([\#9190](https://github.com/matrix-org/matrix-react-sdk/pull/9190)). Fixes matrix-org/element-web-rageshakes#14361. + * Fix the same person appearing multiple times when searching for them. ([\#9177](https://github.com/matrix-org/matrix-react-sdk/pull/9177)). Fixes #22851. + * Fix space panel subspace indentation going missing ([\#9167](https://github.com/matrix-org/matrix-react-sdk/pull/9167)). Fixes #23049. + * Fix invisible power levels tile when showing hidden events ([\#9162](https://github.com/matrix-org/matrix-react-sdk/pull/9162)). Fixes #23013. + * Space panel accessibility improvements ([\#9157](https://github.com/matrix-org/matrix-react-sdk/pull/9157)). Fixes #22995. + * Fix inverted logic for showing UserWelcomeTop component ([\#9164](https://github.com/matrix-org/matrix-react-sdk/pull/9164)). Fixes #23037. + +Changes in [1.11.3](https://github.com/vector-im/element-web/releases/tag/v1.11.3) (2022-08-16) +=============================================================================================== + +## ✨ Features + * Improve auth aria attributes and semantics ([\#22948](https://github.com/vector-im/element-web/pull/22948)). + * Device manager - New device tile info design ([\#9122](https://github.com/matrix-org/matrix-react-sdk/pull/9122)). Contributed by @kerryarchibald. + * Device manager generic settings subsection component ([\#9147](https://github.com/matrix-org/matrix-react-sdk/pull/9147)). Contributed by @kerryarchibald. + * Migrate the hidden read receipts flag to new "send read receipts" option ([\#9141](https://github.com/matrix-org/matrix-react-sdk/pull/9141)). + * Live location sharing - share location at most every 5 seconds ([\#9148](https://github.com/matrix-org/matrix-react-sdk/pull/9148)). Contributed by @kerryarchibald. + * Increase max length of voice messages to 15m ([\#9133](https://github.com/matrix-org/matrix-react-sdk/pull/9133)). Fixes #18620. + * Move pin drop out of labs ([\#9135](https://github.com/matrix-org/matrix-react-sdk/pull/9135)). + * Start DM on first message ([\#8612](https://github.com/matrix-org/matrix-react-sdk/pull/8612)). Fixes #14736. + * Remove "Add Space" button from RoomListHeader when user cannot create spaces ([\#9129](https://github.com/matrix-org/matrix-react-sdk/pull/9129)). + * The Welcome Home Screen: Dedicated Download Apps Dialog ([\#9120](https://github.com/matrix-org/matrix-react-sdk/pull/9120)). Fixes #22921. Contributed by @justjanne. + * The Welcome Home Screen: "Submit Feedback" pane ([\#9090](https://github.com/matrix-org/matrix-react-sdk/pull/9090)). Fixes #22918. Contributed by @justjanne. + * New User Onboarding Task List ([\#9083](https://github.com/matrix-org/matrix-react-sdk/pull/9083)). Fixes #22919. Contributed by @justjanne. + * Add support for disabling spell checking ([\#8604](https://github.com/matrix-org/matrix-react-sdk/pull/8604)). Fixes #21901. + * Live location share - leave maximised map open when beacons expire ([\#9098](https://github.com/matrix-org/matrix-react-sdk/pull/9098)). Contributed by @kerryarchibald. + +## 🐛 Bug Fixes + * Some slash-commands (`/myroomnick`) have temporarily been disabled before the first message in a DM is sent. ([\#9193](https://github.com/matrix-org/matrix-react-sdk/pull/9193)). + * Use stable reference for active tab in tabbedView ([\#9145](https://github.com/matrix-org/matrix-react-sdk/pull/9145)). Contributed by @kerryarchibald. + * Fix pillification sometimes doubling up ([\#9152](https://github.com/matrix-org/matrix-react-sdk/pull/9152)). Fixes #23036. + * Fix highlights not being applied to plaintext messages ([\#9126](https://github.com/matrix-org/matrix-react-sdk/pull/9126)). Fixes #22787. + * Fix dismissing edit composer when change was undone ([\#9109](https://github.com/matrix-org/matrix-react-sdk/pull/9109)). Fixes #22932. + * 1-to-1 DM rooms with bots now act like DM rooms instead of multi-user-rooms before ([\#9124](https://github.com/matrix-org/matrix-react-sdk/pull/9124)). Fixes #22894. + * Apply inline start padding to selected lines on modern layout only ([\#9006](https://github.com/matrix-org/matrix-react-sdk/pull/9006)). Fixes #22768. Contributed by @luixxiul. + * Peek into world-readable rooms from spotlight ([\#9115](https://github.com/matrix-org/matrix-react-sdk/pull/9115)). Fixes #22862. + * Use default styling on nested numbered lists due to MD being sensitive ([\#9110](https://github.com/matrix-org/matrix-react-sdk/pull/9110)). Fixes #22935. + * Fix replying using chat effect commands ([\#9101](https://github.com/matrix-org/matrix-react-sdk/pull/9101)). Fixes #22824. + +Changes in [1.11.2](https://github.com/vector-im/element-web/releases/tag/v1.11.2) (2022-08-03) +=============================================================================================== + +## ✨ Features + * Live location share - focus on user location on list item click ([\#9051](https://github.com/matrix-org/matrix-react-sdk/pull/9051)). Contributed by @kerryarchibald. + * Live location sharing - don't trigger unread counts for beacon location events ([\#9071](https://github.com/matrix-org/matrix-react-sdk/pull/9071)). Contributed by @kerryarchibald. + * Support for sending voice messages as replies and in threads ([\#9097](https://github.com/matrix-org/matrix-react-sdk/pull/9097)). Fixes #22031. + * Add `Reply in thread` button to the right-click message context-menu ([\#9004](https://github.com/matrix-org/matrix-react-sdk/pull/9004)). Fixes #22745. + * Starred_Messages_Feature_Contd_II/Outreachy ([\#9086](https://github.com/matrix-org/matrix-react-sdk/pull/9086)). + * Use "frequently used emojis" for autocompletion in composer ([\#8998](https://github.com/matrix-org/matrix-react-sdk/pull/8998)). Fixes #18978. Contributed by @grimhilt. + * Improve clickability of view source event toggle button ([\#9068](https://github.com/matrix-org/matrix-react-sdk/pull/9068)). Fixes #21856. Contributed by @luixxiul. + * Improve clickability of "collapse" link button on bubble layout ([\#9037](https://github.com/matrix-org/matrix-react-sdk/pull/9037)). Fixes #22864. Contributed by @luixxiul. + * Starred_Messages_Feature/Outreachy ([\#8842](https://github.com/matrix-org/matrix-react-sdk/pull/8842)). + * Implement Use Case Selection screen ([\#8984](https://github.com/matrix-org/matrix-react-sdk/pull/8984)). Contributed by @justjanne. + * Live location share - handle insufficient permissions in location sharing ([\#9047](https://github.com/matrix-org/matrix-react-sdk/pull/9047)). Contributed by @kerryarchibald. + * Improve _FilePanel.scss ([\#9031](https://github.com/matrix-org/matrix-react-sdk/pull/9031)). Contributed by @luixxiul. + * Improve spotlight accessibility by adding context menus ([\#8907](https://github.com/matrix-org/matrix-react-sdk/pull/8907)). Fixes #20875 and #22675. Contributed by @justjanne. + +## 🐛 Bug Fixes + * Replace mask-images with svg components in MessageActionBar ([\#9088](https://github.com/matrix-org/matrix-react-sdk/pull/9088)). Fixes #22912. Contributed by @kerryarchibald. + * Unbreak in-app permalink tooltips ([\#9087](https://github.com/matrix-org/matrix-react-sdk/pull/9087)). Fixes #22874. + * Show a back button when viewing a space member ([\#9095](https://github.com/matrix-org/matrix-react-sdk/pull/9095)). Fixes #22898. + * Align the right edge of info tile lines with normal ones on IRC layout ([\#9058](https://github.com/matrix-org/matrix-react-sdk/pull/9058)). Fixes #22871. Contributed by @luixxiul. + * Prevent email verification from overriding existing sessions ([\#9075](https://github.com/matrix-org/matrix-react-sdk/pull/9075)). Fixes #22881. Contributed by @justjanne. + * Fix wrong buttons being used when exploring public rooms ([\#9062](https://github.com/matrix-org/matrix-react-sdk/pull/9062)). Fixes #22862. + * Re-add padding to generic event list summary on IRC layout ([\#9063](https://github.com/matrix-org/matrix-react-sdk/pull/9063)). Fixes #22869. Contributed by @luixxiul. + * Joining federated rooms via the spotlight search should no longer cause a "No known servers" error. ([\#9055](https://github.com/matrix-org/matrix-react-sdk/pull/9055)). Fixes #22845. Contributed by @Half-Shot. + +Changes in [1.11.1](https://github.com/vector-im/element-web/releases/tag/v1.11.1) (2022-07-26) +=============================================================================================== + +## ✨ Features + * Enable URL tooltips on hover for Element Desktop ([\#22286](https://github.com/vector-im/element-web/pull/22286)). Fixes undefined/element-web#6532. + * Hide screenshare button in video rooms on Desktop ([\#9045](https://github.com/matrix-org/matrix-react-sdk/pull/9045)). + * Add a developer command to reset Megolm and Olm sessions ([\#9044](https://github.com/matrix-org/matrix-react-sdk/pull/9044)). + * add spaces to TileErrorBoundary ([\#9012](https://github.com/matrix-org/matrix-react-sdk/pull/9012)). Contributed by @HarHarLinks. + * Location sharing - add localised strings to map ([\#9025](https://github.com/matrix-org/matrix-react-sdk/pull/9025)). Fixes #21443. Contributed by @kerryarchibald. + * Added trim to ignore whitespaces in email check ([\#9027](https://github.com/matrix-org/matrix-react-sdk/pull/9027)). Contributed by @ankur12-1610. + * Improve _GenericEventListSummary.scss ([\#9005](https://github.com/matrix-org/matrix-react-sdk/pull/9005)). Contributed by @luixxiul. + * Live location share - tiles without tile server (PSG-591) ([\#8962](https://github.com/matrix-org/matrix-react-sdk/pull/8962)). Contributed by @kerryarchibald. + * Add option to display tooltip on link hover ([\#8394](https://github.com/matrix-org/matrix-react-sdk/pull/8394)). Fixes #21907. + * Support a module API surface for custom functionality ([\#8246](https://github.com/matrix-org/matrix-react-sdk/pull/8246)). + * Adjust encryption copy when creating a video room ([\#8989](https://github.com/matrix-org/matrix-react-sdk/pull/8989)). Fixes #22737. + * Add bidirectonal isolation for pills ([\#8985](https://github.com/matrix-org/matrix-react-sdk/pull/8985)). Contributed by @sha-265. + * Delabs `Show current avatar and name for users in message history` ([\#8764](https://github.com/matrix-org/matrix-react-sdk/pull/8764)). Fixes #22336. + * Live location share - open latest location in map site ([\#8981](https://github.com/matrix-org/matrix-react-sdk/pull/8981)). Contributed by @kerryarchibald. + * Improve LinkPreviewWidget ([\#8881](https://github.com/matrix-org/matrix-react-sdk/pull/8881)). Fixes #22634. Contributed by @luixxiul. + * Render HTML topics in rooms on space home ([\#8939](https://github.com/matrix-org/matrix-react-sdk/pull/8939)). + * Hide timestamp on event tiles being edited on every layout ([\#8956](https://github.com/matrix-org/matrix-react-sdk/pull/8956)). Contributed by @luixxiul. + * Introduce new copy icon ([\#8942](https://github.com/matrix-org/matrix-react-sdk/pull/8942)). + * Allow finding group DMs by members in spotlight ([\#8922](https://github.com/matrix-org/matrix-react-sdk/pull/8922)). Fixes #22564. Contributed by @justjanne. + * Live location share - explicitly stop beacons replaced beacons ([\#8933](https://github.com/matrix-org/matrix-react-sdk/pull/8933)). Contributed by @kerryarchibald. + * Remove unpin from widget kebab menu ([\#8924](https://github.com/matrix-org/matrix-react-sdk/pull/8924)). + * Live location share - redact related locations on beacon redaction ([\#8926](https://github.com/matrix-org/matrix-react-sdk/pull/8926)). Contributed by @kerryarchibald. + * Live location share - disallow message pinning ([\#8928](https://github.com/matrix-org/matrix-react-sdk/pull/8928)). Contributed by @kerryarchibald. + +## 🐛 Bug Fixes + * Remove the ability to hide yourself in video rooms ([\#22806](https://github.com/vector-im/element-web/pull/22806)). Fixes #22805. + * Unbreak in-app permalink tooltips ([\#9100](https://github.com/matrix-org/matrix-react-sdk/pull/9100)). + * Add space for the stroke on message editor on IRC layout ([\#9030](https://github.com/matrix-org/matrix-react-sdk/pull/9030)). Fixes #22785. Contributed by @luixxiul. + * Fix pinned messages not re-linkifying on edit ([\#9042](https://github.com/matrix-org/matrix-react-sdk/pull/9042)). Fixes #22726. + * Don't unnecessarily persist the host signup dialog ([\#9043](https://github.com/matrix-org/matrix-react-sdk/pull/9043)). Fixes #22778. + * Fix URL previews causing messages to become unrenderable ([\#9028](https://github.com/matrix-org/matrix-react-sdk/pull/9028)). Fixes #22766. + * Fix event list summaries including invalid events ([\#9041](https://github.com/matrix-org/matrix-react-sdk/pull/9041)). Fixes #22790. + * Correct accessibility labels for unread rooms in spotlight ([\#9003](https://github.com/matrix-org/matrix-react-sdk/pull/9003)). Contributed by @justjanne. + * Enable search strings highlight on bubble layout ([\#9032](https://github.com/matrix-org/matrix-react-sdk/pull/9032)). Fixes #22786. Contributed by @luixxiul. + * Unbreak URL preview for formatted links with tooltips ([\#9022](https://github.com/matrix-org/matrix-react-sdk/pull/9022)). Fixes #22764. + * Re-add margin to tiles based on EventTileBubble ([\#9015](https://github.com/matrix-org/matrix-react-sdk/pull/9015)). Fixes #22772. Contributed by @luixxiul. + * Fix Shortcut prompt for Search showing in minimized Roomlist ([\#9014](https://github.com/matrix-org/matrix-react-sdk/pull/9014)). Fixes #22739. Contributed by @justjanne. + * Fix avatar position on event info line for hidden events on a thread ([\#9019](https://github.com/matrix-org/matrix-react-sdk/pull/9019)). Fixes #22777. Contributed by @luixxiul. + * Fix lost padding of event tile info line ([\#9009](https://github.com/matrix-org/matrix-react-sdk/pull/9009)). Fixes #22754 and #22759. Contributed by @luixxiul. + * Align verification bubble with normal event tiles on IRC layout ([\#9001](https://github.com/matrix-org/matrix-react-sdk/pull/9001)). Fixes #22758. Contributed by @luixxiul. + * Ensure timestamp on generic event list summary is not hidden from TimelineCard ([\#9000](https://github.com/matrix-org/matrix-react-sdk/pull/9000)). Fixes #22755. Contributed by @luixxiul. + * Fix headings margin on security user settings tab ([\#8826](https://github.com/matrix-org/matrix-react-sdk/pull/8826)). Contributed by @luixxiul. + * Fix timestamp position on file panel ([\#8976](https://github.com/matrix-org/matrix-react-sdk/pull/8976)). Fixes #22718. Contributed by @luixxiul. + * Stop using :not() pseudo class for mx_GenericEventListSummary ([\#8944](https://github.com/matrix-org/matrix-react-sdk/pull/8944)). Fixes #22602. Contributed by @luixxiul. + * Don't show the same user twice in Spotlight ([\#8978](https://github.com/matrix-org/matrix-react-sdk/pull/8978)). Fixes #22697. + * Align the right edge of expand / collapse link buttons of generic event list summary in bubble layout with a variable ([\#8992](https://github.com/matrix-org/matrix-react-sdk/pull/8992)). Fixes #22743. Contributed by @luixxiul. + * Display own avatars on search results panel in bubble layout ([\#8990](https://github.com/matrix-org/matrix-react-sdk/pull/8990)). Contributed by @luixxiul. + * Fix text flow of thread summary content on threads list ([\#8991](https://github.com/matrix-org/matrix-react-sdk/pull/8991)). Fixes #22738. Contributed by @luixxiul. + * Fix the size of the clickable area of images ([\#8987](https://github.com/matrix-org/matrix-react-sdk/pull/8987)). Fixes #22282. + * Fix font size of MessageTimestamp on TimelineCard ([\#8950](https://github.com/matrix-org/matrix-react-sdk/pull/8950)). Contributed by @luixxiul. + * Improve security room settings tab style rules ([\#8844](https://github.com/matrix-org/matrix-react-sdk/pull/8844)). Fixes #22575. Contributed by @luixxiul. + * Align E2E icon and avatar of info tile in compact modern layout ([\#8965](https://github.com/matrix-org/matrix-react-sdk/pull/8965)). Fixes #22652. Contributed by @luixxiul. + * Fix clickable area of general event list summary toggle ([\#8979](https://github.com/matrix-org/matrix-react-sdk/pull/8979)). Fixes #22722. Contributed by @luixxiul. + * Fix resizing room topic ([\#8966](https://github.com/matrix-org/matrix-react-sdk/pull/8966)). Fixes #22689. + * Dismiss the search dialogue when starting a DM ([\#8967](https://github.com/matrix-org/matrix-react-sdk/pull/8967)). Fixes #22700. + * Fix "greyed out" text style inconsistency on search result panel ([\#8974](https://github.com/matrix-org/matrix-react-sdk/pull/8974)). Contributed by @luixxiul. + * Add top padding to EventTilePreview loader ([\#8977](https://github.com/matrix-org/matrix-react-sdk/pull/8977)). Fixes #22719. Contributed by @luixxiul. + * Fix read receipts group position on TimelineCard in compact modern/group layout ([\#8971](https://github.com/matrix-org/matrix-react-sdk/pull/8971)). Fixes #22715. Contributed by @luixxiul. + * Fix calls on homeservers without the unstable thirdparty endpoints. ([\#8931](https://github.com/matrix-org/matrix-react-sdk/pull/8931)). Fixes #21680. Contributed by @deepbluev7. + * Enable ReplyChain text to be expanded on IRC layout ([\#8959](https://github.com/matrix-org/matrix-react-sdk/pull/8959)). Fixes #22709. Contributed by @luixxiul. + * Fix hidden timestamp on message edit history dialog ([\#8955](https://github.com/matrix-org/matrix-react-sdk/pull/8955)). Fixes #22701. Contributed by @luixxiul. + * Enable ReplyChain text to be expanded on bubble layout ([\#8958](https://github.com/matrix-org/matrix-react-sdk/pull/8958)). Fixes #22709. Contributed by @luixxiul. + * Fix expand/collapse state wrong in metaspaces ([\#8952](https://github.com/matrix-org/matrix-react-sdk/pull/8952)). Fixes #22632. + * Location (live) share replies now provide a fallback content ([\#8949](https://github.com/matrix-org/matrix-react-sdk/pull/8949)). + * Fix space settings not opening for script-created spaces ([\#8957](https://github.com/matrix-org/matrix-react-sdk/pull/8957)). Fixes #22703. + * Respect `filename` field on `m.file` events ([\#8951](https://github.com/matrix-org/matrix-react-sdk/pull/8951)). + * Fix PlatformSettingsHandler always returning true due to returning a Promise ([\#8954](https://github.com/matrix-org/matrix-react-sdk/pull/8954)). Fixes #22616. + * Improve high-contrast support for spotlight ([\#8948](https://github.com/matrix-org/matrix-react-sdk/pull/8948)). Fixes #22481. Contributed by @justjanne. + * Fix wrong assertions that all media events have a mimetype ([\#8946](https://github.com/matrix-org/matrix-react-sdk/pull/8946)). Fixes matrix-org/element-web-rageshakes#13727. + * Make invite dialogue fixed height ([\#8934](https://github.com/matrix-org/matrix-react-sdk/pull/8934)). Fixes #22659. + * Fix all megolm error reported as unknown ([\#8916](https://github.com/matrix-org/matrix-react-sdk/pull/8916)). + * Remove line-height declarations from _ReplyTile.scss ([\#8932](https://github.com/matrix-org/matrix-react-sdk/pull/8932)). Fixes #22687. Contributed by @luixxiul. + * Reduce video rooms log spam ([\#8913](https://github.com/matrix-org/matrix-react-sdk/pull/8913)). + * Correct new search input’s rounded corners ([\#8921](https://github.com/matrix-org/matrix-react-sdk/pull/8921)). Fixes #22576. Contributed by @justjanne. + * Align unread notification dot on threads list in compact modern=group layout ([\#8911](https://github.com/matrix-org/matrix-react-sdk/pull/8911)). Fixes #22677. Contributed by @luixxiul. + +Changes in [1.11.0](https://github.com/vector-im/element-web/releases/tag/v1.11.0) (2022-07-05) +=============================================================================================== + +## 🚨 BREAKING CHANGES + * Remove Piwik support ([\#8835](https://github.com/matrix-org/matrix-react-sdk/pull/8835)). + +## ✨ Features + * Document how to configure a custom `home.html`. ([\#21066](https://github.com/vector-im/element-web/pull/21066)). Contributed by @johannes-krude. + * Move New Search Experience out of beta ([\#8859](https://github.com/matrix-org/matrix-react-sdk/pull/8859)). Contributed by @justjanne. + * Switch video rooms to spotlight layout when in PiP mode ([\#8912](https://github.com/matrix-org/matrix-react-sdk/pull/8912)). Fixes #22574. + * Live location sharing - render message deleted tile for redacted beacons ([\#8905](https://github.com/matrix-org/matrix-react-sdk/pull/8905)). Contributed by @kerryarchibald. + * Improve view source dialog style ([\#8883](https://github.com/matrix-org/matrix-react-sdk/pull/8883)). Fixes #22636. Contributed by @luixxiul. + * Improve integration manager dialog style ([\#8888](https://github.com/matrix-org/matrix-react-sdk/pull/8888)). Fixes #22642. Contributed by @luixxiul. + * Implement MSC3827: Filtering of `/publicRooms` by room type ([\#8866](https://github.com/matrix-org/matrix-react-sdk/pull/8866)). Fixes #22578. + * Show chat panel when opening a video room with unread messages ([\#8812](https://github.com/matrix-org/matrix-react-sdk/pull/8812)). Fixes #22527. + * Live location share - forward latest location ([\#8860](https://github.com/matrix-org/matrix-react-sdk/pull/8860)). Contributed by @kerryarchibald. + * Allow integration managers to validate user identity after opening ([\#8782](https://github.com/matrix-org/matrix-react-sdk/pull/8782)). Contributed by @Half-Shot. + * Create a common header on right panel cards on BaseCard ([\#8808](https://github.com/matrix-org/matrix-react-sdk/pull/8808)). Contributed by @luixxiul. + * Integrate searching public rooms and people into the new search experience ([\#8707](https://github.com/matrix-org/matrix-react-sdk/pull/8707)). Fixes #21354 and #19349. Contributed by @justjanne. + * Bring back waveform for voice messages and retain seeking ([\#8843](https://github.com/matrix-org/matrix-react-sdk/pull/8843)). Fixes #21904. + * Improve colors in settings ([\#7283](https://github.com/matrix-org/matrix-react-sdk/pull/7283)). + * Keep draft in composer when a slash command syntax errors ([\#8811](https://github.com/matrix-org/matrix-react-sdk/pull/8811)). Fixes #22384. + * Release video rooms as a beta feature ([\#8431](https://github.com/matrix-org/matrix-react-sdk/pull/8431)). + * Clarify logout key backup warning dialog. Contributed by @notramo. ([\#8741](https://github.com/matrix-org/matrix-react-sdk/pull/8741)). Fixes #15565. Contributed by @MadLittleMods. + * Slightly improve the look of the `Message edits` dialog ([\#8763](https://github.com/matrix-org/matrix-react-sdk/pull/8763)). Fixes #22410. + * Add support for MD / HTML in room topics ([\#8215](https://github.com/matrix-org/matrix-react-sdk/pull/8215)). Fixes #5180. Contributed by @Johennes. + * Live location share - link to timeline tile from share warning ([\#8752](https://github.com/matrix-org/matrix-react-sdk/pull/8752)). Contributed by @kerryarchibald. + * Improve composer visiblity ([\#8578](https://github.com/matrix-org/matrix-react-sdk/pull/8578)). Fixes #22072 and #17362. + * Makes the avatar of the user menu non-draggable ([\#8765](https://github.com/matrix-org/matrix-react-sdk/pull/8765)). Contributed by @luixxiul. + * Improve widget buttons behaviour and layout ([\#8734](https://github.com/matrix-org/matrix-react-sdk/pull/8734)). + * Use AccessibleButton for 'Reset All' link button on SetupEncryptionBody ([\#8730](https://github.com/matrix-org/matrix-react-sdk/pull/8730)). Contributed by @luixxiul. + * Adjust message timestamp position on TimelineCard in non-bubble layouts ([\#8745](https://github.com/matrix-org/matrix-react-sdk/pull/8745)). Fixes #22426. Contributed by @luixxiul. + * Use AccessibleButton for 'In reply to' link button on ReplyChain ([\#8726](https://github.com/matrix-org/matrix-react-sdk/pull/8726)). Fixes #22407. Contributed by @luixxiul. + * Live location share - enable reply and react to tiles ([\#8721](https://github.com/matrix-org/matrix-react-sdk/pull/8721)). Contributed by @kerryarchibald. + * Change dash to em dash issues fixed ([\#8455](https://github.com/matrix-org/matrix-react-sdk/pull/8455)). Fixes #21895. Contributed by @goelesha. + +## 🐛 Bug Fixes + * Reduce video rooms log spam ([\#22665](https://github.com/vector-im/element-web/pull/22665)). + * Connect to Jitsi unmuted by default ([\#22660](https://github.com/vector-im/element-web/pull/22660)). Fixes #22637. + * Work around a Jitsi bug with display name encoding ([\#22525](https://github.com/vector-im/element-web/pull/22525)). Fixes #22521. + * Make invite dialogue fixed height ([\#8945](https://github.com/matrix-org/matrix-react-sdk/pull/8945)). + * Correct issue with tab order in new search experience ([\#8919](https://github.com/matrix-org/matrix-react-sdk/pull/8919)). Fixes #22670. Contributed by @justjanne. + * Clicking location replies now redirects to the replied event instead of opening the map ([\#8918](https://github.com/matrix-org/matrix-react-sdk/pull/8918)). Fixes #22667. + * Keep clicks on pills within the app ([\#8917](https://github.com/matrix-org/matrix-react-sdk/pull/8917)). Fixes #22653. + * Don't overlap tile bubbles with timestamps in modern layout ([\#8908](https://github.com/matrix-org/matrix-react-sdk/pull/8908)). Fixes #22425. + * Connect to Jitsi unmuted by default ([\#8909](https://github.com/matrix-org/matrix-react-sdk/pull/8909)). + * Maximize width value of display name on TimelineCard with IRC/modern layout ([\#8904](https://github.com/matrix-org/matrix-react-sdk/pull/8904)). Fixes #22651. Contributed by @luixxiul. + * Align the avatar and the display name on TimelineCard ([\#8900](https://github.com/matrix-org/matrix-react-sdk/pull/8900)). Contributed by @luixxiul. + * Remove inline margin from reactions row on IRC layout ([\#8891](https://github.com/matrix-org/matrix-react-sdk/pull/8891)). Fixes #22644. Contributed by @luixxiul. + * Align "From a thread" on search result panel on IRC layout ([\#8892](https://github.com/matrix-org/matrix-react-sdk/pull/8892)). Fixes #22645. Contributed by @luixxiul. + * Display description of E2E advanced panel as subsection text ([\#8889](https://github.com/matrix-org/matrix-react-sdk/pull/8889)). Contributed by @luixxiul. + * Remove inline end margin from images on file panel ([\#8886](https://github.com/matrix-org/matrix-react-sdk/pull/8886)). Fixes #22640. Contributed by @luixxiul. + * Disable option to `Quote` when we don't have sufficient permissions ([\#8893](https://github.com/matrix-org/matrix-react-sdk/pull/8893)). Fixes #22643. + * Add padding to font scaling loader for message bubble layout ([\#8875](https://github.com/matrix-org/matrix-react-sdk/pull/8875)). Fixes #22626. Contributed by @luixxiul. + * Set 100% max-width to display name on reply tiles ([\#8867](https://github.com/matrix-org/matrix-react-sdk/pull/8867)). Fixes #22615. Contributed by @luixxiul. + * Fix alignment of pill letter ([\#8874](https://github.com/matrix-org/matrix-react-sdk/pull/8874)). Fixes #22622. Contributed by @luixxiul. + * Move the beta pill to the right side and display the pill on video room only ([\#8873](https://github.com/matrix-org/matrix-react-sdk/pull/8873)). Fixes #22619 and #22620. Contributed by @luixxiul. + * Stop using absolute property to place beta pill on RoomPreviewCard ([\#8872](https://github.com/matrix-org/matrix-react-sdk/pull/8872)). Fixes #22617. Contributed by @luixxiul. + * Make the pill text single line ([\#8744](https://github.com/matrix-org/matrix-react-sdk/pull/8744)). Fixes #22427. Contributed by @luixxiul. + * Hide overflow of public room description on spotlight dialog result ([\#8870](https://github.com/matrix-org/matrix-react-sdk/pull/8870)). Contributed by @luixxiul. + * Fix position of message action bar on the info tile on TimelineCard in message bubble layout ([\#8865](https://github.com/matrix-org/matrix-react-sdk/pull/8865)). Fixes #22614. Contributed by @luixxiul. + * Remove inline start margin from display name on reply tiles on TimelineCard ([\#8864](https://github.com/matrix-org/matrix-react-sdk/pull/8864)). Fixes #22613. Contributed by @luixxiul. + * Improve homeserver dropdown dialog styling ([\#8850](https://github.com/matrix-org/matrix-react-sdk/pull/8850)). Fixes #22552. Contributed by @justjanne. + * Fix crash when drawing blurHash for portrait videos PSB-139 ([\#8855](https://github.com/matrix-org/matrix-react-sdk/pull/8855)). Fixes #22597. Contributed by @andybalaam. + * Fix grid blowout on pinned event tiles ([\#8816](https://github.com/matrix-org/matrix-react-sdk/pull/8816)). Fixes #22543. Contributed by @luixxiul. + * Fix temporary sync errors if there's weird settings stored in account data ([\#8857](https://github.com/matrix-org/matrix-react-sdk/pull/8857)). + * Fix reactions row overflow and gap between reactions ([\#8813](https://github.com/matrix-org/matrix-react-sdk/pull/8813)). Fixes #22093. Contributed by @luixxiul. + * Fix issues with the Create new room button in Spotlight ([\#8851](https://github.com/matrix-org/matrix-react-sdk/pull/8851)). Contributed by @justjanne. + * Remove margin from E2E icon between avatar and hidden event ([\#8584](https://github.com/matrix-org/matrix-react-sdk/pull/8584)). Fixes #22186. Contributed by @luixxiul. + * Fix waveform on a message bubble ([\#8852](https://github.com/matrix-org/matrix-react-sdk/pull/8852)). Contributed by @luixxiul. + * Location sharing maps are now loaded after reconnection ([\#8848](https://github.com/matrix-org/matrix-react-sdk/pull/8848)). Fixes #20993. + * Update the avatar mask so it doesn’t cut off spaces’ avatars anymore ([\#8849](https://github.com/matrix-org/matrix-react-sdk/pull/8849)). Contributed by @justjanne. + * Add a bit of safety around timestamp handling for threads ([\#8845](https://github.com/matrix-org/matrix-react-sdk/pull/8845)). + * Remove top margin from event tile on a narrow viewport ([\#8814](https://github.com/matrix-org/matrix-react-sdk/pull/8814)). Contributed by @luixxiul. + * Fix keyboard shortcuts on settings tab being wrapped ([\#8825](https://github.com/matrix-org/matrix-react-sdk/pull/8825)). Fixes #22547. Contributed by @luixxiul. + * Add try-catch around blurhash loading ([\#8830](https://github.com/matrix-org/matrix-react-sdk/pull/8830)). + * Prevent new composer from overflowing from non-breakable text ([\#8829](https://github.com/matrix-org/matrix-react-sdk/pull/8829)). Fixes #22507. Contributed by @justjanne. + * Use common subheading on sidebar user settings tab ([\#8823](https://github.com/matrix-org/matrix-react-sdk/pull/8823)). Contributed by @luixxiul. + * Fix clickable area of advanced toggle on appearance user settings tab ([\#8820](https://github.com/matrix-org/matrix-react-sdk/pull/8820)). Fixes #22546. Contributed by @luixxiul. + * Disable redacting reactions if we don't have sufficient permissions ([\#8767](https://github.com/matrix-org/matrix-react-sdk/pull/8767)). Fixes #22262. + * Update the live timeline when the JS SDK resets it ([\#8806](https://github.com/matrix-org/matrix-react-sdk/pull/8806)). Fixes #22421. + * Fix flex blowout on image reply ([\#8809](https://github.com/matrix-org/matrix-react-sdk/pull/8809)). Fixes #22509 and #22510. Contributed by @luixxiul. + * Enable background color on hover for chat panel and thread panel ([\#8644](https://github.com/matrix-org/matrix-react-sdk/pull/8644)). Fixes #22273. Contributed by @luixxiul. + * Fix #20026: send read marker as soon as we change it ([\#8802](https://github.com/matrix-org/matrix-react-sdk/pull/8802)). Fixes #20026. Contributed by @andybalaam. + * Allow AppTiles to shrink as much as necessary ([\#8805](https://github.com/matrix-org/matrix-react-sdk/pull/8805)). Fixes #22499. + * Make widgets in video rooms immutable again ([\#8803](https://github.com/matrix-org/matrix-react-sdk/pull/8803)). Fixes #22497. + * Use MessageActionBar style declarations on pinned message card ([\#8757](https://github.com/matrix-org/matrix-react-sdk/pull/8757)). Fixes #22444. Contributed by @luixxiul. + * Expire video member events after 1 hour ([\#8776](https://github.com/matrix-org/matrix-react-sdk/pull/8776)). + * Name lists on invite dialog ([\#8046](https://github.com/matrix-org/matrix-react-sdk/pull/8046)). Fixes #21400 and #19463. Contributed by @luixxiul. + * Live location share - show loading UI for beacons with start timestamp in the future ([\#8775](https://github.com/matrix-org/matrix-react-sdk/pull/8775)). Fixes #22437. Contributed by @kerryarchibald. + * Fix scroll jump issue with the composer ([\#8788](https://github.com/matrix-org/matrix-react-sdk/pull/8788)). Fixes #22464. + * Fix the incorrect nesting of download button on MessageActionBar ([\#8785](https://github.com/matrix-org/matrix-react-sdk/pull/8785)). Contributed by @luixxiul. + * Revert link color change in composer ([\#8784](https://github.com/matrix-org/matrix-react-sdk/pull/8784)). Fixes #22468. + * Fix 'Logout' inline link on the splash screen ([\#8770](https://github.com/matrix-org/matrix-react-sdk/pull/8770)). Fixes #22449. Contributed by @luixxiul. + * Fix disappearing widget poput button when changing the widget layout ([\#8754](https://github.com/matrix-org/matrix-react-sdk/pull/8754)). + * Reduce gutter with the new read receipt UI ([\#8736](https://github.com/matrix-org/matrix-react-sdk/pull/8736)). Fixes #21890. + * Add ellipsis effect to hidden beacon status ([\#8755](https://github.com/matrix-org/matrix-react-sdk/pull/8755)). Fixes #22441. Contributed by @luixxiul. + * Make the pill on the basic message composer compatible with display name in RTL languages ([\#8758](https://github.com/matrix-org/matrix-react-sdk/pull/8758)). Fixes #22445. Contributed by @luixxiul. + * Prevent the banner text from being selected, replacing the spacing values with the variable ([\#8756](https://github.com/matrix-org/matrix-react-sdk/pull/8756)). Fixes #22442. Contributed by @luixxiul. + * Ensure the first device on a newly-registered account gets cross-signed properly ([\#8750](https://github.com/matrix-org/matrix-react-sdk/pull/8750)). Fixes #21977. Contributed by @duxovni. + * Hide live location option in threads composer ([\#8746](https://github.com/matrix-org/matrix-react-sdk/pull/8746)). Fixes #22424. Contributed by @kerryarchibald. + * Make sure MessageTimestamp is not hidden by EventTile_line on TimelineCard ([\#8748](https://github.com/matrix-org/matrix-react-sdk/pull/8748)). Contributed by @luixxiul. + * Make PiP motion smoother and react to window resizes correctly ([\#8747](https://github.com/matrix-org/matrix-react-sdk/pull/8747)). Fixes #22292. + * Prevent Invite and DevTools dialogs from being cut off ([\#8646](https://github.com/matrix-org/matrix-react-sdk/pull/8646)). Fixes #20911 and undefined/matrix-react-sdk#8165. Contributed by @justjanne. + * Squish event bubble tiles less ([\#8740](https://github.com/matrix-org/matrix-react-sdk/pull/8740)). + * Use random widget IDs for video rooms ([\#8739](https://github.com/matrix-org/matrix-react-sdk/pull/8739)). Fixes #22417. + * Fix read avatars overflow from the right chat panel with a maximized widget on bubble message layout ([\#8470](https://github.com/matrix-org/matrix-react-sdk/pull/8470)). Contributed by @luixxiul. + * Fix `CallView` crash ([\#8735](https://github.com/matrix-org/matrix-react-sdk/pull/8735)). Fixes #22394. + +Changes in [1.10.15](https://github.com/vector-im/element-web/releases/tag/v1.10.15) (2022-06-14) +================================================================================================= + +## 🐛 Bug Fixes + * Fix missing element desktop preferences ([\#8798](https://github.com/matrix-org/matrix-react-sdk/pull/8798)). Contributed by @t3chguy. + +Changes in [1.10.14](https://github.com/vector-im/element-web/releases/tag/v1.10.14) (2022-06-07) +================================================================================================= + +## ✨ Features + * Make Lao translation available ([\#22358](https://github.com/vector-im/element-web/pull/22358)). Fixes #22327. + * Option to disable hardware acceleration on Element Desktop ([\#22295](https://github.com/vector-im/element-web/pull/22295)). Contributed by @novocaine. + * Configure custom home.html via `.well-known/matrix/client["io.element.embedded_pages"]["home_url"]` for all your element-web/desktop users ([\#7790](https://github.com/matrix-org/matrix-react-sdk/pull/7790)). Contributed by @johannes-krude. + * Live location sharing - open location in OpenStreetMap ([\#8695](https://github.com/matrix-org/matrix-react-sdk/pull/8695)). Contributed by @kerryarchibald. + * Show a dialog when Jitsi encounters an error ([\#8701](https://github.com/matrix-org/matrix-react-sdk/pull/8701)). Fixes #22284. + * Add support for setting the `avatar_url` of widgets by integration managers. ([\#8550](https://github.com/matrix-org/matrix-react-sdk/pull/8550)). Contributed by @Fox32. + * Add an option to ignore (block) a user when reporting their events ([\#8471](https://github.com/matrix-org/matrix-react-sdk/pull/8471)). + * Add the option to disable hardware acceleration ([\#8655](https://github.com/matrix-org/matrix-react-sdk/pull/8655)). Contributed by @novocaine. + * Slightly better presentation of read receipts to screen reader users ([\#8662](https://github.com/matrix-org/matrix-react-sdk/pull/8662)). Fixes #22293. Contributed by @pvagner. + * Add jump to related event context menu item ([\#6775](https://github.com/matrix-org/matrix-react-sdk/pull/6775)). Fixes #19883. + * Add public room directory hook ([\#8626](https://github.com/matrix-org/matrix-react-sdk/pull/8626)). + +## 🐛 Bug Fixes + * Stop Jitsi if we time out while connecting to a video room ([\#22301](https://github.com/vector-im/element-web/pull/22301)). Fixes #22283. + * Remove inline margin from UTD error message inside a reply tile on ThreadView ([\#8708](https://github.com/matrix-org/matrix-react-sdk/pull/8708)). Fixes #22376. Contributed by @luixxiul. + * Move unread notification dots of the threads list to the expected position ([\#8700](https://github.com/matrix-org/matrix-react-sdk/pull/8700)). Fixes #22350. Contributed by @luixxiul. + * Prevent overflow of grid items on a bubble with UTD generally ([\#8697](https://github.com/matrix-org/matrix-react-sdk/pull/8697)). Contributed by @luixxiul. + * Create 'Unable To Decrypt' grid layout for hidden events on a bubble layout ([\#8704](https://github.com/matrix-org/matrix-react-sdk/pull/8704)). Fixes #22365. Contributed by @luixxiul. + * Fix - AccessibleButton does not set disabled attribute ([\#8682](https://github.com/matrix-org/matrix-react-sdk/pull/8682)). Contributed by @kerryarchibald. + * Fix font not resetting when logging out ([\#8670](https://github.com/matrix-org/matrix-react-sdk/pull/8670)). Fixes #17228. + * Fix local aliases section of room settings not working for some homeservers (ie ([\#8698](https://github.com/matrix-org/matrix-react-sdk/pull/8698)). Fixes #22337. + * Align EventTile_line with display name on message bubble ([\#8692](https://github.com/matrix-org/matrix-react-sdk/pull/8692)). Fixes #22343. Contributed by @luixxiul. + * Convert references to direct chat -> direct message ([\#8694](https://github.com/matrix-org/matrix-react-sdk/pull/8694)). Contributed by @novocaine. + * Improve combining diacritics for U+20D0 to U+20F0 in Chrome ([\#8687](https://github.com/matrix-org/matrix-react-sdk/pull/8687)). + * Make the empty thread panel fill BaseCard ([\#8690](https://github.com/matrix-org/matrix-react-sdk/pull/8690)). Fixes #22338. Contributed by @luixxiul. + * Fix edge case around composer handling gendered facepalm emoji ([\#8686](https://github.com/matrix-org/matrix-react-sdk/pull/8686)). + * Fix a grid blowout due to nowrap displayName on a bubble with UTD ([\#8688](https://github.com/matrix-org/matrix-react-sdk/pull/8688)). Fixes #21914. Contributed by @luixxiul. + * Apply the same max-width to image tile on the thread timeline as message bubble ([\#8669](https://github.com/matrix-org/matrix-react-sdk/pull/8669)). Fixes #22313. Contributed by @luixxiul. + * Fix dropdown button size for picture-in-picture CallView ([\#8680](https://github.com/matrix-org/matrix-react-sdk/pull/8680)). Fixes #22316. Contributed by @luixxiul. + * Live location sharing - fix square border for image-less avatar (PSF-1052) ([\#8679](https://github.com/matrix-org/matrix-react-sdk/pull/8679)). Contributed by @kerryarchibald. + * Stop connecting to a video room if the widget messaging disappears ([\#8660](https://github.com/matrix-org/matrix-react-sdk/pull/8660)). + * Fix file button and audio player overflowing from message bubble ([\#8666](https://github.com/matrix-org/matrix-react-sdk/pull/8666)). Fixes #22308. Contributed by @luixxiul. + * Don't show broken composer format bar when selection is whitespace ([\#8673](https://github.com/matrix-org/matrix-react-sdk/pull/8673)). Fixes #10788. + * Fix media upload http 413 handling ([\#8674](https://github.com/matrix-org/matrix-react-sdk/pull/8674)). + * Fix emoji picker for editing thread responses ([\#8671](https://github.com/matrix-org/matrix-react-sdk/pull/8671)). Fixes matrix-org/element-web-rageshakes#13129. + * Map attribution while sharing live location is now visible ([\#8621](https://github.com/matrix-org/matrix-react-sdk/pull/8621)). Fixes #22236. Contributed by @weeman1337. + * Fix info tile overlapping the time stamp on TimelineCard ([\#8639](https://github.com/matrix-org/matrix-react-sdk/pull/8639)). Fixes #22256. Contributed by @luixxiul. + * Fix position of wide images on IRC / modern layout ([\#8667](https://github.com/matrix-org/matrix-react-sdk/pull/8667)). Fixes #22309. Contributed by @luixxiul. + * Fix other user's displayName being wrapped on the bubble message layout ([\#8456](https://github.com/matrix-org/matrix-react-sdk/pull/8456)). Fixes #22004. Contributed by @luixxiul. + * Set spacing declarations to elements in mx_EventTile_mediaLine ([\#8665](https://github.com/matrix-org/matrix-react-sdk/pull/8665)). Fixes #22307. Contributed by @luixxiul. + * Fix wide image overflowing from the thumbnail container ([\#8663](https://github.com/matrix-org/matrix-react-sdk/pull/8663)). Fixes #22303. Contributed by @luixxiul. + * Fix styles of "Show all" link button on ReactionsRow ([\#8658](https://github.com/matrix-org/matrix-react-sdk/pull/8658)). Fixes #22300. Contributed by @luixxiul. + * Automatically log in after registration ([\#8654](https://github.com/matrix-org/matrix-react-sdk/pull/8654)). Fixes #19305. Contributed by @justjanne. + * Fix offline status in window title not working reliably ([\#8656](https://github.com/matrix-org/matrix-react-sdk/pull/8656)). + * Align input area with event body's first letter in a thread on IRC/modern layout ([\#8636](https://github.com/matrix-org/matrix-react-sdk/pull/8636)). Fixes #22252. Contributed by @luixxiul. + * Fix crash on null idp for SSO buttons ([\#8650](https://github.com/matrix-org/matrix-react-sdk/pull/8650)). Contributed by @hughns. + * Don't open the regular browser or our context menu on right-clicking the `Options` button in the message action bar ([\#8648](https://github.com/matrix-org/matrix-react-sdk/pull/8648)). Fixes #22279. + * Show notifications even when Element is focused ([\#8590](https://github.com/matrix-org/matrix-react-sdk/pull/8590)). Contributed by @sumnerevans. + * Remove padding from the buttons on edit message composer of a event tile on a thread ([\#8632](https://github.com/matrix-org/matrix-react-sdk/pull/8632)). Contributed by @luixxiul. + * ensure metaspace changes correctly notify listeners ([\#8611](https://github.com/matrix-org/matrix-react-sdk/pull/8611)). Fixes #21006. Contributed by @justjanne. + * Hide image banner on stickers, they have a tooltip already ([\#8641](https://github.com/matrix-org/matrix-react-sdk/pull/8641)). Fixes #22244. + * Adjust EditMessageComposer style declarations ([\#8631](https://github.com/matrix-org/matrix-react-sdk/pull/8631)). Fixes #22231. Contributed by @luixxiul. + +Changes in [1.10.13](https://github.com/vector-im/element-web/releases/tag/v1.10.13) (2022-05-24) +================================================================================================= + +## ✨ Features + * Go to space landing page when clicking on a selected space ([\#6442](https://github.com/matrix-org/matrix-react-sdk/pull/6442)). Fixes #20296. + * Fall back to untranslated string rather than showing missing translation error ([\#8609](https://github.com/matrix-org/matrix-react-sdk/pull/8609)). + * Show file name and size on images on hover ([\#6511](https://github.com/matrix-org/matrix-react-sdk/pull/6511)). Fixes #18197. + * Iterate on search results for message bubbles ([\#7047](https://github.com/matrix-org/matrix-react-sdk/pull/7047)). Fixes #20315. + * registration: redesign email verification page ([\#8554](https://github.com/matrix-org/matrix-react-sdk/pull/8554)). Fixes #21984. + * Show full thread message in hover title on thread summary ([\#8568](https://github.com/matrix-org/matrix-react-sdk/pull/8568)). Fixes #22037. + * Tweak video rooms copy ([\#8582](https://github.com/matrix-org/matrix-react-sdk/pull/8582)). Fixes #22176. + * Live location share - beacon tooltip in maximised view ([\#8572](https://github.com/matrix-org/matrix-react-sdk/pull/8572)). + * Add dialog to navigate long room topics ([\#8517](https://github.com/matrix-org/matrix-react-sdk/pull/8517)). Fixes #9623. + * Change spaceroomfacepile tooltip if memberlist is shown ([\#8571](https://github.com/matrix-org/matrix-react-sdk/pull/8571)). Fixes #17406. + * Improve message editing UI ([\#8483](https://github.com/matrix-org/matrix-react-sdk/pull/8483)). Fixes #9752 and #22108. + * Make date changes more obvious ([\#6410](https://github.com/matrix-org/matrix-react-sdk/pull/6410)). Fixes #16221. + * Enable forwarding static locations ([\#8553](https://github.com/matrix-org/matrix-react-sdk/pull/8553)). + * Log `TimelinePanel` debugging info when opening the bug report modal ([\#8502](https://github.com/matrix-org/matrix-react-sdk/pull/8502)). + * Improve welcome screen, add opt-out analytics ([\#8474](https://github.com/matrix-org/matrix-react-sdk/pull/8474)). Fixes #21946. + * Converting selected text to MD link when pasting a URL ([\#8242](https://github.com/matrix-org/matrix-react-sdk/pull/8242)). Fixes #21634. Contributed by @Sinharitik589. + * Support Inter on custom themes ([\#8399](https://github.com/matrix-org/matrix-react-sdk/pull/8399)). Fixes #16293. + * Add a `Copy link` button to the right-click message context-menu labs feature ([\#8527](https://github.com/matrix-org/matrix-react-sdk/pull/8527)). + * Move widget screenshots labs flag to devtools ([\#8522](https://github.com/matrix-org/matrix-react-sdk/pull/8522)). + * Remove some labs features which don't get used or create maintenance burden: custom status, multiple integration managers, and do not disturb ([\#8521](https://github.com/matrix-org/matrix-react-sdk/pull/8521)). + * Add a way to toggle `ScrollPanel` and `TimelinePanel` debug logs ([\#8513](https://github.com/matrix-org/matrix-react-sdk/pull/8513)). + * Spaces: remove blue beta dot ([\#8511](https://github.com/matrix-org/matrix-react-sdk/pull/8511)). Fixes #22061. + * Order new search dialog results by recency ([\#8444](https://github.com/matrix-org/matrix-react-sdk/pull/8444)). + * Improve pills ([\#6398](https://github.com/matrix-org/matrix-react-sdk/pull/6398)). Fixes #16948 and #21281. + * Add a way to maximize/pin widget from the PiP view ([\#7672](https://github.com/matrix-org/matrix-react-sdk/pull/7672)). Fixes #20723. + * Iterate video room designs in labs ([\#8499](https://github.com/matrix-org/matrix-react-sdk/pull/8499)). + * Improve UI/UX in calls ([\#7791](https://github.com/matrix-org/matrix-react-sdk/pull/7791)). Fixes #19937. + * Add ability to change audio and video devices during a call ([\#7173](https://github.com/matrix-org/matrix-react-sdk/pull/7173)). Fixes #15595. + +## 🐛 Bug Fixes + * Fix video rooms sometimes connecting muted when they shouldn't ([\#22125](https://github.com/vector-im/element-web/pull/22125)). + * Avoid flashing the 'join conference' button at the user in video rooms ([\#22120](https://github.com/vector-im/element-web/pull/22120)). + * Fully close Jitsi conferences on errors ([\#22060](https://github.com/vector-im/element-web/pull/22060)). + * Fix click behavior of notification badges on spaces ([\#8627](https://github.com/matrix-org/matrix-react-sdk/pull/8627)). Fixes #22241. + * Add missing return values in Read Receipt animation code ([\#8625](https://github.com/matrix-org/matrix-react-sdk/pull/8625)). Fixes #22175. + * Fix 'continue' button not working after accepting identity server terms of service ([\#8619](https://github.com/matrix-org/matrix-react-sdk/pull/8619)). Fixes #20003. + * Proactively fix stuck devices in video rooms ([\#8587](https://github.com/matrix-org/matrix-react-sdk/pull/8587)). Fixes #22131. + * Fix position of the message action bar on left side bubbles ([\#8398](https://github.com/matrix-org/matrix-react-sdk/pull/8398)). Fixes #21879. Contributed by @luixxiul. + * Fix edge case thread summaries around events without a msgtype ([\#8576](https://github.com/matrix-org/matrix-react-sdk/pull/8576)). + * Fix favourites metaspace not updating ([\#8594](https://github.com/matrix-org/matrix-react-sdk/pull/8594)). Fixes #22156. + * Stop spaces from displaying as rooms in new breadcrumbs ([\#8595](https://github.com/matrix-org/matrix-react-sdk/pull/8595)). Fixes #22165. + * Fix avatar position of hidden event on ThreadView ([\#8592](https://github.com/matrix-org/matrix-react-sdk/pull/8592)). Fixes #22199. Contributed by @luixxiul. + * Fix MessageTimestamp position next to redacted messages on IRC/modern layout ([\#8591](https://github.com/matrix-org/matrix-react-sdk/pull/8591)). Fixes #22181. Contributed by @luixxiul. + * Fix padding of messages in threads ([\#8574](https://github.com/matrix-org/matrix-react-sdk/pull/8574)). Contributed by @luixxiul. + * Enable overflow of hidden events content ([\#8585](https://github.com/matrix-org/matrix-react-sdk/pull/8585)). Fixes #22187. Contributed by @luixxiul. + * Increase composer line height to avoid cutting off emoji ([\#8583](https://github.com/matrix-org/matrix-react-sdk/pull/8583)). Fixes #22170. + * Don't consider threads for breaking continuation until actually created ([\#8581](https://github.com/matrix-org/matrix-react-sdk/pull/8581)). Fixes #22164. + * Fix displaying hidden events on threads ([\#8555](https://github.com/matrix-org/matrix-react-sdk/pull/8555)). Fixes #22058. Contributed by @luixxiul. + * Fix button width and align 絵文字 (emoji) on the user panel ([\#8562](https://github.com/matrix-org/matrix-react-sdk/pull/8562)). Fixes #22142. Contributed by @luixxiul. + * Standardise the margin for settings tabs ([\#7963](https://github.com/matrix-org/matrix-react-sdk/pull/7963)). Fixes #20767. Contributed by @yuktea. + * Fix room history not being visible even if we have historical keys ([\#8563](https://github.com/matrix-org/matrix-react-sdk/pull/8563)). Fixes #16983. + * Fix oblong avatars in video room lobbies ([\#8565](https://github.com/matrix-org/matrix-react-sdk/pull/8565)). + * Update thread summary when latest event gets decrypted ([\#8564](https://github.com/matrix-org/matrix-react-sdk/pull/8564)). Fixes #22151. + * Fix codepath which can wrongly cause automatic space switch from all rooms ([\#8560](https://github.com/matrix-org/matrix-react-sdk/pull/8560)). Fixes #21373. + * Fix effect of URL preview toggle not updating live ([\#8561](https://github.com/matrix-org/matrix-react-sdk/pull/8561)). Fixes #22148. + * Fix visual bugs on AccessSecretStorageDialog ([\#8160](https://github.com/matrix-org/matrix-react-sdk/pull/8160)). Fixes #19426. Contributed by @luixxiul. + * Fix the width bounce of the clock on the AudioPlayer ([\#8320](https://github.com/matrix-org/matrix-react-sdk/pull/8320)). Fixes #21788. Contributed by @luixxiul. + * Hide the verification left stroke only on the thread list ([\#8525](https://github.com/matrix-org/matrix-react-sdk/pull/8525)). Fixes #22132. Contributed by @luixxiul. + * Hide recently_viewed dropdown when other modal opens ([\#8538](https://github.com/matrix-org/matrix-react-sdk/pull/8538)). Contributed by @yaya-usman. + * Only jump to date after pressing the 'go' button ([\#8548](https://github.com/matrix-org/matrix-react-sdk/pull/8548)). Fixes #20799. + * Fix download button not working on events that were decrypted too late ([\#8556](https://github.com/matrix-org/matrix-react-sdk/pull/8556)). Fixes #19427. + * Align thread summary button with bubble messages on the left side ([\#8388](https://github.com/matrix-org/matrix-react-sdk/pull/8388)). Fixes #21873. Contributed by @luixxiul. + * Fix unresponsive notification toggles ([\#8549](https://github.com/matrix-org/matrix-react-sdk/pull/8549)). Fixes #22109. + * Set color-scheme property in themes ([\#8547](https://github.com/matrix-org/matrix-react-sdk/pull/8547)). Fixes #22124. + * Improve the styling of error messages during search initialization. ([\#6899](https://github.com/matrix-org/matrix-react-sdk/pull/6899)). Fixes #19245 and #18164. Contributed by @KalleStruik. + * Don't leave button tooltips open when closing modals ([\#8546](https://github.com/matrix-org/matrix-react-sdk/pull/8546)). Fixes #22121. + * update matrix-analytics-events ([\#8543](https://github.com/matrix-org/matrix-react-sdk/pull/8543)). + * Handle Jitsi Meet crashes more gracefully ([\#8541](https://github.com/matrix-org/matrix-react-sdk/pull/8541)). + * Fix regression around pasting links ([\#8537](https://github.com/matrix-org/matrix-react-sdk/pull/8537)). Fixes #22117. + * Fixes suggested room not ellipsized on shrinking ([\#8536](https://github.com/matrix-org/matrix-react-sdk/pull/8536)). Contributed by @yaya-usman. + * Add global spacing between display name and location body ([\#8523](https://github.com/matrix-org/matrix-react-sdk/pull/8523)). Fixes #22111. Contributed by @luixxiul. + * Add box-shadow to the reply preview on the main (left) panel only ([\#8397](https://github.com/matrix-org/matrix-react-sdk/pull/8397)). Fixes #21894. Contributed by @luixxiul. + * Set line-height: 1 to RedactedBody inside GenericEventListSummary for IRC/modern layout ([\#8529](https://github.com/matrix-org/matrix-react-sdk/pull/8529)). Fixes #22112. Contributed by @luixxiul. + * Fix position of timestamp on the chat panel in IRC layout and message edits history modal window ([\#8464](https://github.com/matrix-org/matrix-react-sdk/pull/8464)). Fixes #22011 and #22014. Contributed by @luixxiul. + * Fix unexpected and inconsistent inheritance of line-height property for mx_TextualEvent ([\#8485](https://github.com/matrix-org/matrix-react-sdk/pull/8485)). Fixes #22041. Contributed by @luixxiul. + * Set the same margin to the right side of NewRoomIntro on TimelineCard ([\#8453](https://github.com/matrix-org/matrix-react-sdk/pull/8453)). Contributed by @luixxiul. + * Remove duplicate tooltip from user pills ([\#8512](https://github.com/matrix-org/matrix-react-sdk/pull/8512)). + * Set max-width for MLocationBody and MLocationBody_map by default ([\#8519](https://github.com/matrix-org/matrix-react-sdk/pull/8519)). Fixes #21983. Contributed by @luixxiul. + * Simplify ReplyPreview UI implementation ([\#8516](https://github.com/matrix-org/matrix-react-sdk/pull/8516)). Fixes #22091. Contributed by @luixxiul. + * Fix thread summary overflow on narrow message panel on bubble message layout ([\#8520](https://github.com/matrix-org/matrix-react-sdk/pull/8520)). Fixes #22097. Contributed by @luixxiul. + * Live location sharing - refresh beacon timers on tab becoming active ([\#8515](https://github.com/matrix-org/matrix-react-sdk/pull/8515)). + * Enlarge emoji again ([\#8509](https://github.com/matrix-org/matrix-react-sdk/pull/8509)). Fixes #22086. + * Order receipts with the most recent on the right ([\#8506](https://github.com/matrix-org/matrix-react-sdk/pull/8506)). Fixes #22044. + * Disconnect from video rooms when leaving ([\#8500](https://github.com/matrix-org/matrix-react-sdk/pull/8500)). + * Fix soft crash around threads when room isn't yet in store ([\#8496](https://github.com/matrix-org/matrix-react-sdk/pull/8496)). Fixes #22047. + * Fix reading of cached room device setting values ([\#8491](https://github.com/matrix-org/matrix-react-sdk/pull/8491)). + * Add loading spinners to threads panels ([\#8490](https://github.com/matrix-org/matrix-react-sdk/pull/8490)). Fixes #21335. + * Fix forwarding UI papercuts ([\#8482](https://github.com/matrix-org/matrix-react-sdk/pull/8482)). Fixes #17616. + +Changes in [1.10.12](https://github.com/vector-im/element-web/releases/tag/v1.10.12) (2022-05-10) +================================================================================================= + +## ✨ Features + * Made the location map change the cursor to a pointer so it looks like it's clickable (https ([\#8451](https://github.com/matrix-org/matrix-react-sdk/pull/8451)). Fixes #21991. Contributed by @Odyssey346. + * Implement improved spacing for the thread list and timeline ([\#8337](https://github.com/matrix-org/matrix-react-sdk/pull/8337)). Fixes #21759. Contributed by @luixxiul. + * LLS: expose way to enable live sharing labs flag from location dialog ([\#8416](https://github.com/matrix-org/matrix-react-sdk/pull/8416)). + * Fix source text boxes in View Source modal should have full width ([\#8425](https://github.com/matrix-org/matrix-react-sdk/pull/8425)). Fixes #21938. Contributed by @EECvision. + * Read Receipts: never show +1, if it’s just 4, show all of them ([\#8428](https://github.com/matrix-org/matrix-react-sdk/pull/8428)). Fixes #21935. + * Add opt-in analytics to onboarding tasks ([\#8409](https://github.com/matrix-org/matrix-react-sdk/pull/8409)). Fixes #21705. + * Allow user to control if they are signed out of all devices when changing password ([\#8259](https://github.com/matrix-org/matrix-react-sdk/pull/8259)). Fixes #2671. + * Implement new Read Receipt design ([\#8389](https://github.com/matrix-org/matrix-react-sdk/pull/8389)). Fixes #20574. + * Stick connected video rooms to the top of the room list ([\#8353](https://github.com/matrix-org/matrix-react-sdk/pull/8353)). + * LLS: fix jumpy maximised map ([\#8387](https://github.com/matrix-org/matrix-react-sdk/pull/8387)). + * Persist audio and video mute state in video rooms ([\#8376](https://github.com/matrix-org/matrix-react-sdk/pull/8376)). + * Forcefully disconnect from video rooms on logout and tab close ([\#8375](https://github.com/matrix-org/matrix-react-sdk/pull/8375)). + * Add local echo of connected devices in video rooms ([\#8368](https://github.com/matrix-org/matrix-react-sdk/pull/8368)). + * Improve text of account deactivation dialog ([\#8371](https://github.com/matrix-org/matrix-react-sdk/pull/8371)). Fixes #17421. + * Live location sharing: own live beacon status on maximised view ([\#8374](https://github.com/matrix-org/matrix-react-sdk/pull/8374)). + * Show a lobby screen in video rooms ([\#8287](https://github.com/matrix-org/matrix-react-sdk/pull/8287)). + * Settings toggle to disable Composer Markdown ([\#8358](https://github.com/matrix-org/matrix-react-sdk/pull/8358)). Fixes #20321. + * Cache localStorage objects for SettingsStore ([\#8366](https://github.com/matrix-org/matrix-react-sdk/pull/8366)). + * Bring `View Source` back from behind developer mode ([\#8369](https://github.com/matrix-org/matrix-react-sdk/pull/8369)). Fixes #21771. + +## 🐛 Bug Fixes + * Fix Jitsi Meet getting wedged at startup in some cases ([\#21995](https://github.com/vector-im/element-web/pull/21995)). + * Fix camera getting muted when disconnecting from a video room ([\#21958](https://github.com/vector-im/element-web/pull/21958)). + * Fix race conditions around threads ([\#8448](https://github.com/matrix-org/matrix-react-sdk/pull/8448)). Fixes #21627. + * Fix reading of cached room device setting values ([\#8495](https://github.com/matrix-org/matrix-react-sdk/pull/8495)). + * Fix issue with dispatch happening mid-dispatch due to js-sdk emit ([\#8473](https://github.com/matrix-org/matrix-react-sdk/pull/8473)). Fixes #22019. + * Match MSC behaviour for threads when disabled (thread-aware mode) ([\#8476](https://github.com/matrix-org/matrix-react-sdk/pull/8476)). Fixes #22033. + * Specify position of DisambiguatedProfile inside a thread on bubble message layout ([\#8452](https://github.com/matrix-org/matrix-react-sdk/pull/8452)). Fixes #21998. Contributed by @luixxiul. + * Location sharing: do not trackuserlocation in location picker ([\#8466](https://github.com/matrix-org/matrix-react-sdk/pull/8466)). Fixes #22013. + * fix text and map indent in thread view ([\#8462](https://github.com/matrix-org/matrix-react-sdk/pull/8462)). Fixes #21997. + * Live location sharing: don't group beacon info with room creation summary ([\#8468](https://github.com/matrix-org/matrix-react-sdk/pull/8468)). + * Don't linkify code blocks ([\#7859](https://github.com/matrix-org/matrix-react-sdk/pull/7859)). Fixes #9613. + * read receipts: improve tooltips to show names of users ([\#8438](https://github.com/matrix-org/matrix-react-sdk/pull/8438)). Fixes #21940. + * Fix poll overflowing a reply tile on bubble message layout ([\#8459](https://github.com/matrix-org/matrix-react-sdk/pull/8459)). Fixes #22005. Contributed by @luixxiul. + * Fix text link buttons on UserInfo panel ([\#8247](https://github.com/matrix-org/matrix-react-sdk/pull/8247)). Fixes #21702. Contributed by @luixxiul. + * Clear local storage settings handler cache on logout ([\#8454](https://github.com/matrix-org/matrix-react-sdk/pull/8454)). Fixes #21994. + * Fix jump to bottom button being always displayed in non-overflowing timelines ([\#8460](https://github.com/matrix-org/matrix-react-sdk/pull/8460)). Fixes #22003. + * fix timeline search with empty text box should do nothing ([\#8262](https://github.com/matrix-org/matrix-react-sdk/pull/8262)). Fixes #21714. Contributed by @EECvision. + * Fixes "space panel kebab menu is rendered out of view on sub spaces" ([\#8350](https://github.com/matrix-org/matrix-react-sdk/pull/8350)). Contributed by @yaya-usman. + * Add margin to the location map inside ThreadView ([\#8442](https://github.com/matrix-org/matrix-react-sdk/pull/8442)). Fixes #21982. Contributed by @luixxiul. + * Patch: "Reloading the registration page should warn about data loss" ([\#8377](https://github.com/matrix-org/matrix-react-sdk/pull/8377)). Contributed by @yaya-usman. + * Live location sharing: fix safari timestamps pt 2 ([\#8443](https://github.com/matrix-org/matrix-react-sdk/pull/8443)). + * Fix issue with thread notification state ignoring initial events ([\#8417](https://github.com/matrix-org/matrix-react-sdk/pull/8417)). Fixes #21927. + * Fix event text overflow on bubble message layout ([\#8391](https://github.com/matrix-org/matrix-react-sdk/pull/8391)). Fixes #21882. Contributed by @luixxiul. + * Disable the message action bar when hovering over the 1px border between threads on the list ([\#8429](https://github.com/matrix-org/matrix-react-sdk/pull/8429)). Fixes #21955. Contributed by @luixxiul. + * correctly align read receipts to state events in bubble layout ([\#8419](https://github.com/matrix-org/matrix-react-sdk/pull/8419)). Fixes #21899. + * Fix issue with underfilled timelines when barren of content ([\#8432](https://github.com/matrix-org/matrix-react-sdk/pull/8432)). Fixes #21930. + * Fix baseline misalignment of thread panel summary by deduplication ([\#8413](https://github.com/matrix-org/matrix-react-sdk/pull/8413)). + * Fix editing of non-html replies ([\#8418](https://github.com/matrix-org/matrix-react-sdk/pull/8418)). Fixes #21928. + * Read Receipts "Fall from the Sky" ([\#8414](https://github.com/matrix-org/matrix-react-sdk/pull/8414)). Fixes #21888. + * Make read receipts handle nullable roomMembers correctly ([\#8410](https://github.com/matrix-org/matrix-react-sdk/pull/8410)). Fixes #21896. + * Don't form continuations on either side of a thread root ([\#8408](https://github.com/matrix-org/matrix-react-sdk/pull/8408)). Fixes #20908. + * Fix centering issue with sticker placeholder ([\#8404](https://github.com/matrix-org/matrix-react-sdk/pull/8404)). Fixes #18014 and #6449. + * Disable download option on