Skip to content

Commit

Permalink
Merge tag 'v1.11.1' into sc
Browse files Browse the repository at this point in the history
* Enable URL tooltips on hover for Element Desktop ([\element-hq#22286](element-hq#22286)). Fixes undefined/element-web#6532.
* Hide screenshare button in video rooms on Desktop ([\element-hq#9045](matrix-org/matrix-react-sdk#9045)).
* Add a developer command to reset Megolm and Olm sessions ([\element-hq#9044](matrix-org/matrix-react-sdk#9044)).
* add spaces to TileErrorBoundary ([\element-hq#9012](matrix-org/matrix-react-sdk#9012)). Contributed by @HarHarLinks.
* Location sharing - add localised strings to map ([\element-hq#9025](matrix-org/matrix-react-sdk#9025)). Fixes element-hq#21443. Contributed by @kerryarchibald.
* Added trim to ignore whitespaces in email check ([\#9027](matrix-org/matrix-react-sdk#9027)). Contributed by @ankur12-1610.
* Improve _GenericEventListSummary.scss ([\element-hq#9005](matrix-org/matrix-react-sdk#9005)). Contributed by @luixxiul.
* Live location share - tiles without tile server (PSG-591) ([\element-hq#8962](matrix-org/matrix-react-sdk#8962)). Contributed by @kerryarchibald.
* Add option to display tooltip on link hover ([\element-hq#8394](matrix-org/matrix-react-sdk#8394)). Fixes element-hq#21907.
* Support a module API surface for custom functionality ([\element-hq#8246](matrix-org/matrix-react-sdk#8246)).
* Adjust encryption copy when creating a video room ([\element-hq#8989](matrix-org/matrix-react-sdk#8989)). Fixes element-hq#22737.
* Add bidirectonal isolation for pills ([\element-hq#8985](matrix-org/matrix-react-sdk#8985)). Contributed by @sha-265.
* Delabs `Show current avatar and name for users in message history` ([\element-hq#8764](matrix-org/matrix-react-sdk#8764)). Fixes element-hq#22336.
* Live location share - open latest location in map site ([\element-hq#8981](matrix-org/matrix-react-sdk#8981)). Contributed by @kerryarchibald.
* Improve LinkPreviewWidget ([\element-hq#8881](matrix-org/matrix-react-sdk#8881)). Fixes element-hq#22634. Contributed by @luixxiul.
* Render HTML topics in rooms on space home ([\element-hq#8939](matrix-org/matrix-react-sdk#8939)).
* Hide timestamp on event tiles being edited on every layout ([\element-hq#8956](matrix-org/matrix-react-sdk#8956)). Contributed by @luixxiul.
* Introduce new copy icon ([\element-hq#8942](matrix-org/matrix-react-sdk#8942)).
* Allow finding group DMs by members in spotlight ([\element-hq#8922](matrix-org/matrix-react-sdk#8922)). Fixes element-hq#22564. Contributed by @justjanne.
* Live location share - explicitly stop beacons replaced beacons ([\element-hq#8933](matrix-org/matrix-react-sdk#8933)). Contributed by @kerryarchibald.
* Remove unpin from widget kebab menu ([\element-hq#8924](matrix-org/matrix-react-sdk#8924)).
* Live location share - redact related locations on beacon redaction ([\element-hq#8926](matrix-org/matrix-react-sdk#8926)). Contributed by @kerryarchibald.
* Live location share - disallow message pinning ([\element-hq#8928](matrix-org/matrix-react-sdk#8928)). Contributed by @kerryarchibald.
* Remove the ability to hide yourself in video rooms ([\element-hq#22806](element-hq#22806)). Fixes element-hq#22805.
* Unbreak in-app permalink tooltips  ([\element-hq#9100](matrix-org/matrix-react-sdk#9100)).
* Add space for the stroke on message editor on IRC layout ([\element-hq#9030](matrix-org/matrix-react-sdk#9030)). Fixes element-hq#22785. Contributed by @luixxiul.
* Fix pinned messages not re-linkifying on edit ([\element-hq#9042](matrix-org/matrix-react-sdk#9042)). Fixes element-hq#22726.
* Don't unnecessarily persist the host signup dialog ([\element-hq#9043](matrix-org/matrix-react-sdk#9043)). Fixes element-hq#22778.
* Fix URL previews causing messages to become unrenderable ([\element-hq#9028](matrix-org/matrix-react-sdk#9028)). Fixes element-hq#22766.
* Fix event list summaries including invalid events ([\element-hq#9041](matrix-org/matrix-react-sdk#9041)). Fixes element-hq#22790.
* Correct accessibility labels for unread rooms in spotlight ([\element-hq#9003](matrix-org/matrix-react-sdk#9003)). Contributed by @justjanne.
* Enable search strings highlight on bubble layout ([\element-hq#9032](matrix-org/matrix-react-sdk#9032)). Fixes element-hq#22786. Contributed by @luixxiul.
* Unbreak URL preview for formatted links with tooltips ([\element-hq#9022](matrix-org/matrix-react-sdk#9022)). Fixes element-hq#22764.
* Re-add margin to tiles based on EventTileBubble ([\element-hq#9015](matrix-org/matrix-react-sdk#9015)). Fixes element-hq#22772. Contributed by @luixxiul.
* Fix Shortcut prompt for Search showing in minimized Roomlist ([\element-hq#9014](matrix-org/matrix-react-sdk#9014)). Fixes element-hq#22739. Contributed by @justjanne.
* Fix avatar position on event info line for hidden events on a thread ([\element-hq#9019](matrix-org/matrix-react-sdk#9019)). Fixes element-hq#22777. Contributed by @luixxiul.
* Fix lost padding of event tile info line ([\element-hq#9009](matrix-org/matrix-react-sdk#9009)). Fixes element-hq#22754 and element-hq#22759. Contributed by @luixxiul.
* Align verification bubble with normal event tiles on IRC layout ([\element-hq#9001](matrix-org/matrix-react-sdk#9001)). Fixes element-hq#22758. Contributed by @luixxiul.
* Ensure timestamp on generic event list summary is not hidden from TimelineCard ([\element-hq#9000](matrix-org/matrix-react-sdk#9000)). Fixes element-hq#22755. Contributed by @luixxiul.
* Fix headings margin on security user settings tab ([\element-hq#8826](matrix-org/matrix-react-sdk#8826)). Contributed by @luixxiul.
* Fix timestamp position on file panel ([\element-hq#8976](matrix-org/matrix-react-sdk#8976)). Fixes element-hq#22718. Contributed by @luixxiul.
* Stop using :not() pseudo class for mx_GenericEventListSummary ([\element-hq#8944](matrix-org/matrix-react-sdk#8944)). Fixes element-hq#22602. Contributed by @luixxiul.
* Don't show the same user twice in Spotlight ([\element-hq#8978](matrix-org/matrix-react-sdk#8978)). Fixes element-hq#22697.
* Align the right edge of expand / collapse link buttons of generic event list summary in bubble layout with a variable ([\element-hq#8992](matrix-org/matrix-react-sdk#8992)). Fixes element-hq#22743. Contributed by @luixxiul.
* Display own avatars on search results panel in bubble layout ([\element-hq#8990](matrix-org/matrix-react-sdk#8990)). Contributed by @luixxiul.
* Fix text flow of thread summary content on threads list ([\element-hq#8991](matrix-org/matrix-react-sdk#8991)). Fixes element-hq#22738. Contributed by @luixxiul.
* Fix the size of the clickable area of images ([\element-hq#8987](matrix-org/matrix-react-sdk#8987)). Fixes element-hq#22282.
* Fix font size of MessageTimestamp on TimelineCard ([\element-hq#8950](matrix-org/matrix-react-sdk#8950)). Contributed by @luixxiul.
* Improve security room settings tab style rules ([\element-hq#8844](matrix-org/matrix-react-sdk#8844)). Fixes element-hq#22575. Contributed by @luixxiul.
* Align E2E icon and avatar of info tile in compact modern layout ([\element-hq#8965](matrix-org/matrix-react-sdk#8965)). Fixes element-hq#22652. Contributed by @luixxiul.
* Fix clickable area of general event list summary toggle ([\element-hq#8979](matrix-org/matrix-react-sdk#8979)). Fixes element-hq#22722. Contributed by @luixxiul.
* Fix resizing room topic ([\element-hq#8966](matrix-org/matrix-react-sdk#8966)). Fixes element-hq#22689.
* Dismiss the search dialogue when starting a DM ([\element-hq#8967](matrix-org/matrix-react-sdk#8967)). Fixes element-hq#22700.
* Fix "greyed out" text style inconsistency on search result panel ([\element-hq#8974](matrix-org/matrix-react-sdk#8974)). Contributed by @luixxiul.
* Add top padding to EventTilePreview loader ([\element-hq#8977](matrix-org/matrix-react-sdk#8977)). Fixes element-hq#22719. Contributed by @luixxiul.
* Fix read receipts group position on TimelineCard in compact modern/group layout ([\element-hq#8971](matrix-org/matrix-react-sdk#8971)). Fixes element-hq#22715. Contributed by @luixxiul.
* Fix calls on homeservers without the unstable thirdparty endpoints. ([\element-hq#8931](matrix-org/matrix-react-sdk#8931)). Fixes element-hq#21680. Contributed by @deepbluev7.
* Enable ReplyChain text to be expanded on IRC layout ([\element-hq#8959](matrix-org/matrix-react-sdk#8959)). Fixes element-hq#22709. Contributed by @luixxiul.
* Fix hidden timestamp on message edit history dialog ([\element-hq#8955](matrix-org/matrix-react-sdk#8955)). Fixes element-hq#22701. Contributed by @luixxiul.
* Enable ReplyChain text to be expanded on bubble layout ([\element-hq#8958](matrix-org/matrix-react-sdk#8958)). Fixes element-hq#22709. Contributed by @luixxiul.
* Fix expand/collapse state wrong in metaspaces ([\element-hq#8952](matrix-org/matrix-react-sdk#8952)). Fixes element-hq#22632.
* Location (live) share replies now provide a fallback content ([\element-hq#8949](matrix-org/matrix-react-sdk#8949)).
* Fix space settings not opening for script-created spaces ([\element-hq#8957](matrix-org/matrix-react-sdk#8957)). Fixes element-hq#22703.
* Respect `filename` field on `m.file` events ([\element-hq#8951](matrix-org/matrix-react-sdk#8951)).
* Fix PlatformSettingsHandler always returning true due to returning a Promise ([\element-hq#8954](matrix-org/matrix-react-sdk#8954)). Fixes element-hq#22616.
* Improve high-contrast support for spotlight ([\element-hq#8948](matrix-org/matrix-react-sdk#8948)). Fixes element-hq#22481. Contributed by @justjanne.
* Fix wrong assertions that all media events have a mimetype ([\element-hq#8946](matrix-org/matrix-react-sdk#8946)). Fixes matrix-org/element-web-rageshakes#13727.
* Make invite dialogue fixed height ([\element-hq#8934](matrix-org/matrix-react-sdk#8934)). Fixes element-hq#22659.
* Fix all megolm error reported as unknown ([\element-hq#8916](matrix-org/matrix-react-sdk#8916)).
* Remove line-height declarations from _ReplyTile.scss ([\element-hq#8932](matrix-org/matrix-react-sdk#8932)). Fixes element-hq#22687. Contributed by @luixxiul.
* Reduce video rooms log spam ([\element-hq#8913](matrix-org/matrix-react-sdk#8913)).
* Correct new search input’s rounded corners ([\element-hq#8921](matrix-org/matrix-react-sdk#8921)). Fixes element-hq#22576. Contributed by @justjanne.
* Align unread notification dot on threads list in compact modern=group layout ([\element-hq#8911](matrix-org/matrix-react-sdk#8911)). Fixes element-hq#22677. Contributed by @luixxiul.
  • Loading branch information
su-ex committed Aug 1, 2022
2 parents c4599da + 70dabba commit 6655778
Show file tree
Hide file tree
Showing 35 changed files with 621 additions and 67 deletions.
2 changes: 2 additions & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -1,3 +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
2 changes: 1 addition & 1 deletion .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ module.exports = {
}
},
overrides: [{
files: ["src/**/*.{ts,tsx}"],
files: ["src/**/*.{ts,tsx}", "module_system/**/*.{ts,tsx}"],
extends: [
"plugin:matrix-org/typescript",
"plugin:matrix-org/react",
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -25,3 +25,6 @@ electron/pub
.vscode/
.env
/coverage
# Auto-generated file
/src/modules.ts
/build_config.yaml
80 changes: 80 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,83 @@
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)
===============================================================================================

Expand Down
25 changes: 25 additions & 0 deletions build_config.sample.yaml
Original file line number Diff line number Diff line change
@@ -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 github
- "github:vector-im/element-web-ilag-module#main"
48 changes: 48 additions & 0 deletions docs/modules.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# Module system

The module system in Element Web is a way to add or modify functionality of Element Web itself, bundled at compile time
for the app. This means that modules are loaded as part of the `yarn build` process but have an effect on user experience
at runtime.

## Installing modules

If you already have a module you want to install, such as our [ILAG Module](https://github.com/vector-im/element-web-ilag-module),
then copy `build_config.sample.yaml` to `build_config.yaml` in the same directory. In your new `build_config.yaml` simply
add the reference to the module as described by the sample file, using the same syntax you would for `yarn add`:

```yaml
modules:
# Our module happens to be published on NPM, so we use that syntax to reference it.
- "@vector-im/element-web-ilag-module@latest"
```

Then build the app as you normally would: `yarn build` or `yarn dist` (if compatible on your platform). If you are building
the Docker image then ensure your `build_config.yaml` ends up in the build directory. Usually this works fine if you use
the current directory as the build context (the `.` in `docker build -t my-element-web .`).

## Writing modules

While writing modules is meant to be easy, not everything is possible yet. For modules which want to do something we haven't
exposed in the module API, the module API will need to be updated. This means a PR to both the
[`matrix-react-sdk`](https://github.com/matrix-org/matrix-react-sdk) and [`matrix-react-sdk-module-api`](https://github.com/matrix-org/matrix-react-sdk-module-api).

Once your change to the module API is accepted, the `@matrix-org/react-sdk-module-api` dependency gets updated at the
`matrix-react-sdk` and `element-web` layers (usually by us, the maintainers) to ensure your module can operate.

If you're not adding anything to the module API, or your change was accepted per above, then start off with a clone of
our [ILAG module](https://github.com/vector-im/element-web-ilag-module) which will give you a general idea for what the
structure of a module is and how it works.

The following requirements are key for any module:
1. The module must depend on `@matrix-org/react-sdk-module-api` (usually as a dev dependency).
2. The module's `main` entrypoint must have a `default` export for the `RuntimeModule` instance, supporting a constructor
which takes a single parameter: a `ModuleApi` instance. This instance is passed to `super()`.
3. The module must be deployed in a way where `yarn add` can access it, as that is how the build system will try to
install it. Note that while this is often NPM, it can also be a GitHub/GitLab repo or private NPM registry.

... and that's pretty much it. As with any code, please be responsible and call things in line with the documentation.
Both `RuntimeModule` and `ModuleApi` have extensive documentation to describe what is proper usage and how to set things
up.

If you have any questions then please visit [#element-dev:matrix.org](https://matrix.to/#/#element-dev:matrix.org) on
Matrix and we'll help as best we can.
33 changes: 33 additions & 0 deletions module_system/BuildConfig.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
/*
Copyright 2022 New Vector Ltd.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/

import * as YAML from "yaml";
import * as fs from "fs";

export type BuildConfig = {
// Dev note: make everything here optional for user safety. Invalid
// configs are very possible.

// The module references to include in the build.
modules?: string[];
};

export function readBuildConfig(): BuildConfig {
if (fs.existsSync("./build_config.yaml")) {
return YAML.parse(fs.readFileSync("./build_config.yaml", "utf-8"));
}
return {}; // no config
}
Loading

0 comments on commit 6655778

Please sign in to comment.