Commit graph

2870 commits

Author SHA1 Message Date
Lambda
142e3158e4 Bump ruma with SSS patches 2025-08-10 19:39:03 +00:00
Lambda
8e94020d4f SSS: switch from v4 to v5 types 2025-08-10 19:38:39 +00:00
Lambda
c9a435ab34 Renamed MSC3575 -> MSC4186, remove obsolete config 2025-08-10 19:37:15 +00:00
Lambda
b4f6c88e57 MSC3575: make known rooms global per connection rather than per list 2025-08-10 19:37:14 +00:00
Lambda
a72ff4f6e6 MSC3575: avoid double-processing rooms in case of overlapping ranges 2025-08-10 19:36:31 +00:00
Lambda
ede39370a4 MSC3575: allow empty conn_id 2025-08-10 19:17:45 +00:00
Lambda
64ad940bad MSC3575: remove sticky parameters 2025-08-10 19:17:41 +00:00
Lambda
991f1e2c0d MSC3575: factor out ConnectionKey 2025-08-10 17:25:47 +00:00
Lambda
3bbee92db4 MSC3575: remove useless Ok-wrapping 2025-08-10 16:56:57 +00:00
Lambda
e75fe7b75a MSC3575: factor out TodoRoom 2025-08-10 11:41:24 +00:00
Lambda
6d4f165629 MSC3575: use explicit loop for ops creation 2025-08-10 11:27:02 +00:00
Lambda
dd705a2bb2 Revert "Remove support for MSC3575 (sliding sync)"
This reverts commit d87848b9a6.
2025-08-10 10:49:50 +00:00
Lambda
bbd0439001 Add documentation for Short*Id types 2025-08-10 09:56:04 +00:00
Lambda
33da7dcd96 Check account data type match before storing to DB 2025-08-10 09:56:04 +00:00
Jonas Platte
d283da51c6
Upgrade rust-rocksdb 2025-08-09 01:18:51 +02:00
Olivia Lee
b94cc429b7
Bump ruma to 1387667de806c37a6d7f72125117009bd618e32a
The significant change is 26edd40a704040e7104161da81c9bae91b7ddcaa,
which removes the global compat feature, so that each compat feature
must now be enabled individually. We're using the slightly later
1387667d because it has a bugfix that ruma needs to compile.

There are a few ruma compat features that were not previously part of
the global compat feature:

 - compat-arbitrary-length-ids
 - compat-upload-signature
 - compat-encrypted-stickers

I have not enabled these here, to avoid a behavior change.
2025-08-09 00:31:35 +02:00
Jonas Platte
ab5f76f49f
Put ruma dependency in its own TOML table 2025-08-09 00:13:27 +02:00
Olivia Lee
6bf289a714
Remove unused parameter
… of filter_keys_server_map and filter_keys_single_server.
2025-08-09 00:13:17 +02:00
Jonas Platte
d87848b9a6
Remove support for MSC3575 (sliding sync)
Co-authored-by: Olivia Lee <olivia@computer.surgery>
2025-08-08 22:24:56 +02:00
Olivia Lee
98222b38c2 bump cargo dependencies
There are two new default features:

'system-proxy' for reqwest, which we are not enabling because it only
does anything on windows and mac, which we don't support.

'prefer-post-quantum' for rustls, which we are not enabling because it
only does anything for aws-lc-rs, which we don't use.
2025-08-06 12:27:45 -07:00
Olivia Lee
2648991092 fix lints revealed by tracing change
<https://github.com/tokio-rs/tracing/pull/3108> changes #[instrument] so
that several lints that were previously hidden on instrumented functions
are now visible.
2025-08-06 12:27:45 -07:00
Charles Hall
13203d3b45 update rust to 1.88.0 2025-08-06 12:27:45 -07:00
Charles Hall
595f35b673 fix lints for upcoming 1.88.0 toolchain 2025-08-06 12:27:45 -07:00
Olivia Lee
fa6fb37a2c bump rust version to 1.85.0
base64ct 1.8 (a transitive dependency of argon2) requires >=1.85.0.
2025-08-06 12:27:45 -07:00
Olivia Lee
fb4d168921 fix new lints from clippy 0.1.85 2025-08-06 12:27:45 -07:00
Olivia Lee
e65815c82e remove unused lifetime parameter from utils::calculate_hash
This doesn't trigger a warning before rustc 1.58.0, for whatever reason.
2025-08-06 12:27:45 -07:00
Olivia Lee
d2ee80db94 update flake.lock
• Updated input 'attic':
    'github:zhaofengli/attic/ff8a897d1f4408ebbf4d45fa9049c06b3e1e3f4e' (2025-02-02)
  → 'github:zhaofengli/attic/24fad0622fc9404c69e83bab7738359c5be4988e' (2025-07-11)
