strawberry
b29a8791de
admincmd: leave all rooms if deactivating all users with --force
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-06-03 00:10:28 -04:00
strawberry
83220b43a2
use saturating_add and vec with_capacity in even more places
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-06-03 00:10:28 -04:00
strawberry
4ea7af5780
ci(engage): use all-features devshell for cargo doc / rustdoc --all-features
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-06-03 00:10:28 -04:00
strawberry
79fb8091dc
ci(engage): use all-features direnv devshell for clippy/all
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-06-03 00:10:28 -04:00
strawberry
f6fa2a4f65
use swap_remove instead of remove in a few places
...
`swap_remove` is faster if we don't care about the order (O(1))
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-06-03 00:10:28 -04:00
strawberry
b63937af0b
ci(engage): add cargo test default, use all-features devshell for cargo test --all-features
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-06-03 00:10:28 -04:00
strawberry
3c4e325036
nix(bin): cache default devshell on top of all-features devshell
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-06-03 00:10:28 -04:00
strawberry
023fb41c49
load .env file before initializing flake to use DIRENV_DEVSHELL in .env
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-06-03 00:10:28 -04:00
strawberry
9a5f1dac57
drop unnecessarily verbose get_alias_helper logging
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-06-03 00:10:28 -04:00
strawberry
173ff26eb6
disable URL previews by default upon admin room creation
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-06-03 00:10:28 -04:00
strawberry
45e3fdba69
admin room: add get-latest-pdu and get-first-pdu commands
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-06-03 00:10:24 -04:00
strawberry
9f359e0550
make resolve_state public to resolve new forced compressed room state
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-06-02 23:53:31 -04:00
strawberry
ffdf47d1ea
add latest_pdu_in_room timeline function
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-06-02 23:53:31 -04:00
strawberry
1af65e695d
media: return application/octet-stream if no content-type was provided
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-06-02 23:53:31 -04:00
strawberry
b1886583d9
csp: fix typo, add base-uri none
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-06-02 23:53:31 -04:00
strawberry
f11103b43b
media: check detected content-type against MSC2702
...
only return `inline` if the detected content-type is an allowed
inline content-type as defined by MSC2702
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-06-02 23:53:31 -04:00
strawberry
9b096cc67b
fix: check if you've left the room before forgetting it
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-06-02 23:53:31 -04:00
strawberry
1ac72ab914
init a few state hashmaps using with_capacity
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-06-02 23:53:31 -04:00
strawberry
f0533e07ef
fed: remove unnecessary mutables, use with_capacity in couple more places
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-06-02 23:53:31 -04:00
strawberry
68f42f5a2f
fed: relax read receipt EDU check
...
so in theory: guest users, peaking over federation,
and world readable rooms should be allowed to send
read receipts even if they're not joined.
relaxing this check to only allow the read receipt if
the server has at least 1 member in the room makes
some of this still work
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-06-02 23:53:31 -04:00
strawberry
884cbab135
ci: comment out hardened_malloc clippy check for now
...
i need to either fix static linking, or just make it
dynamic always (but then kinda useless idk)
https://gitlab.com/conduwuit/conduwuit/-/jobs/6953419673#L3155
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-06-02 23:53:31 -04:00
strawberry
4aead5de7a
reflax a couple restrictions on custom room IDs and aliases
...
🙃
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-06-02 23:53:31 -04:00
strawberry
aef25ea1f7
enable tracing feature for axum
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-06-02 23:53:31 -04:00
strawberry
f09e0dc137
add conduwuit community code of conduct
...
this is a code of conduct that the moderation team made up,
specific to conduwuit's community spaces such as the matrix rooms.
the matrix foundation and contributor's covenant still apply, but
having conduwuit-specific additional guidelines help
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-06-02 21:02:38 -04:00
strawberry
de79b66cea
misc docs changes
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-06-02 21:02:38 -04:00
strawberry
95ca9d00a2
nix: get all features from main crate
2024-06-02 23:01:12 +00:00
strawberry
bd07fb61e0
add hot_reload.md to SUMMARY.md
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-27 18:16:23 -04:00
strawberry
a41a60ef07
media: dont ignore requested filename on /download for Content-Disposition
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-27 18:16:23 -04:00
strawberry
abdda6cf32
check invited user's server against ACLs on /invite
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-27 18:16:23 -04:00
strawberry
4d21f9d962
use ok_or_else instead of ok_or for function calls in server_server.rs
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-27 18:16:23 -04:00
strawberry
1013fe5a42
check for membership join state at /send_join
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-27 18:16:23 -04:00
strawberry
f31b7b9420
ignore inbound EDUs for users that dont belong to origin server
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-27 18:16:23 -04:00
strawberry
e5e358cc68
compare X-Matrix origin + body origin and check PDU/EDU length at /send txn
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-27 18:16:23 -04:00
strawberry
50bc7cc005
check state_key matches sender user at /send_leave
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-27 18:16:23 -04:00
strawberry
445015e9ea
check user ID server against ACLs at /send_leave
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-27 18:16:23 -04:00
strawberry
7a38c12e5d
check for member event type at /send_leave
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-27 18:16:23 -04:00
strawberry
2a77951152
check for membership leave state at /send_leave
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-27 18:16:23 -04:00
strawberry
0256c27363
check if we know about room at /make_leave
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-27 18:16:23 -04:00
strawberry
826edc0a3a
check state_key matches sender user at /send_join
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-27 18:16:23 -04:00
strawberry
a5043a38e1
only allow membership event types at /send_join
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-27 18:16:23 -04:00
strawberry
bfd471a863
check user ID server against ACLs for /send_join
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-27 18:16:23 -04:00
strawberry
3981e77ec6
check user ID server against ACLs for /make_join
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-27 18:16:23 -04:00
strawberry
81bf4b7150
check user ID server against ACLs for /make_leave
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-27 18:16:23 -04:00
strawberry
b8ec763a7c
ignore read receipts from ACL'd servers and users not joined
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-27 18:16:23 -04:00
strawberry
003d4edbfa
debug log receiving typing EDUs for users not in room
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-27 18:16:23 -04:00
strawberry
4f0006d18a
ignore typing EDUs from ACL'd user's servers
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-27 18:16:23 -04:00
strawberry
b822e3a94c
listen on IPv6 localhost by default
...
this is dual-stack by default on linux, resolves
issues with nginx using `localhost` and randomly
choosing between 127.0.0.1 and [::1], causing
intermittent upstream issues
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-27 18:16:23 -04:00
strawberry
68fffe8e96
check room ACLs on sender user's server for incoming PDUs
...
`handle_incoming_pdu`
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-27 18:16:23 -04:00
strawberry
7328ed7509
rename misleading sender_servername to origin
...
this is the X-Matrix origin/server, NOT the `"sender"``
user's server name.
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-27 18:16:23 -04:00
strawberry
30beb20230
conditionally static link rust-rocksdb-uwu by hot reload cfg
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-25 22:28:43 -04:00
strawberry
19e7779693
update complement test results
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-25 22:28:43 -04:00
strawberry
6269822613
actually fix all let_underscore_must_use lints
...
CI caught some more
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-25 22:28:43 -04:00
strawberry
0877ee6191
allow let underscore use lint for rocksdb create cf for now
...
the workaround needs to be extended to rocksdb caches, but
i dont know that part of code
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-25 22:28:43 -04:00
strawberry
a37b2b9e64
nix: default output to scopeHostStatic instead of scopeHost
...
defaults to static builds instead of dynamically linked builds
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-25 22:28:43 -04:00
strawberry
29fe960efa
bump hyper-util and libz-sys
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-25 22:28:43 -04:00
strawberry
6bf2e73830
ci: run cache dependencies in ci.yml as well
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-25 22:28:43 -04:00
strawberry
630760b5da
bump rocksdb to v9.2.1
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-25 22:28:43 -04:00
strawberry
61e7f1e614
remove rpath = true from dev profile as the rustflags have it
...
needed for hot reloading but rpath being true by default
causes linker errors on lld because of the sad rpath bug
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-25 22:28:43 -04:00
strawberry
7ebed7aa3e
clarify disable-room message after banning room
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-25 22:28:43 -04:00
strawberry
ad3eeaf4c1
delete audit.toml
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-25 22:28:43 -04:00
strawberry
5215fbe695
drop redaction calculated hash log to debug_info
...
this is normal redactions. no valid reason this needs to be
warn as it just causes confusion.
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-25 22:28:43 -04:00
strawberry
dc9fe657d5
fix guest accounts being logged still
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-25 22:28:43 -04:00
strawberry
1c7c5bc09c
feat: add /_conduwuit/local_user_count endpoint
...
only enabled if federation is enabled
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-25 22:28:43 -04:00
strawberry
32161801ed
use/enable let_underscore_must_use lint
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-25 22:28:43 -04:00
strawberry
71bdcb958a
fix: dont drop remote federation error on 4xx responses
...
for a very long time, if a remote server responded to us with
a valid but unsuccessful (HTTP 4xx) response and the caller was the
`send_federation_request` function, we may find ourselves
with a warning message only containing the destination's
server name which was very unhelpful. the true error was
buried away in trace logs. this would primarily be noticed
with server key fetch requests from us.
conduit has been throwing away the ruma request error: https://gitlab.com/famedly/conduit/-/blame/next/src/utils/error.rs#L62
before: 2024-05-23T04:45:02.930224Z WARN router:{path=/_matrix/client/v3/publicRooms}:handle: conduit_api::client_server::directory: Failed to return our /publicRooms: matrix.org
after: 2024-05-23T05:05:02.435272Z WARN router:{path=/_matrix/client/v3/publicRooms}:handle: conduit_api::client_server::directory: Failed to return our /publicRooms: matrix.org: [401 / M_UNAUTHORIZED] Failed to find any key to satisfy: _FetchKeyRequest(server_name='your.server.name', minimum_valid_until_ts=1716440702337, key_ids=['ed25519:RQB3XPQX'])
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-25 22:28:43 -04:00
strawberry
d3db0ad4e2
renovate: label PRs as dependencies and github_actions
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-25 22:28:43 -04:00
strawberry
e098448b9d
init a few vecs in event_handler using with_capacity
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-25 22:28:43 -04:00
strawberry
d49507bc21
media: decomplexify get_all_media_keys for deleting all MXC URIs
...
wow this was terrible, early strawberry code
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-25 22:28:43 -04:00
strawberry
cb73ae3732
add registration token validity endpoint as per matrix 1.2
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-25 22:28:43 -04:00
strawberry
06bec40591
fix: add missing fetch_required_signing_keys for remote send_leave
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-25 22:28:43 -04:00
strawberry
9a7ba94ccf
explicity define unstable support for sliding sync
...
this matrix-react-sdk PR (and the cited sliding sync MSC)
says that they will intend on checking sliding sync support
from this unstable feature flag at /versions until the CORS
header stuff is specced
https://github.com/matrix-org/matrix-react-sdk/pull/12498
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-25 22:28:43 -04:00
strawberry
2990c30ac9
nix: bump rocksdb input
...
• Updated input 'rocksdb':
'github:girlbossceo/rocksdb/db6df0b185774778457dabfcbd822cb81760cade' (2024-05-03)
→ 'github:girlbossceo/rocksdb/be68b3c95ccd225f3121ba33a67cfaf3c3596afc' (2024-05-23)
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-25 22:28:43 -04:00
strawberry
d9c575d96f
bump deps
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-25 22:28:43 -04:00
strawberry
c32406aa0e
replace deprecated config option for complement
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-25 22:28:43 -04:00
strawberry
03d12cb44e
update docs a tad
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-25 22:28:43 -04:00
strawberry
bef7dbd1cb
finally error on complement diff mismatch, remove jemalloc builds from
...
CI
jemalloc is now a default feature
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-25 22:28:43 -04:00
strawberry
08577873b4
update complement test results
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-25 22:28:43 -04:00
strawberry
a3931b0f1f
nix: bump flake.lock
...
• Updated input 'crane':
'github:ipetkov/crane/27025ab71bdca30e7ed0a16c88fd74c5970fc7f5' (2024-05-09)
→ 'github:ipetkov/crane/7443df1c478947bf96a2e699209f53b2db26209d' (2024-05-19)
• Updated input 'fenix':
'github:nix-community/fenix/297c756ba6249d483c1dafe42378560458842173' (2024-05-10)
→ 'github:nix-community/fenix/063d7e5fac454edd35b7e2cedb6ca9fb1410c79b' (2024-05-21)
• Updated input 'fenix/rust-analyzer-src':
'github:rust-lang/rust-analyzer/5bf2f85c8054d80424899fa581db1b192230efb5' (2024-05-09)
→ 'github:rust-lang/rust-analyzer/21ec8f523812b88418b2bfc64240c62b3dd967bd' (2024-05-19)
• Updated input 'nixpkgs':
'github:NixOS/nixpkgs/f1010e0469db743d14519a1efd37e23f8513d714' (2024-05-09)
→ 'github:NixOS/nixpkgs/3eaeaeb6b1e08a016380c279f8846e0bd8808916' (2024-05-21)
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-25 22:28:43 -04:00
strawberry
ba2f22b5d3
nix: remove jemalloc (now default) targets, add jq input for default
...
jq input change was from https://gitlab.computer.surgery/matrix/grapevine-fork/-/commit/17eb3545906d21f2ed18f0f0f917a4638f12ef6c
to prevent unnecessary bindgen rebuilds
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-25 22:28:43 -04:00
strawberry
0914aaa1b6
skip a few known flaky/unreliable complement tests
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-25 22:28:43 -04:00
strawberry
f3427afc7f
nix: use new public keys for binary caches due to attic issues
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-24 18:13:02 -04:00
strawberry
474d50d10c
bump conduwuit version to 0.4.0
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-21 20:22:17 -04:00
strawberry
981ec51ec0
docs: add initial docs for hot reload
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-21 20:22:17 -04:00
strawberry
4aeec78ab4
debian: remove old symlink on postrm
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-21 20:22:17 -04:00
strawberry
9bfa89a555
adjust debian metadata, set crane workspace name
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-21 20:22:17 -04:00
strawberry
6ef4781050
downgrade zlib/libz-sys to 1.1.16 as it breaks nix
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-17 03:42:25 -04:00
strawberry
302592f219
bump conduwuit version to 0.3.4
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-17 03:17:27 -04:00
strawberry
91064fe873
fix up systemd unit file, remove chown on config file for debian
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-15 14:31:35 -04:00
strawberry
004354353a
docker-compose: slight cleanups, correct database paths, fix branding
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-15 14:31:35 -04:00
strawberry
c64a507691
correct default database path to /var/lib/conduwuit
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-15 14:31:35 -04:00
strawberry
81d2078cdb
debian: dont start service immediately, add postinst instructions
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-15 14:31:35 -04:00
strawberry
f5864afb52
remove namespace check on username login, code simplification on login route
...
the namespace check on username login is unnecessary, hashes aren't ever
going to match, and axum auth handles this kind of stuff already
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-15 14:31:35 -04:00
strawberry
9a63e7cc9b
flip order of complement diff checking, update test results
...
we now pass all Content-Disposition checks/tests
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-15 14:31:35 -04:00
strawberry
296d7c58ee
nix: bump complement input for conduwuit support
...
https://github.com/matrix-org/complement/pull/723
• Updated input 'complement':
'github:matrix-org/complement/370a014dca0f720614e0c8f68b9a3e66ecf7f516' (2024-05-02)
→ 'github:matrix-org/complement/8587fb3cbe746754b2c883ff6c818ca4d987d0a5' (2024-05-14)
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-15 14:31:35 -04:00
strawberry
a8446f910a
debian: fix config permissions, delete debconf support
...
debconf support needs to be done in a way that does not duplicate
the config file like upstream does.
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-15 14:31:35 -04:00
strawberry
a063a6d088
debian: make the docs actually coherent and understandable, and update it
...
the language here is very poor and i'm not sure why it was written like this.
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-15 14:31:35 -04:00
strawberry
5069c88f77
ci: correct paths for debian package creation, use conduwuit
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-15 14:31:35 -04:00
strawberry
53974320e5
debian: create system account verbosely
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-15 14:31:35 -04:00
strawberry
1c6ef66e3e
fix gitlab ci
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-15 14:31:35 -04:00
strawberry
ffb63c9c8d
ci: regex out the cargo/rustc target for cargo-deb
...
Signed-off-by: strawberry <strawberry@puppygock.gay >
2024-05-15 14:31:35 -04:00