Quentin Gliech
da8faafe3b
storage: filter compat sessions by creation time
2026-06-01 17:30:14 +02:00
Quentin Gliech
798c0b9c48
storage: filter OAuth2 sessions by creation time
2026-06-01 17:30:14 +02:00
Quentin Gliech
f919fc45c7
storage-pg: add min/max ulid helpers for time-based filters
2026-06-01 17:30:14 +02:00
Eric Eastwood
427f8dd4fe
Enforce clippy::allow_attributes (prefer #[expect] over #[allow]) ( #5691 )
...
For example, `#[expect(unused_mut)]` is better because it will complain about the lint being unused if there is not `mut` usage anymore.
> Example
> ```rust
> #[allow(unused_mut)]
> fn foo() -> usize {
> let mut a = Vec::new();
> a.len()
> }
> ```
>
> Use instead:
> ```rust
> #[expect(unused_mut)]
> fn foo() -> usize {
> let mut a = Vec::new();
> a.len()
> }
> ```
Spawning from https://github.com/element-hq/matrix-authentication-service/pull/5670#discussion_r3244177988
2026-05-26 10:26:59 -05:00
Quentin Gliech
e23b3067b7
Migrate to Tailwind v4 ( #5702 )
2026-05-26 17:09:55 +02:00
Quentin Gliech
e18b596fb2
Update Compound to the latest version ( #5703 )
2026-05-26 17:09:50 +02:00
Quentin Gliech
8e65bf198e
frontend: migrate to Tailwind 4
...
Tailwind 4 ships its own Vite plugin and no longer needs PostCSS plumbing.
Drop postcss/autoprefixer/postcss-import/postcss-nesting and the .postcssrc.json,
wire @tailwindcss/vite into vite.config.ts, replace the @tailwind directives
with @import "tailwindcss", and convert the JS tailwind.config.cjs theme
into a CSS @theme block in shared.css. An @source directive points back at
the SSR templates so the Jinja-rendered HTML in templates/ still gets scanned
for utility classes.
The third-party CSS (compound design tokens, compound-web, fontsource) moves
into a new vendor.css entrypoint, loaded ahead of shared.css from main.tsx,
storybook, and base.html. Tailwind v4's @import bundler silently drops the
nested `@import url(...) layer(cpd-base) screen` statements inside the
compound-design-tokens.css barrel, so we have to keep those imports out of
any file that contains Tailwind directives and let Vite's normal CSS pipeline
resolve them instead.
2026-05-25 16:31:36 +02:00
Quentin Gliech
08898b10da
biome: enable CSS tailwind directives parser
...
Tailwind 4 introduces new at-rules (@import "tailwindcss", @source, @theme)
that Biome's CSS parser doesn't recognise by default. Enable the
tailwindDirectives parser option so frontend/src/entrypoints/shared.css
lints cleanly.
2026-05-25 16:31:36 +02:00
Quentin Gliech
e03c953945
Adjust the button sizes to the new t-shirt size.
2026-05-25 16:28:42 +02:00
Quentin Gliech
5ea68e0bc3
Update the Compound icons in the server-side generated templates
2026-05-25 16:28:42 +02:00
Quentin Gliech
6f626ca0d3
Update Compound to the latest version
2026-05-25 16:28:42 +02:00
Quentin Gliech
c9d1e60182
Bump the tracing group across 1 directory with 2 updates ( #5676 )
2026-05-25 15:58:38 +02:00
Quentin Gliech
cb043e2cd9
build(deps): bump actions/upload-artifact from 7.0.0 to 7.0.1 ( #5629 )
2026-05-25 13:01:00 +02:00
Quentin Gliech
a02fb6e14f
build(deps): bump peter-evans/create-pull-request from 8.1.0 to 8.1.1 ( #5628 )
2026-05-25 13:00:49 +02:00
Quentin Gliech
6043fa729c
build(deps): bump softprops/action-gh-release from 2.6.1 to 3.0.0 ( #5627 )
2026-05-25 13:00:40 +02:00
Quentin Gliech
73060d1819
build(deps): bump actions/upload-pages-artifact from 4.0.0 to 5.0.0 ( #5626 )
2026-05-25 13:00:27 +02:00
Quentin Gliech
b05ca0e1fb
Bump most frontend dependencies ( #5699 )
2026-05-25 12:57:16 +02:00
Quentin Gliech
99395c9e64
Make sure the footer is loaded before rendering the page
2026-05-25 12:46:00 +02:00
Quentin Gliech
41e8929ba5
Stop using the unsupported 'createFileRoute' typescript magic
...
Support for this ware removed from TanStack Router, so we need to explicitly set a route name when calling 'createFileRoute'.
2026-05-25 12:37:01 +02:00
Quentin Gliech
4bc2bc0e77
Update use of generated GraphQL types
2026-05-25 12:37:01 +02:00
Quentin Gliech
ef6ecbbea0
Regenerate GraphQL types
2026-05-25 12:37:01 +02:00
Quentin Gliech
0cb2ea49be
Update the typescript config for TypeScript 6
2026-05-25 12:37:01 +02:00
Quentin Gliech
f339a10485
Run formatter
2026-05-25 12:37:01 +02:00
Quentin Gliech
9ae07db85a
Bump all frontend dependencies
2026-05-25 12:36:56 +02:00
dependabot[bot]
50177e6ad0
Bump the tracing group across 1 directory with 2 updates
...
Bumps the tracing group with 2 updates in the / directory: [tracing-subscriber](https://github.com/tokio-rs/tracing ) and [tracing-appender](https://github.com/tokio-rs/tracing ).
Updates `tracing-subscriber` from 0.3.22 to 0.3.23
- [Release notes](https://github.com/tokio-rs/tracing/releases )
- [Commits](https://github.com/tokio-rs/tracing/compare/tracing-subscriber-0.3.22...tracing-subscriber-0.3.23 )
Updates `tracing-appender` from 0.2.4 to 0.2.5
- [Release notes](https://github.com/tokio-rs/tracing/releases )
- [Commits](https://github.com/tokio-rs/tracing/compare/tracing-appender-0.2.4...tracing-appender-0.2.5 )
---
updated-dependencies:
- dependency-name: tracing-appender
dependency-version: 0.2.5
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: tracing
- dependency-name: tracing-subscriber
dependency-version: 0.3.23
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: tracing
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-05-25 09:33:53 +00:00
Quentin Gliech
929f40d4f5
Switch to pnpm ( #5674 )
2026-05-25 11:32:12 +02:00
Quentin Gliech
c7654248ab
Inline the browser icons
...
They are very small and don't need an extra request to load. This is useful as
well for making the snapshots not dependant on where the project is installed
2026-05-25 11:16:55 +02:00
Quentin Gliech
f78917ecbf
Merge branch 'main' into quenting/pnpm
2026-05-25 11:12:18 +02:00
Eric Eastwood
a79433e9ce
Update test-only code to be gated behind #[cfg(test)]
...
See https://github.com/element-hq/matrix-authentication-service/pull/5691#discussion_r3284557046
2026-05-21 17:13:14 -05:00
Eric Eastwood
6dd5615119
Better exception comment
2026-05-21 16:45:56 -05:00
Eric Eastwood
ee88379fc4
Remove unused lint ignores
2026-05-21 16:44:20 -05:00
Eric Eastwood
fa23689962
#[allow -> #[expect
2026-05-21 16:37:47 -05:00
Eric Eastwood
f2941fc6be
Merge branch 'main' into madlittlemods/allow-to-expect-clippy-lint
2026-05-21 16:36:03 -05:00
Quentin Gliech
07c352ee2e
Admin API - User - Add displayname and avatar url when adding user ( #5671 )
2026-05-21 10:22:30 +02:00
Eric Eastwood
724e3024c5
Fix compatibility typo in session_limit config ( #5692 )
2026-05-20 17:51:46 -05:00
Eric Eastwood
e57e5e41ce
Fix compatibility typo
2026-05-20 17:36:49 -05:00
Eric Eastwood
a42737aab4
Add max_session_threshold configuration (only apply session_limit to people under the threshold) ( #5670 )
...
Add `max_session_threshold` configuration to prevent new users from passing
session limits while not disrupting the people already past the limit.
> This is most applicable in scenarios where your homeserver has many legacy
> bots/scripts that login over and over (which ideally should be using
> [personal access tokens]
> (https://github.com/element-hq/matrix-authentication-service/issues/4492 ))
> and you want to avoid breaking their operation while maintaining some level
> of sanity with the number of devices that people can have. This will
> prevent anyone else from crossing the limit.
Spawning from https://github.com/element-hq/matrix-authentication-service/pull/5607#discussion_r3150765827
Part of https://github.com/element-hq/matrix-authentication-service/issues/4339 / https://github.com/element-hq/backend-internal/issues/199 tracking work to limit number of devices.
2026-05-20 16:59:56 -05:00
Eric Eastwood
d38d0cd366
Add interactive tests
2026-05-20 16:36:39 -05:00
Eric Eastwood
e8f664e480
Merge branch 'main' into madlittlemods/max-session-threshold
2026-05-20 16:19:09 -05:00
Eric Eastwood
94e35f03cf
Show session/device limit errors on account page ( #5644 )
...
Part of https://github.com/element-hq/matrix-authentication-service/issues/4339 / https://github.com/element-hq/backend-internal/issues/199 tracking work to limit number of devices.
Follow-up to https://github.com/element-hq/matrix-authentication-service/pull/5639
2026-05-20 16:18:24 -05:00
Eric Eastwood
a17e53297d
Merge branch 'main' into madlittlemods/max-session-threshold
...
Conflicts:
crates/handlers/src/compat/login.rs
2026-05-20 16:16:22 -05:00
Eric Eastwood
e3af5fbbe5
Interactive compat m.login.sso test for session soft_limit ( #5675 )
...
Follow-up to https://github.com/element-hq/matrix-authentication-service/pull/5607
Part of https://github.com/element-hq/matrix-authentication-service/issues/4339 / https://github.com/element-hq/backend-internal/issues/199 tracking work to limit number of devices.
2026-05-20 16:09:25 -05:00
Eric Eastwood
d4e33f5121
Fix lints
2026-05-20 15:48:56 -05:00
Eric Eastwood
c16eebdc6a
Fix potentially typo
2026-05-20 15:47:58 -05:00
Eric Eastwood
1c648edb87
Use safer num_sessions_filtered_header pluralization
...
See https://github.com/element-hq/matrix-authentication-service/pull/5644#discussion_r3227855225
2026-05-20 15:47:09 -05:00
Eric Eastwood
62b2bf9a78
Add note on doing better than data-testid
2026-05-20 15:43:27 -05:00
Eric Eastwood
e65237b8f9
Merge branch 'main' into madlittlemods/soft-limit-account-session-management
2026-05-20 15:06:24 -05:00
Eric Eastwood
8d39676585
Use assert_matches!(...)
...
See https://github.com/element-hq/matrix-authentication-service/pull/5675#discussion_r3275925322
2026-05-20 15:03:09 -05:00
Eric Eastwood
a9114e34d1
Add FIXME for better DOM scrutiny
...
See https://github.com/element-hq/matrix-authentication-service/pull/5675#discussion_r3275929267
2026-05-20 14:56:56 -05:00
Eric Eastwood
97b3446f69
Merge branch 'main' into madlittlemods/soft-limit-sso-login-test
2026-05-20 14:44:14 -05:00