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
6db455412f
Kill all sessions when deactivating a user
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
11fd3b231a
Don't hold the database connection for too long
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
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
3978acd94e
Fix recently added Clippy lints
...
This also ignores the clippy::blocks_in_conditions lint in two crates,
until tracing gets fixed: https://github.com/tokio-rs/tracing/issues/2876
2024-05-07 07:32:02 +02:00
Quentin Gliech
61a69f5af4
Upgrade chrono and replace deprecated methods usage
2024-03-18 17:26:40 +01:00
Quentin Gliech
b927d330c9
Bump most Rust dependencies
2024-02-02 15:37:05 +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
b2cd8d83f7
templates: translate a lot more stuff
2023-10-05 19:29:23 +02:00
Quentin Gliech
026ce2a30c
mas-tasks: refactor worker building behind a macro
2023-08-03 15:02:40 +02:00
Quentin Gliech
8142cad3d6
Call the homeserver for user deactivation
2023-08-03 14:06:34 +02:00
Quentin Gliech
646b6cc0e3
Properly trace the cleanup-expired-tokens job
2023-08-03 14:06:34 +02:00
Quentin Gliech
ab00002acd
Switch to event-listener for in-process job notifications
2023-07-18 10:33:44 +02:00
Quentin Gliech
ba0f7ea62c
Upgrade all Rust dependencies
...
This includes breaking changes of sqlx 0.7.0
2023-07-17 19:04:06 +02:00
Quentin Gliech
68db56c2a2
Reimplementation of a postgres-backed storage with a shared PG listener
2023-07-17 19:04:06 +02:00
Quentin Gliech
31788a95f2
Save the imported attributes
2023-06-26 17:24:56 +02:00
Quentin Gliech
4181cbc9d5
Refactor the matrix connection logic
...
Also make the display name available through the graphql api
2023-06-16 19:52:39 +02:00
Quentin Gliech
64b3ed8ee0
Remove explicit generics from tasks layers
...
This defines an IdentityLayer<R> which is used to bind the request type
on the service, which helps with type inference.
2023-05-25 18:57:47 +02:00
Quentin Gliech
1993f4cfca
Bump Rust dependencies
2023-05-25 18:15:44 +02:00
Quentin Gliech
3979e9f46a
Update Rust to 1.69.0
2023-04-24 11:42:01 +02:00
Quentin Gliech
08f58db08b
Replace the OTEL-based tracing layer with tracing based layers
2023-04-18 14:45:43 +02:00
Quentin Gliech
2c937bda26
Lint
2023-04-14 10:22:22 +02:00
Quentin Gliech
5b4fee15e7
Upgrade to apalis-0.4.0-alpha.5
2023-04-14 10:22:22 +02:00
Quentin Gliech
1974786209
Proactively provision devices & delete them when using the compat Matrix API
2023-04-14 10:22:22 +02:00
Quentin Gliech
8a2be43fe7
Proactively provision users on registration & sync threepids
2023-04-14 10:22:22 +02:00
Quentin Gliech
169d7ce6a2
Extract the job tracing span logic to a layer
2023-04-14 10:22:22 +02:00
Quentin Gliech
f4fff72b22
Properly propagate trace contexts
...
This also fixes a long-running issue where the OTEL context was not properly set in the tracing spans.
2023-04-14 10:22:22 +02:00
Quentin Gliech
1f748f7d1e
Schedule jobs through the repository
2023-04-14 10:22:22 +02:00
Quentin Gliech
cdd535ddc4
WIP: use apalis to schedule jobs
2023-04-14 10:22:22 +02:00
Quentin Gliech
c5e1e2ec62
Commit the DB transaction at the end of the cleanup task
2023-03-03 17:21:39 +01:00
Quentin Gliech
d14ca156ad
storage: split the repository trait
2023-01-24 16:05:14 +01:00
Quentin Gliech
f4c64c2171
storage: ensure the repository trait can be boxed
...
and define some wrappers to map the errors
2023-01-19 19:10:35 +01:00
Quentin Gliech
142fdbd45a
storage: make the Clock a trait
2023-01-18 12:20:30 +01:00
Quentin Gliech
73a921cc30
Split the storage trait from the implementation
2023-01-18 10:38:22 +01:00
Quentin Gliech
195203823a
storage: wrap the postgres repository in a struct
2023-01-13 18:03:37 +01:00
Quentin Gliech
488a666a8d
storage: remaining oauth2 repositories
...
- authorization grants
- access tokens
- refresh tokens
2023-01-12 18:26:04 +01:00
Quentin Gliech
559181c2c3
Pass the rng and clock around
2022-11-02 18:59:00 +01:00
Quentin Gliech
c1ed726dc8
Enable the clippy::str_to_string lint
2022-08-08 10:06:20 +02:00
Quentin Gliech
a45381828c
Loads of docs & enabling more clippy lints
2022-02-01 12:02:32 +01:00
Quentin Gliech
2f97ca685d
Split the core crate
2021-12-17 18:04:30 +01:00