Commit Graph

5104 Commits

Author SHA1 Message Date
Robin
0b26dc2f43 Create a plugin for linking other packages 2025-03-14 03:23:37 -04:00
Robin
31fb916b9d Enable CI to use Yarn Berry 2025-03-14 03:23:37 -04:00
Robin
95b37ea341 Upgrade to Yarn Berry 2025-03-14 03:23:37 -04:00
Robin
fee9841183 Remove the dependency on buffer
It's not generally available in browser environments / certain Yarn modes and can easily be replaced by TextEncoder.
2025-03-14 02:09:48 -04:00
Timo
46e7e8e9cd Fix: js-sdk version that uses expected value for isJoined (isJoined will now be false before we left as expected by EC) (#3092) 2025-03-13 19:09:18 +01:00
Hugh Nimmo-Smith
a924c7ffbb Separate widget-only URL parameters in the documentation (#3088) 2025-03-13 10:28:38 +00:00
Valere Fedronic
90a282b46c Merge pull request #3063 from element-hq/valere/fix_add_close_button_in_widget_mode
Error: use a close button instead of go to home when in widget mode
2025-03-13 10:16:26 +01:00
Valere Fedronic
79e294755c Merge pull request #3058 from element-hq/valere/refactor_error_handling
refactor: Centralize group call errors in custom GroupCallErrorBoundary
2025-03-13 10:12:11 +01:00
Hugh Nimmo-Smith
7aac56aac0 Vite embedded build of Element Call (#3077)
* Embedded package build of Element Call

Part of https://github.com/element-hq/element-call/issues/2994

This creates a new "embedded" build (vs "full" build) at the vite level. It will be used by a later PR that actually provides platform specific packages.

Embedded build:

- Uses relative URLs
- Uses relative config.json path and other resource loading
- Has a config.json built in
- Doesn't include the public folder (e.g. favicon)

Out of scope:

- this doesn't attempt to exclude SPA functionality, so technically the build could be used in SPA
- the above means that the crypto-wasm binary is included in the build

* CI artifact name based on type of build

* Update src/config/Config.ts
2025-03-12 17:00:44 +00:00
Hugh Nimmo-Smith
520c0f4925 Fix typing on config: EULA is optional as it has a default (#3074) 2025-03-12 13:52:13 +01:00
Valere
b02ad8871e review: Make widget prop mandatory 2025-03-12 10:27:45 +01:00
Valere
b0a4a954f8 Error: use a close button instead of go to home when in widget mode 2025-03-12 10:12:34 +01:00
Robin
5547e838d3 Merge pull request #3080 from element-hq/robin/pin-matrix-js-sdk
Pin matrix-js-sdk to a specific commit
2025-03-12 05:06:10 -04:00
Valere
612ace137a code review: recoveryActionHandler should not be optional 2025-03-12 09:44:41 +01:00
Robin
3cf0ce3dcb Pin matrix-js-sdk to a specific commit
Whenever we use a Git dependency, we should reference a specific tag or commit rather than a branch name, because Yarn Classic is bad at recognizing when a Git dependency needs to be re-installed due to it resolving to a new version. (It seems to simply use the version from package.json as a cache key.)

This is relevant only for developers who run 'yarn install' on top of a previously up-to-date working copy, not for CI which re-installs the project on every run.
2025-03-11 16:25:03 -04:00
Valere
8584521ade fixup: post rebase fix 2025-03-11 20:19:14 +01:00
Timo
93ae2aed98 New Membership Manager js-sdk develop (#3067)
* fix experimentalDecorators like we do in the js-sdk

* bump-js-sdk

* update to develop branch of js-sdk (new membership manager)
2025-03-11 19:48:02 +01:00
Valere
c0ef6e5e4d fix: Error recover/retry buttons should reset error state 2025-03-11 16:54:19 +01:00
Valere
4c27551014 refactor: Centralize group call errors in custom GroupCallErrorBoundary 2025-03-11 16:54:19 +01:00
ElementRobot
a97c36a335 Merge pull request #3078 from element-hq/actions/localazy-download
Localazy Download
2025-03-11 15:40:53 +00:00
fkwp
1db3e3cbc4 Translations updates 2025-03-11 15:39:33 +00:00
Hugh Nimmo-Smith
1a692b983a Use fetch() in a way that works for file URLs (#3071)
fetch returns a response code of 0 when it successfully loads a `file://` resource.

This means we can't just rely on `response.ok`.

Required for https://github.com/element-hq/element-call/issues/2994
2025-03-11 10:39:51 +01:00
fkwp
2885e7e42e Merge pull request #3059 from element-hq/fkwp/doc_update
Refactor README.md
2025-03-10 20:31:09 +01:00
Hugh Nimmo-Smith
88b862b5fd Update README.md 2025-03-10 18:10:25 +00:00
Hugh Nimmo-Smith
30b5bcdfb6 Cache calls to removeHiddenChars() to fix performance bottleneck in Safari (#3066)
* Cache calls to removeHiddenChars() as very slow on Safari

Fixes #3065

* Test

* Split testing for removeHiddenChars
2025-03-10 13:55:03 +00:00
Timo
b635b00b0c Expose setLKLogLevel to window for debugging. (#3064)
* Expose setLKLogLevel to window for debugging.

* fix es lint
2025-03-10 08:59:27 +00:00
Timo
750db09156 Use the New MatrixRTCSession MembershipManager (#3015)
* provide option to use the New MembershipManager

* fix cryptoApi import change

* add error screen

* bump js-sdk

* rename to `setUnrecoverableError` and remove onLeave call because that will be handled by an effect.

* this was doing nothing (it is a fragment back when there was no deprecated `rtcSession.room`)

* rename to error

* Update src/utils/errors.ts

Co-authored-by: Hugh Nimmo-Smith <hughns@users.noreply.github.com>

* Update src/utils/errors.ts

Co-authored-by: Hugh Nimmo-Smith <hughns@users.noreply.github.com>

* review

* bump js-sdk

* expose lk log level changing in `window`

* bump js-sdk
 - always log "Missing own membership: force re-join"
 - also check insertions queue

* change lk log level to warn

* Bump js-sdk

* Bump js-sdk

* .

* Bump js-sdk

* show user count based on meberships not users.

Signed-off-by: Timo K <toger5@hotmail.de>

* bump js-sdk

* rename setting name

* remove unused import

* js sdk bump

* remove `window.setLKLogLevel`

* bump js sdk with reverted incompatible change

* bump js-sdk with one less merge

---------

Signed-off-by: Timo K <toger5@hotmail.de>
Co-authored-by: Hugh Nimmo-Smith <hughns@users.noreply.github.com>
Co-authored-by: Hugh Nimmo-Smith <hughns@element.io>
v0.8.0-rc.1
2025-03-07 16:27:04 +00:00
Timo
c9f2a1c943 Reduce redundant calculations of display name map (#3062)
* Use share() on fromEvent() so that we multiplex subscribers onto the event emitter

* .

* .

* Comment

* Comment

---------

Co-authored-by: Hugh Nimmo-Smith <hughns@element.io>
2025-03-07 10:18:28 +00:00
fkwp
1958b658c3 make colours dark theme compatible 2025-03-05 21:53:41 +01:00
fkwp
542d36f893 prettier 2025-03-05 21:43:09 +01:00
fkwp
ad10b6c2fa add self-hosting section 2025-03-05 21:20:08 +01:00
fkwp
c29eeff450 indentation 2025-03-05 21:19:56 +01:00
fkwp
af57834c87 format Copyright & License 2025-03-05 21:19:12 +01:00
fkwp
e87e1a8f25 Update documentation 2025-03-05 21:18:17 +01:00
fkwp
5583f621ba Update Development Section 2025-03-05 21:17:54 +01:00
fkwp
1df5872215 update Translation section 2025-03-05 21:16:49 +01:00
fkwp
32a3c9ea5d Add section about MatrixRTC Backend Discovery and Selection 2025-03-05 21:15:57 +01:00
fkwp
93fb299770 add self-hosting section 2025-03-05 21:13:55 +01:00
fkwp
f79d7cfaea Add deployment options section 2025-03-05 21:12:23 +01:00
fkwp
1c233b88f0 add feature section 2025-03-05 21:10:45 +01:00
fkwp
52b40d3116 add Overview section 2025-03-05 19:35:02 +01:00
fkwp
f7379b5683 Add short description of Element Call 2025-03-05 19:34:39 +01:00
fkwp
2c21423f1a add License shield 2025-03-05 19:33:39 +01:00
Robin
b5f5ab329a Merge pull request #3051 from element-hq/robin/return-to-lobby
Respect the returnToLobby flag
2025-03-05 12:17:53 -05:00
Robin
308d42980f Merge pull request #3054 from element-hq/robin/og-brand
Use the configured brand name in OpenGraph tags
2025-03-05 12:09:25 -05:00
Robin
0ca2627bd4 Merge pull request #3055 from element-hq/robin/join-action
Send a 'join' action when entering the call
2025-03-05 12:09:16 -05:00
Robin
359812d8b1 Explain why returnToLobby is false in SPA 2025-03-05 10:40:37 -05:00
Robin
5b1ea4501d Send a 'join' action when entering the call
Following a75952cf77, this is one more upgrade to the widget communication that I'd like to make within this release cycle.

The motivating issue is https://github.com/element-hq/element-web/issues/29429. Fundamentally, without a 'join' action, the only info Element Web can use to determine whether it's joined the call is whether a MatrixRTC membership exists. But membership state events can inaccurately represent the client's actual state (whether because delayed events aren't supported, or because the delayed event hasn't timed out yet), so I suggest we send a 'join' action here just as we do in the Element Web Jitsi wrapper (e9a3625bd6/src/vector/jitsi/index.ts (L503)) to let Element Web tap directly into the widget's local state. (This will need additional Element Web changes, but is certainly backwards compatible.)
2025-03-05 09:25:52 -05:00
Robin
ec73e7fa86 Use the configured brand name in OpenGraph tags
Overlooked some of these when reviewing https://github.com/element-hq/element-call/pull/3006.
2025-03-05 09:18:31 -05:00
fkwp
c579904f29 added rule for ignoring draw.io backup files 2025-03-05 13:37:04 +01:00