Michael Telatynski
557f03a80d
Update screenshots
2026-03-31 09:53:40 +01:00
Michael Telatynski
ba5adb67e8
Merge branch 'main' of github.com:/element-hq/element-web-modules into t3chguy/wat/382
...
# Conflicts:
# modules/restricted-guests/element-web/e2e/snapshots/restricted-guests.spec.ts/preview-bar-linux.png
2026-03-31 09:26:21 +01:00
David Langley
af0725b33f
Merge branch 'main' into langleyd/widget-lifecycle-module
2026-03-23 11:38:44 +00:00
David Langley
617978e436
update moduleApiVersion to enforce module is actually present.
2026-03-23 11:38:04 +00:00
R Midhun Suresh
242d04cef6
Update screenshots
2026-03-23 12:41:34 +05:30
Michael Telatynski
a8f814b108
Merge branch 'main' of github.com:/element-hq/element-web-modules into t3chguy/wat/382
...
# Conflicts:
# modules/restricted-guests/element-web/e2e/snapshots/restricted-guests.spec.ts/login-legacy-linux.png
# modules/restricted-guests/element-web/e2e/snapshots/restricted-guests.spec.ts/login-mas-linux.png
# playwright.config.ts
2026-03-20 16:41:53 +00:00
David Baker
055a127841
Pin react deps to exact version in package.json
...
Yarn had somehow confused itself and got into a state where it refused
to install react 19.2.4, so much so that even renovate thought it had
upgraded the package (https://github.com/element-hq/element-modules/pull/208 )
when it hadn't.
Until we switch to pnom and can use catalog:, pin them to exact version which
seems to make yarn play ball again.
2026-03-16 17:58:23 +00:00
David Langley
c058c187c4
Tidy up
2026-03-13 16:19:27 +00:00
David Langley
610a9494d1
Fix coverage paths
2026-03-13 15:43:25 +00:00
David Langley
75464c1634
Make sonar happy
2026-03-13 15:43:25 +00:00
David Langley
7d183ed15b
Fix coverage reporting
2026-03-13 15:43:25 +00:00
David Langley
c2da26542e
Remove double export
2026-03-13 15:43:25 +00:00
David Langley
782b008b54
Fix e2e
...
We need wildcard to match query params etc
2026-03-13 15:43:25 +00:00
David Langley
5d091e91c3
Update e2e tests and header
...
Don't add normalisation of widget headers either
2026-03-13 15:43:25 +00:00
David Langley
6aa454c646
Add widget lifecycle module
2026-03-13 15:43:25 +00:00
David Langley
64d5bef3e7
Migrate playwright tests from tests/ to e2e/ convention
...
All modules now use e2e/ for playwright tests, consistent with
element-modules-private. This avoids conflicts between vitest (which
uses tests/) and playwright project discovery.
2026-03-04 15:55:57 +00:00
Michael Telatynski
9829314c53
Iterate
2026-03-04 11:59:18 +00:00
Michael Telatynski
9535594ff8
Tidy up
2026-03-04 10:32:58 +00:00
Michael Telatynski
adfd99ca7d
Tests galore
2026-03-03 18:25:22 +00:00
Michael Telatynski
5173170bf5
Adapt restricted guests module for Login UX
2026-03-03 09:35:54 +00:00
Michael Telatynski
5bc64a19da
Update services.ts
2026-03-02 13:08:52 +00:00
renovate[bot]
1d9664ef10
Update npm non-major dependencies
2026-03-01 16:05:52 +00:00
Andrew Morgan
9a8ef99b8c
Disable local registration when using MAS
2026-02-05 14:04:45 +00:00
Andrew Morgan
1b3243cb00
Disable local passwords in MAS Synapse
...
Otherwise we'll get the following error upon Synapse startup: Password auth cannot be enabled while OAuth delegation is enabled.
2026-02-05 14:04:37 +00:00
Andrew Morgan
7c62578252
Create MAS container and tests for restricted guests testing
...
Add a new container that both:
- Spins up a MAS instance.
- Loads the restricted guests module into Synapse, and configures it
accordingly.
Then extend restricted guests spec to include MAS tests.
This requires setting up MAS' config to recognise the module as an
automated client (so that it can request Admin perms to
create/deactivate users).
2026-02-05 14:04:33 +00:00
Andrew Morgan
ab8a307d5d
Make {mas_,}user_id DB tables NOT NULL
2026-02-04 16:31:19 +00:00
Andrew Morgan
e1b42da345
lint
2026-01-23 17:05:56 +00:00
Andrew Morgan
85ef24f917
Remove test runtime checks for AsyncMock vs. Mock
...
Turns out they're always AsyncMock.
2026-01-23 16:52:21 +00:00
Andrew Morgan
c6dabf052b
Remove fallback wrapper for post_urlencoded_get_json
2026-01-23 16:36:59 +00:00
Andrew Morgan
7abb63f1f2
Don't be cryptographically random!
...
That's what you get for generating a random string function.
2026-01-23 15:18:55 +00:00
Andrew Morgan
ecd25faec8
Add docstring for request_admin_token
2026-01-23 15:16:39 +00:00
Andrew Morgan
a4173bb1dd
expires_in -> expires_in_sec + docstring
2026-01-23 14:55:17 +00:00
Andrew Morgan
e0304c627b
created_at -> created_at_sec
2026-01-23 14:41:06 +00:00
Andrew Morgan
2e71abdfda
Add user_id field to guest_module_mas_users
...
Currently unused, but may be useful in future.
2026-01-23 14:38:19 +00:00
Andrew Morgan
514c6957f7
Log MXID and MAS ID when registering guest user
2026-01-23 14:02:00 +00:00
Andrew Morgan
f88a280b8b
Correct typo in comment
2026-01-23 13:52:19 +00:00
Andrew Morgan
2a9c384213
Update tests for randomly generated device IDs
...
Pin the device ID in tests by mocking the generation function.
And test said generation function.
2026-01-19 14:34:03 +00:00
Andrew Morgan
3f53333448
Return the correct device ID
...
Turns out the client needs to generate it, and pass it as a scope. Clever!
2026-01-19 13:56:57 +00:00
Andrew Morgan
b8fda8acdf
lint
2026-01-19 13:04:31 +00:00
Andrew Morgan
41922415ba
Update tests to run with MAS module variant
...
We now run the standard battery of tests with a MAS-enabled module. Some
minimal adjustment was needed to check MAS-specific outputs.
2026-01-16 19:21:38 +00:00
Andrew Morgan
55ca2be0f6
Update unit tests to check MAS config, deactivation works
2026-01-16 19:20:35 +00:00
Andrew Morgan
2aa16a8222
lint
2026-01-16 18:49:43 +00:00
Andrew Morgan
d45fd845b3
Add client_secret_filepath option
...
To allow supplying the `client_secret` in a file, instead of directly in the configuration. I've found that ESS prefer this method in the past, so the entire config does not need to be a secret.
2026-01-16 18:05:33 +00:00
Andrew Morgan
9f4ca6f7e6
Store registered users in a namespaced table, deactivate upon expiry
...
To deactivate users, we need their `actor_user_id` (MAS-specific). I don't believe there's a way to get this from Synapse. So, we store user's detailed in a namespaced table upon registering them, along with the creation timestamp, and deactivate them once they're considered expired.
2026-01-16 18:05:33 +00:00
Andrew Morgan
d0e17ae274
Add the ability to deactivate users in the MAS client
...
As we won't be able to deactivate them using the Synapse module API
2026-01-16 18:05:33 +00:00
Andrew Morgan
801d28f3ca
Create a personal session on MAS
...
In order to get an access token for a user, one needs to create a personal session on MAS.
We now do so, and extract the access token and device ID from the response.
TODO: We're handing back the MAS user ID as the device ID. Is that correct?
2026-01-16 18:05:33 +00:00
Andrew Morgan
9c2b9463a9
Wire the new MasAdminClient in
...
If `mas` is defined in the config, then use it to create users instead
of Synapse's module API.
2026-01-16 18:05:33 +00:00
Andrew Morgan
04414e06a9
Add MasAdminClient class
...
A class to request OAuth2 tokens from MAS, and create users using them.
Requires data from the config options we defined.
2026-01-16 18:05:33 +00:00
Andrew Morgan
1cb888e4e7
Configuration options for MAS
...
In order to create and manage users with MAS enabled, we'll need to
reach out to the MAS admin API. We can do so automatically by requesting
an admin-enabled token, assuming a matching client has been configured
on the MAS side.
Add some config options for the guest module (OAuth2 client) side.
2026-01-16 18:05:33 +00:00
Andrew Morgan
f117e745d5
Remove superfluous pin
...
The tox venv is what actually matters here.
2026-01-15 11:45:41 +00:00