• Updated input 'attic/crane':
    'github:ipetkov/crane/4c6c77920b8d44cd6660c1621dea6b3fc4b4c4f4' (2024-08-06)
  → 'github:ipetkov/crane/aed2020fd3dc26e1e857d4107a5a67a33ab6c1fd' (2025-07-03)
• Removed input 'attic/crane/nixpkgs'
• Updated input 'attic/flake-compat':
    'github:edolstra/flake-compat/0f9255e01c2351cc7d116c072cb317785dd33b33' (2023-10-04)
  → 'github:edolstra/flake-compat/9100a0f413b0c601e0533d1d94ffd501ce2e7885' (2025-05-12)
• Updated input 'attic/flake-parts':
    'github:hercules-ci/flake-parts/8471fe90ad337a8074e957b69ca4d0089218391d' (2024-08-01)
  → 'github:hercules-ci/flake-parts/77826244401ea9de6e3bac47c2db46005e1f30b5' (2025-07-01)
• Updated input 'attic/nix-github-actions':
    'github:nix-community/nix-github-actions/e04df33f62cdcf93d73e9a04142464753a16db67' (2024-10-24)
  → 'github:nix-community/nix-github-actions/f4158fa080ef4503c8f4c820967d946c2af31ec9' (2025-01-21)
• Updated input 'attic/nixpkgs':
    'github:NixOS/nixpkgs/159be5db480d1df880a0135ca0bfed84c2f88353' (2024-09-11)
  → 'github:NixOS/nixpkgs/9b008d60392981ad674e04016d25619281550a9d' (2025-07-08)
• Updated input 'attic/nixpkgs-stable':
    'github:NixOS/nixpkgs/797f7dc49e0bc7fab4b57c021cdf68f595e47841' (2024-08-22)
  → 'github:NixOS/nixpkgs/29e290002bfff26af1db6f64d070698019460302' (2025-07-05)
• Updated input 'crane':
    'github:ipetkov/crane/70947c1908108c0c551ddfd73d4f750ff2ea67cd' (2025-03-19)
  → 'github:ipetkov/crane/544d09fecc8c2338542c57f3f742f1a0c8c71e13' (2025-07-19)
• Updated input 'fenix':
    'github:nix-community/fenix/7d9ba794daf5e8cc7ee728859bc688d8e26d5f06' (2025-03-20)
  → 'github:nix-community/fenix/62105e0745d7450976b26dbd1497b8cbe15eb9ff' (2025-07-20)
• Updated input 'fenix/rust-analyzer-src':
    'github:rust-lang/rust-analyzer/15d87419f1a123d8f888d608129c3ce3ff8f13d4' (2025-03-18)
  → 'github:rust-lang/rust-analyzer/ed193af36937d2fd4bb14a815ec589875c5c7304' (2025-07-19)
• Updated input 'flake-compat':
    'github:edolstra/flake-compat/ff81ac966bb2cae68946d5ed5fc4994f96d0ffec' (2024-12-04)
  → 'github:edolstra/flake-compat/9100a0f413b0c601e0533d1d94ffd501ce2e7885' (2025-05-12)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/698214a32beb4f4c8e3942372c694f40848b360d' (2025-03-25)
  → 'github:NixOS/nixpkgs/c87b95e25065c028d31a94f06a62927d18763fdf' (2025-07-19)
