Quentin Gliech
144de0deb2
storage: freeze the error type on BoxRepository
...
This avoids having to deal with traits bounds everywhere. It also moves
the `boxed()` method to the PgRepository, because it was unnecessary to
keep it on the `Repository` trait
2024-07-26 11:36:55 +02:00
Quentin Gliech
cef4645286
storage: add a filter by last active time on app sessions
2024-07-19 13:40:27 +02:00
Quentin Gliech
62c2af5e6a
storage: add a filter by last active time on OAuth 2.0 sessions
2024-07-19 13:40:27 +02:00
Quentin Gliech
8bc1ef151f
storage: add a filter by last active time on compatibility sessions
2024-07-19 13:40:27 +02:00
Quentin Gliech
c6b759c56d
storage: add a filter by last active time on browser sessions
2024-07-19 13:40:27 +02:00
Quentin Gliech
12d2f1f827
Add new filters on the OAuth and compat sessions
2024-07-16 18:23:23 +02:00
Quentin Gliech
dcaf65e6e7
Batch finish browser sessions
2024-07-16 14:13:11 +02:00
Quentin Gliech
04b96b87b8
Batch finish OAuth 2.0 sessions
2024-07-16 14:13:11 +02:00
Quentin Gliech
f8d12cc305
Batch finish compatibility sessions
2024-07-16 14:13:11 +02:00
Quentin Gliech
0207495225
Add a way to reactivate users on the homeserver
2024-07-16 13:20:28 +02:00
Quentin Gliech
3eab10672f
Add a lock during syncs of user devices
2024-07-16 09:32:07 +02:00
Quentin Gliech
35c06ac27b
Deprecate the ProvisionDeviceJob
and DeleteDeviceJob
jobs
2024-07-16 09:32:07 +02:00
Quentin Gliech
bf276289b6
Fully sync the devices with the homeserver
2024-07-16 09:32:07 +02:00
Quentin Gliech
e75df0752d
storage: methods to list and count users with filters and pagination
2024-07-05 13:44:14 +02:00
Quentin Gliech
c156a3891e
Actually send emails for recovery
2024-06-28 15:59:21 +02:00
Quentin Gliech
4a60f5d32f
Job to generate codes for all emails in a recovery session
2024-06-28 15:59:21 +02:00
Quentin Gliech
b2ee5de050
storage: Add an email filter on the user email list
2024-06-28 15:59:21 +02:00
Quentin Gliech
43582e7eca
Data model and repository for the user recovery flow
2024-06-28 15:59:21 +02:00
Quentin Gliech
cd0ec35d2f
Soft-delete upstream OAuth 2.0 providers on config sync
2024-04-03 09:51:22 +02:00
Quentin Gliech
4e3823fe4f
Add a soft-deletion column on upstream OAuth 2.0 providers
2024-04-03 09:51:22 +02:00
Quentin Gliech
eb950151af
Upgrade OTEL and remove support for Jaeger and Zipkin exporters
2024-03-18 17:26:40 +01:00
Quentin Gliech
61a69f5af4
Upgrade chrono and replace deprecated methods usage
2024-03-18 17:26:40 +01:00
Quentin Gliech
1821136e3f
Additional parameters from upstream OAuth2 providers in the data model
2024-03-01 14:36:37 +01:00
Quentin Gliech
f3cbd3b315
Parse User Agents on the backend side ( #2388 )
...
* Parse user agents on the server side
* Parse and expose user agents on the backend
* Use the parsed user agent in the device consent page
* Fix the device icon tests
* Fix clippy warnings
* Box stuff to avoid large enum variants
* Ignore a clippy warning
* Fix the requester boxing
2024-02-23 16:47:48 +01:00
Quentin Gliech
f171d76dc5
Record user agents on OAuth 2.0 and compat sessions ( #2386 )
...
* Record user agents on OAuth 2.0 and compat sessions
* Add tests for recording user agent in sessions
2024-02-22 10:01:32 +01:00
Quentin Gliech
ed5893eb20
Save which user session created a compat session
...
This also exposes the user session in the GraphQL API, and allow
filtering on browser session ID on the app session list.
2024-02-21 11:55:58 +01:00
Quentin Gliech
03b6ad7138
Remove the unique constraint on device IDs on compatibility sessions
...
In OAuth 2.0 sessions, we can have multiple sessions for the same device
anyway, so this constraint doesn't exactly make sense.
Fixes #2033
Fixes #2312
2024-02-20 15:50:20 +01:00
Quentin Gliech
0beb842195
Make the user agree to T&C during registration
2024-02-07 17:21:22 +01:00
Quentin Gliech
90c386847a
Setup a repository to track user terms agreements
2024-02-07 17:21:22 +01:00
Quentin Gliech
17e968f7cc
Record the user agent and IP in the device code grant
2024-02-02 18:01:51 +01:00
Quentin Gliech
efa6af3294
Run generated files updates, fix doc links & fmt
2024-02-02 18:01:51 +01:00
Quentin Gliech
286fc57103
Add a repository for device code grants
2024-02-02 18:01:51 +01:00
Quentin Gliech
b927d330c9
Bump most Rust dependencies
2024-02-02 15:37:05 +01:00
Quentin Gliech
49963b26f8
Prepare workspace to publish OIDC crates
2023-12-07 16:02:55 +01:00
Quentin Gliech
a0f5f3c642
Enable clippy lints on a workspace level
...
This enables a lot more lints than before in some crates, so this fixed a lot of warnings as well.
2023-12-05 17:20:42 +01:00
Quentin Gliech
30247448d5
Bump Rust dependencies
2023-11-24 13:04:37 +01:00
Quentin Gliech
5126d36b2e
Add upstream OAuth 2.0 providers name and branding
2023-11-20 17:23:02 +01:00
Quentin Gliech
7315dd9a7a
Allow endpoints and discovery mode override for upstream oauth2 providers
...
This time, at the configuration and database level
2023-11-17 16:18:39 +01:00
dependabot[bot]
f1570de50c
build(deps): bump the apalis group with 2 updates
...
Bumps the apalis group with 2 updates: apalis-core and apalis-cron.
Updates `apalis-core` from 0.4.5 to 0.4.6
Updates `apalis-cron` from 0.4.5 to 0.4.6
---
updated-dependencies:
- dependency-name: apalis-core
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: apalis
- dependency-name: apalis-cron
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: apalis
...
Signed-off-by: dependabot[bot] <support@github.com >
2023-11-14 14:30:52 +01:00
Quentin Gliech
5ab0e880ff
Upgrade opentelemetry to 0.21.0
2023-11-08 11:49:03 +01:00
dependabot[bot]
f2286e37ef
build(deps): bump the opentelemetry group with 8 updates
...
Bumps the opentelemetry group with 8 updates:
| Package | From | To |
| --- | --- | --- |
| [tracing-opentelemetry](https://github.com/tokio-rs/tracing-opentelemetry ) | `0.21.0` | `0.22.0` |
| [opentelemetry-http](https://github.com/open-telemetry/opentelemetry-rust ) | `0.9.0` | `0.10.0` |
| [opentelemetry-jaeger](https://github.com/open-telemetry/opentelemetry-rust ) | `0.19.0` | `0.20.0` |
| [opentelemetry-otlp](https://github.com/open-telemetry/opentelemetry-rust ) | `0.13.0` | `0.14.0` |
| [opentelemetry-prometheus](https://github.com/open-telemetry/opentelemetry-rust ) | `0.13.0` | `0.14.0` |
| [opentelemetry-semantic-conventions](https://github.com/open-telemetry/opentelemetry-rust ) | `0.12.0` | `0.13.0` |
| [opentelemetry-stdout](https://github.com/open-telemetry/opentelemetry-rust ) | `0.1.0` | `0.2.0` |
| [opentelemetry-zipkin](https://github.com/open-telemetry/opentelemetry-rust ) | `0.18.0` | `0.19.0` |
Updates `tracing-opentelemetry` from 0.21.0 to 0.22.0
- [Release notes](https://github.com/tokio-rs/tracing-opentelemetry/releases )
- [Changelog](https://github.com/tokio-rs/tracing-opentelemetry/blob/v0.1.x/CHANGELOG.md )
- [Commits](https://github.com/tokio-rs/tracing-opentelemetry/compare/v0.21.0...v0.22.0 )
Updates `opentelemetry-http` from 0.9.0 to 0.10.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-rust/releases )
- [Commits](https://github.com/open-telemetry/opentelemetry-rust/compare/v0.9.0...v0.10.0 )
Updates `opentelemetry-jaeger` from 0.19.0 to 0.20.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-rust/releases )
- [Commits](https://github.com/open-telemetry/opentelemetry-rust/compare/v0.19.0...v0.20.0 )
Updates `opentelemetry-otlp` from 0.13.0 to 0.14.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-rust/releases )
- [Commits](https://github.com/open-telemetry/opentelemetry-rust/compare/v0.13.0...v0.14.0 )
Updates `opentelemetry-prometheus` from 0.13.0 to 0.14.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-rust/releases )
- [Commits](https://github.com/open-telemetry/opentelemetry-rust/compare/v0.13.0...v0.14.0 )
Updates `opentelemetry-semantic-conventions` from 0.12.0 to 0.13.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-rust/releases )
- [Commits](https://github.com/open-telemetry/opentelemetry-rust/compare/v0.12.0...v0.13.0 )
Updates `opentelemetry-stdout` from 0.1.0 to 0.2.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-rust/releases )
- [Changelog](https://github.com/open-telemetry/opentelemetry-rust/blob/v0.2.0/CHANGELOG.md )
- [Commits](https://github.com/open-telemetry/opentelemetry-rust/commits/v0.2.0 )
Updates `opentelemetry-zipkin` from 0.18.0 to 0.19.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-rust/releases )
- [Commits](https://github.com/open-telemetry/opentelemetry-rust/compare/v0.18.0...v0.19.0 )
---
updated-dependencies:
- dependency-name: tracing-opentelemetry
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: opentelemetry
- dependency-name: opentelemetry-http
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: opentelemetry
- dependency-name: opentelemetry-jaeger
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: opentelemetry
- dependency-name: opentelemetry-otlp
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: opentelemetry
- dependency-name: opentelemetry-prometheus
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: opentelemetry
- dependency-name: opentelemetry-semantic-conventions
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: opentelemetry
- dependency-name: opentelemetry-stdout
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: opentelemetry
- dependency-name: opentelemetry-zipkin
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: opentelemetry
...
Signed-off-by: dependabot[bot] <support@github.com >
2023-11-08 11:49:03 +01:00
Quentin Gliech
b9258f74cc
bump other rust dependencies
2023-10-20 00:22:40 +02:00
dependabot[bot]
75a94c34ff
build(deps): bump async-trait from 0.1.73 to 0.1.74
...
Bumps [async-trait](https://github.com/dtolnay/async-trait ) from 0.1.73 to 0.1.74.
- [Release notes](https://github.com/dtolnay/async-trait/releases )
- [Commits](https://github.com/dtolnay/async-trait/compare/0.1.73...0.1.74 )
---
updated-dependencies:
- dependency-name: async-trait
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2023-10-19 17:41:02 +02:00
Quentin Gliech
3cb8a26d95
"Can request admin" flag on user
2023-10-09 18:52:30 +02:00
Quentin Gliech
2a100ab927
graphql: allow filtering appsessions on device_id
2023-10-06 16:05:26 +02:00
Quentin Gliech
b2cd8d83f7
templates: translate a lot more stuff
2023-10-05 19:29:23 +02:00
Quentin Gliech
f1d420f381
Storage layer for a unified session list
2023-09-20 20:27:08 +02:00
Quentin Gliech
41dadcfd74
Fix broken doc links
2023-09-19 21:57:54 +02:00
Quentin Gliech
b85655b944
Save the session activity in the database
2023-09-19 21:57:54 +02:00
Quentin Gliech
c9155ef0cf
Rust dependencies housekeeping
...
Including:
- package upgrades
- stop using the patched version of `ulid`
- update cargo deny duplicate exception list
2023-09-14 23:43:00 +02:00