What's Changed
Highlights
- Element Call is now available as two packages: "full" and "embedded"
- Full package is the same as what was previously published: docker image + tarball
- Embedded package is to allow Element Call to be distributed as part of a Matrix Client supporting Web (NPM), Android (AAR) and iOS (SwiftPM) platforms
- Documentation improvements
- New self-hosting guide
- Clarifications around URL parameters
- Improvements to error handling including:
- participant limit imposed by a LiveKit SFU
- failure to get JWT token
- End-to-end integration tests using Playwright
Changes
Documentation
- Separate widget-only URL parameters in the documentation by @hughns in #3088
- Refactor README.md by @fkwp in #3059
- README.md add information about rc_delayed_event_mgmt by @fkwp in #3026
- Update readme with new Element Call screenshot by @fkwp in #3099
- deleted old demo.jpg by @fkwp in #3104
Other
- Expose
setLKLogLevel
to window for debugging. by @toger5 in #3064 - Cache calls to removeHiddenChars() to fix performance bottleneck in Safari by @hughns in #3066
- Use fetch() in a way that works for file URLs by @hughns in #3071
- Pin matrix-js-sdk to a specific commit by @robintown in #3080
- Fix typing on config: EULA is optional as it has a default by @hughns in #3074
- Vite embedded build of Element Call by @hughns in #3077
- refactor: Centralize group call errors in custom GroupCallErrorBoundary by @BillCarsonFr in #3058
- Error: use a close button instead of go to home when in widget mode by @BillCarsonFr in #3063
- Fix: js-sdk version that uses expected value for
isJoined
(isJoined
will now be false before we left as expected by EC) by @toger5 in #3092 - First integration tests with playwright by @BillCarsonFr in #3091
- Integration Test: Add test for register, login, logout and guest create and join call by @BillCarsonFr in #3096
- Integration Test: Add test for register, login, logout and guest create and join call by @BillCarsonFr in #3097
- Keep rate limits for dev backend, disable only for playwright tests by @BillCarsonFr in #3098
- Eslint: Ensure playwright files are checked by eslint by @BillCarsonFr in #3101
- Downgrade to livekit-client v2.9.1 by @robintown in #3109
- Show "insufficient capacity" when hitting participant limits by @robintown in #3110
- Run the 'prevent blocked' workflow even if PR has conflicts by @robintown in #3112
- Error management: Handle fail to get JWT token by @BillCarsonFr in #3076
- Move all tests into one workflow, give them clear names by @robintown in #3111
- Publish embedded package for releases of Element Call by @hughns in #3086
- Analytics configuration is the responsibility of the host application when running in widget mode by @hughns in #3089
- Fix join errors mistakenly showing a generic error screen by @robintown in #3119
- Fix compilation error when trying to use SwiftPM embedded package by @hughns in #3127
- Use correct rageshake URL when running in embedded package by @hughns in #3133
Full Changelog: v0.8.0...v0.9.0
No changes since v0.9.0-rc.4
: v0.9.0-rc.4...v0.9.0
Docker full package
Element Call is available as a Docker image from the GitHub Container Registry.
The image provides a full build of Element Call that can be used both in standalone and as a widget (on a remote URL).
docker pull ghcr.io/element-hq/element-call:0.9.0
Embedded packages
This release includes the following embedded packages that allow Element Call to be used as an embedded widget
within another application.
NPM
npm install @element-hq/element-call-embedded@0.9.0
Android AAR
dependencies {
implementation 'io.element.android:element-call-embedded:0.9.0'
}
SwiftPM
.package(url: "https://github.com/element-hq/element-call-swift.git", from: "0.9.0")