2025-08-06 12:27:45 -07:00
Charles Hall
a3a2485edb improve link accessibility
The previous text causes lints to fire in new versions of markdownlint.
2025-08-06 12:27:45 -07:00
Charles Hall
e31f4454bd assume nix is available 2025-08-03 10:59:28 -07:00
Charles Hall
5e9c1f9ee3 combine conditions in before_script 2025-08-03 10:59:28 -07:00
Charles Hall
38202813ff remove nix-direnv
It doesn't actually do anything unless more configuration is added, but
it's not really necessary for this use case so removing it is easier.
2025-08-03 10:59:28 -07:00
Charles Hall
547881fb4a show path upload count 2025-08-03 10:59:28 -07:00
Charles Hall
132528b545 improve variable names' clarity 2025-08-03 10:59:28 -07:00
Charles Hall
47c210d5de reorder attic token check 2025-08-03 10:59:05 -07:00
Charles Hall
7fc39b1845 simplify attic call
The comment isn't really needed since the reasoning applies to the
other instances of readarray and here-strings too, and the IFS bit is
unnecessary.
2025-08-03 10:57:39 -07:00
Charles Hall
85b9080c77 change working directory
Did you know installables are parsed with regex? This mitigates how
horrifying that is.
2025-08-02 20:49:19 -07:00
Charles Hall
be3822d585 drop eval
Shellcheck says so.
2025-08-02 20:49:19 -07:00
Charles Hall
cf4f2fe51b use more readarray
The first part replaces a loop which is probably a performance
improvement, and the second part addresses a shellcheck complaint about
not declaring and assigning separately.
2025-08-02 20:49:19 -07:00
Charles Hall
27667911ed upgrade docker images to lix 2.93.3 2025-08-02 20:49:13 -07:00
Jonas Platte
c713e9f21f
Remove no-op #[async_trait] attribute 2025-07-31 20:44:54 +02:00
Jonas Platte
a3da77ce2c
Add a couple extra Sync bounds
Not necessary right now, but required for axum 0.8.
2025-07-31 20:44:54 +02:00
Charles Hall
40da74f28c Revert "do default-feature unification in nix"
This reverts commit 8f24ac1f27.

This is no longer necessary since the set of all features is equal to
the set of default features.
2025-07-24 15:09:12 -07:00
Charles Hall
b5294f9aa0 remove all-features devshell
It's no longer necessary since it's equivalent to the default-features
one now. The `DIRENV_DEVSHELL` thing is left in place however in case
that becomes useful again in the future.
2025-07-24 15:00:02 -07:00
Charles Hall
e6dbc293f1 remove jemalloc support
It's no longer being developed and it is very very annoying to maintain
support for.
2025-07-21 21:48:57 -07:00
Olivia Lee
55a01e7113
don't strip unknown keys when copying redacts property to/from content
Servers are required to preserve unknown properties in event content,
since they may be added by a future version of the spec. Round-tripping
through RoomRedactionEventContent results in dropping all unknown
properties.
2025-07-20 18:07:30 -07:00
Olivia Lee
9a142c7557
refactor Pdu::copy_redacts to use early returns 2025-07-20 12:46:06 -07:00
Olivia Lee
88ad596e8d
add type-safe accessors to account_data service 2025-06-02 11:07:21 -07:00
Olivia Lee
b82458a460
use event content in account_data service api instead of full events
This eliminates the possibility of passing an event that has a
mismatching type, reducing the space of possible invalid states.
2025-06-02 11:07:21 -07:00
Olivia Lee
66210bc32d
separate account_data service methods for room vs global events
Previously we were mashing everything together as RoomAccountDataEvent,
even the global events. This technically worked, because of the hidden
custom fields on the ruma event types, but it's confusing and easy to
mess up. Separate methods with appropriate types are preferable.
2025-06-02 11:07:21 -07:00
Olivia Lee
6897f0ba34
clarify behavior in service::account_data::changes_since docs 2025-06-02 11:07:21 -07:00