A collection of modules for Element using the Module API.
A module to login as a guest. This module also requires the installation of a Synapse module:
- See the Readme of the
element-web-guest-module
for instructions on how to install it in Element. - See the Readme of the
synapse-guest-module
for instructions on how to install it in your Synapse homeserver.
A module to provide openDesk specific functionality.
- See the Readme of the
element-web-opendesk-module
for instructions on how to install it in Element.
A module to approve widget capabilities so the user is asked:
- See the Readme of the
element-web-widget-lifecycle-module
for instructions on how to install it in Element.
A module to provide widget toggles.
- See the Readme of the
element-web-widget-toggles-module
for instructions on how to install it in Element.
We provide some version combinations of Element Web with the modules as a container under packages. These are built automatically by our CI and not tested further, but should otherwise be ready to use.
The tagging scheme for the container signifies the versions of the components going into it: <component>-[v if tagged version]<tag or git commit hash>
.
This pattern repeats up to 5 times for the 5 possible components:
ew
Element Webg
Guest moduleod
openDesk modulewl
Widget Lifecycle modulewt
Widget Toggles module
For example, the tag ew-v1.11.86-g-v2.0.0-od-v0.5.0-wl-v1.0.1-wt-v0.1.0
signifies the combination of all 5 latest stable releases at the time of writing.
As another example, ew-v1.11.84-g-v2.0.0-od-ae0b6e6-wl-54f75f3
is Element Web release 1.11.84, Guest module release 2.0.0, different git versions for the openDesk and Widget Lifecycle modules, and the Widget Toggles module was not included.
Development on the modules happens at GitHub.
Please take a look at our Contribution Guidelines.
You need to install Node.js (>= 20.0.0
, prefer using an LTS version) and run
yarn
to work on this package.
After checkout, run yarn install
to download the required dependencies
Warning
Do not use npm install
when working with this package.
In the project root directory, you can run:
yarn build
: Build the production version of the modules.yarn test
: Watch all files for changes and run tests.yarn tsc
: Check TypeScript types for errors in the modules.yarn lint
: Run eslint on the module.yarn prettier:write
: Run prettier on all files to format them.yarn depcheck
: Check for missing or unused dependencies.yarn deduplicate
: Deduplicate dependencies in theyarn.lock
file.yarn changeset
: Generate a changeset that provides a description of a change.yarn docker:build
: Builds a container from the output ofyarn build
.
This package uses automated versioning.
Each change should be accompanied with a specification of the impact (patch
, minor
, or major
) and a description of the change.
Use yarn changeset
to generate a new changeset for a pull request.
Learn more in the .changeset
folder.
Once the change is merged to main
, a “Version Packages” pull request will be created.
As soon as the project maintainers merged it, the package will be released and the container is published.
This project is licensed under APACHE 2.0.
This project is part of openDesk.