Commit Graph

76 Commits

Author SHA1 Message Date
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
Andrew Morgan d9c55189f4 Unbreak CI: pin prometheus-client dep 2026-01-15 11:40:58 +00:00
Florian Duros f99db77b34 style: set font for restricted guest dialog 2025-12-18 18:06:58 +01:00
Florian Duros 0783237f56 test: update snapshot 2025-12-18 11:49:40 +01:00
Florian Duros 929a1d4d00 style: set font spacing and font feature settings 2025-12-18 11:38:40 +01:00
Florian Duros 056ef3656a test: update screenshots 2025-12-17 18:15:10 +01:00
Florian Duros ec74fc8235 style: set font size on preview bar 2025-12-17 18:13:52 +01:00
Michael Telatynski 6fc3db978b Merge pull request #162 from element-hq/renovate/npm-minor-patch 2025-12-11 11:37:04 +00:00
Michael Telatynski 335bf9d947 Update screenshot based on compound design tokens update 2025-12-11 11:16:42 +00:00
renovate[bot] d4392723ae Update npm non-major dependencies 2025-12-11 11:14:54 +00:00
Michael Telatynski 89bfa40474 Iterate 2025-12-02 09:51:35 +00:00
Michael Telatynski fe3e52b7ba Update screenshots 2025-12-02 09:40:09 +00:00
Michael Telatynski ae17873568 Fix loading compound 2025-12-02 09:40:02 +00:00
renovate[bot] c430d786e7 Pin dependencies (#63)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-19 20:09:05 +01:00
Michael Telatynski 58ea9f373f Delint 2025-11-12 12:16:31 +00:00
dependabot[bot] b9792ef2e2 Bump vite in the npm_and_yarn group across 1 directory
Bumps the npm_and_yarn group with 1 update in the / directory: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).


Updates `vite` from 7.1.6 to 7.1.11
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v7.1.11/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 7.1.11
  dependency-type: direct:development
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-28 10:10:32 +01:00
Michael Telatynski c956daf0c4 Specify licenses more explicitly 2025-10-14 14:25:16 +01:00
Michael Telatynski 9dce4c143a Merge pull request #75 from element-hq/renovate/zod-4.x 2025-09-23 17:12:36 +01:00
Michael Telatynski 18707eba2f Merge pull request #77 from element-hq/renovate/major-vector-im 2025-09-23 17:08:45 +01:00
Michael Telatynski 8cba4eaf8b Switch to zod/mini 2025-09-23 17:06:57 +01:00
Michael Telatynski bf877976b4 Merge pull request #72 from element-hq/renovate/vitejs-plugin-react-5.x 2025-09-23 16:36:04 +01:00
renovate[bot] 552ef769d0 Update dependency vite to v7 2025-09-21 05:26:51 +00:00
renovate[bot] 34eb5e9a32 Update dependency @vitejs/plugin-react to v5 2025-09-20 09:29:18 +00:00
renovate[bot] d8da6652b8 Update dependency zod to v4 2025-09-20 01:53:33 +00:00
renovate[bot] ca7efc603b Update vector-im 2025-09-17 15:40:10 +00:00
Michael Telatynski f03994a35a Merge pull request #53 from element-hq/dependabot/npm_and_yarn/npm_and_yarn-b501f85bf3 2025-09-17 15:59:53 +01:00
David Baker 56c7bca29d Update screenshot for new room list 2025-09-15 20:57:45 +01:00
dependabot[bot] 0b85920be2 Bump the npm_and_yarn group across 1 directory with 2 updates
Bumps the npm_and_yarn group with 1 update in the / directory: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).


Updates `vite` from 6.1.6 to 6.3.6
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v6.3.6/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v6.3.6/packages/vite)

Updates `esbuild` from 0.24.2 to 0.25.1
- [Release notes](https://github.com/evanw/esbuild/releases)
- [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG-2024.md)
- [Commits](https://github.com/evanw/esbuild/compare/v0.24.2...v0.25.1)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 6.3.6
  dependency-type: direct:development
  dependency-group: npm_and_yarn
- dependency-name: esbuild
  dependency-version: 0.25.1
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-10 01:49:15 +00:00
Michael Telatynski 22f53ece84 Add screenshots 2025-08-12 16:30:58 +01:00
Michael Telatynski a596d89fa0 Make knip happy 2025-08-12 15:53:40 +01:00
Michael Telatynski 33e4e30f9e Element Web module for Restricted Guests 2025-08-12 14:12:57 +01:00
Michael Telatynski 9b57f46ccc Standardise lint/type scripts between modules/packages 2025-05-08 12:23:13 +01:00