nexy7574
0672ce5b88
style: Fix clippy lint errors
2025-09-17 23:54:09 +01:00
nexy7574
9f18cf667a
chore: Temporarily disable bad tests
2025-09-17 22:25:04 +01:00
nexy7574
7e4071c117
Implement room v12 ( #943 )
...
**Does not yet work!** Currently, state resolution does not correctly resolve conflicting states. Everything else appears to work as expected, so stateres will be fixed soon, then we should be clear for takeoff.
Also: a lot of things currently accept a nullable room ID that really just don't need to. This will need tidying up before merge. Some authentication checks have also been disabled temporarily but nothing important.
A lot of things are tagged with `TODO(hydra)`, those need resolving before merge. External contributors should PR to the `hydra/public` branch, *not* ` main`.
---
This PR should be squash merged.
Reviewed-on: https://forgejo.ellis.link/continuwuation/continuwuity/pulls/943
Co-authored-by: nexy7574 <git@nexy7574.co.uk >
Co-committed-by: nexy7574 <git@nexy7574.co.uk >
2025-09-17 20:46:03 +00:00
nexy7574
36dabecb82
chore(1014): Include MSC4155 in build features to resolve build errors
2025-09-14 00:53:43 +00:00
nexy7574
50cd1081ba
chore(1014): Bump ruwuma
2025-09-14 00:53:43 +00:00
nexy7574
14df55e5c5
style(1014): Remove unnecessary commented code
2025-09-14 00:53:43 +00:00
nexy7574
d9d0d1a465
fix( !1014 ): Don't prematurely return during registration
2025-09-14 00:53:43 +00:00
nexy7574
baa89586e2
fix(MSC4277): Undo refuted response changes
2025-09-10 16:25:06 +00:00
nexy7574
7ad8ff2e45
style(MSC4277): Run lints to satisfy checks
2025-09-10 16:25:06 +00:00
nexy7574
2046b1e2f6
feat(MSC4277): Unify reporting endpoint behaviours
...
* reporting rooms now always returns 200 OK
* reporting an event returns OK if we don't know about the reported event
* removed the score parameter (needs a followup ruwuma update)
2025-09-10 16:25:06 +00:00
nexy7574
90fd92977e
style: Run clippy
2025-09-07 21:20:26 +00:00
nexy7574
e3fbf7a143
feat: Ask remote servers for individual unknown events
2025-09-07 21:20:26 +00:00
nexy7574
09de586dc7
feat(PR977): Log more things in the join process
2025-09-07 22:01:07 +01:00
nexy7574
d1fff1d09f
perf(pr977): Remove redundant ACL check in send_join
2025-09-07 22:01:07 +01:00
nexy7574
f47474d12a
fix(PR977): Adjust some log levels
2025-09-07 22:01:07 +01:00
nexy7574
53da294e53
fix(PR977): Omitting redundant entries from the auth_chain caused problems
2025-09-07 22:01:07 +01:00
nexy7574
2cdccbf2fe
feat(PR977): Support omitting members in the send_join response
2025-09-07 22:01:07 +01:00
nex
467aed3028
chore: Add Ginger's GH noreply email to mailmap
2025-09-02 16:36:56 +00:00
nexy7574
9e62e66ae4
chore(PR956): Update admin docs
2025-09-01 11:27:58 +00:00
nexy7574
76b93e252d
feat: Only inject vias when manual ones aren't provided during join
2025-09-01 11:27:58 +00:00
nexy7574
66d479e2eb
fix: Make remote leave helper a public fn
2025-09-01 11:27:58 +00:00
nexy7574
241371463e
feat: Force leave remote rooms admin command
2025-09-01 11:27:58 +00:00
nexy7574
d970df5fd2
perf(MSC4323): Parallelise some check futs
2025-09-01 12:13:37 +01:00
nexy7574
4e644961f3
perf(MSC4323): Remove redundant authorisation checks
2025-09-01 12:13:37 +01:00
nexy7574
35cf9af5c8
feat(MSC4323): Add versions flag
2025-09-01 12:13:37 +01:00
nexy7574
04e796176a
style(MSC4323): Satisfy our linting overlords
2025-09-01 12:13:37 +01:00
nexy7574
9783940105
feat(MSC4323): Advertise suspension support in capabilities
2025-09-01 12:13:37 +01:00
nexy7574
1e430f9470
feat(MSC4323): Implement agnostic suspension endpoint
2025-09-01 12:13:37 +01:00
nexy7574
83e3de55a4
fix(sync/v2): Room leaves being omitted incorrectly
...
Partially borrowed from https://github.com/matrix-construct/tuwunel/commit/85a84f93c7ef7184a8eee1bb17116e5f0f0faf5a
2025-08-30 16:18:46 +01:00
nex
30a56d5cb9
Update renovate.json
2025-08-28 17:15:32 +00:00
nexy7574
3183210459
fix: Post-merge compile issues
2025-08-23 21:28:31 +01:00
nexy7574
54acd07555
fix: Drop fake room v2 support
2025-08-16 16:22:24 +01:00
nexy7574
e4a43b1a5b
fix(policy-server): Call the PS later in the PDU creation process
...
This avoids accidentally sending partially built PDUs to the policy server,
which may cause issues with some implementations
2025-08-02 00:19:33 +01:00
nexy7574
f32f60d056
fix(policy-server): Return the correct result when an event is marked as spam
2025-07-23 18:01:46 +01:00
nexy7574
fe06d78c8e
fix(policy-server): Update ask_policy_server docstring
2025-07-23 17:58:33 +01:00
nexy7574
99ebe022ed
fix(policy-server): Correctly default to 10 second timeout
2025-07-23 17:56:45 +01:00
nexy7574
f335f45017
feat(policy-server): Add configurable timeout
2025-07-23 17:49:08 +01:00
nexy7574
1726633c0f
fix(policy-server): Fixup refactor
2025-07-23 17:49:08 +01:00
nexy7574
dfda27fadc
feat(policy-server): Don't fail-closed & refactor references
2025-07-23 17:49:08 +01:00
nexy7574
2d475b1220
style(policy-server): Run clippy
2025-07-23 17:49:07 +01:00
nexy7574
d7fa624fd2
feat(policy-server): Optimise policy server lookups
2025-07-23 17:49:07 +01:00
nexy7574
cc9202b0c4
feat(policy-server): Limit policy server request timeout to 10 seconds
2025-07-23 17:49:07 +01:00
nexy7574
a3d62ed0d9
feat(policy-server): Prevent local events that fail the policy check
2025-07-23 17:49:07 +01:00
nexy7574
78b7175677
feat(policy-server): Soft-fail redactions for failed events
2025-07-23 17:49:07 +01:00
nexy7574
74d60f256b
style(policy-server): Restructure logging
2025-07-23 17:49:07 +01:00
nexy7574
732c69f5ca
fix(policy-server): Avoid unnecessary database lookup
2025-07-23 17:49:07 +01:00
nexy7574
8e7801f323
chore: Update ruwuma & fix lints
2025-07-23 17:49:06 +01:00
nexy7574
9017efe45b
feat(policy-server): Policy server following
2025-07-23 17:49:06 +01:00
nexy7574
c639228f4d
style(space-upgrades): Remove unused import left over from 6691b7672b
2025-07-19 18:37:45 +01:00
nexy7574
331832616f
feat(space-upgrades): MSC4168: Override space child vias
2025-07-19 18:37:45 +01:00
nexy7574
b2b18002ea
fix(space-upgrades): Remove unused helper function
2025-07-19 18:37:45 +01:00
nexy7574
57868a008c
feat(space-upgrades): Skip empty state events in room upgrade
2025-07-19 18:37:45 +01:00
nexy7574
f063814d94
fix(space-upgrades): Incorrectly updated parent children events
2025-07-19 18:37:38 +01:00
nexy7574
3b5335630d
feat(space-upgrades): Transfer all state keys during upgrade
...
Before this change, only state events with an
empty state key would be cloned.
This allows m.space.child to be cloned appropriately.
2025-07-19 18:35:59 +01:00
nexy7574
b2883c3d6e
feat(space-upgrades): Update parent spaces in upgrade
...
This relies on the room being upgraded referencing
the space itself, but there isn't an easy way to
do it otherwise.
2025-07-19 18:35:58 +01:00
nexy7574
62bdfe1ce8
feat(space-upgrades): Copy over space child & parent states
2025-07-19 18:35:56 +01:00
nexy7574
1abe8f7835
fix: Creation bug
2025-07-12 22:37:49 +01:00
nexy7574
ce84c46459
style(902): Fix clippy complaining about cast
2025-07-09 15:28:31 +01:00
nexy7574
7b60f5368d
feat(902): Upload files for admin commands that are too long
2025-07-09 15:11:09 +01:00
nexy7574
e61a593932
fix: Implement MSC4307
2025-07-08 22:40:44 +00:00
nexy7574
b71186d958
chore(recaptcha): Update example config file
...
Unsure how this managed to get past the `git commit -S -a`
but sure
2025-07-08 19:47:42 +01:00
nexy7574
c362499cef
docs(recaptcha): Clarify registration when token & captcha are configured
2025-07-08 19:34:47 +01:00
nexy7574
14774fa153
feat(recaptcha): Don't allow pubkey without associated privkey
2025-07-08 19:32:23 +01:00
nexy7574
ff805d8ae1
feat(recaptcha): Fix linting issues after the linter fix lied to me
2025-07-08 19:27:51 +01:00
nexy7574
f0994355d4
feat(recaptcha): Fix linting issues
2025-07-08 19:15:55 +01:00
nexy7574
980774a275
feat(recaptcha): Update example config after previous changes
2025-07-08 19:08:25 +01:00
nexy7574
e4a6abe15e
feat(recaptcha): Disable treating captcha-enabled servers as abuse-prone
2025-07-08 19:07:27 +01:00
nexy7574
df1cb10a8e
feat(recaptcha): Add documentation for new fields
2025-07-08 19:03:35 +01:00
nexy7574
651d07a609
feat: Add ReCaptcha registration flow
2025-07-08 18:58:05 +01:00
nexy7574
d6aa03ea73
style: Remove extraneous import
2025-07-02 00:53:40 +00:00
nexy7574
8e0852e5b5
docs: Add suggestion about auto join room
...
Adds suggestion to suspend_on_register doc that admins
should add a room that contains information to their
auto_join_rooms as to not confuse new users who may be
lost at the fact they can't join any rooms or send any
messages.
2025-07-02 00:53:40 +00:00
nexy7574
6e60918584
feat: Suspend new users on registration
2025-07-02 00:53:40 +00:00
nexy7574
68afb07c27
feat: Stabilise room summary API (MSC3266)
...
# Conflicts:
# Cargo.lock
# Cargo.toml
2025-07-02 00:48:16 +01:00
nexy7574
b44791799c
fix: Room bans preventing federated leaves
...
Fixes the issue where room bans prevent federating leave
events, resulting in local users being stuck in remote
rooms
2025-07-01 23:14:41 +01:00
nexy7574
4f69da47c6
feat: Advertise support for spec v1.8, 1.12, 1.13, and 1.14
2025-07-01 18:38:48 +01:00
nexy7574
24d2a514e2
chore: Resolve linting errors
2025-07-01 18:00:28 +01:00
nexy7574
f49c73c031
feat: Forbid suspended users from sending reports
2025-07-01 15:44:04 +01:00
nexy7574
59912709aa
feat: Send intentional mentions in report messages
2025-07-01 15:42:38 +01:00
nexy7574
97e5cc4e2d
feat: Implement user reporting
2025-07-01 01:55:13 +01:00
nexy7574
d4862b8ead
style: Remove redundant, unused functions
2025-06-29 15:38:01 +00:00
nexy7574
13e17d52e0
style: Remove unnecessary imports (clippy)
2025-06-29 15:38:01 +00:00
nexy7574
d8a27eeb54
fix: Failing open on database errors
...
oops
2025-06-29 15:38:01 +00:00
nexy7574
eb2e3b3bb7
fix: Missing suspensions shouldn't error
...
Turns out copying and pasting the function
above verbatim actually introduces more
problems than it solves!
2025-06-29 15:38:01 +00:00
nexy7574
72f8cb3038
feat: Do not allow suspended users to send typing statuses
2025-06-29 15:38:01 +00:00
nexy7574
1124097bd1
feat: Only allow private read receipts when suspended
2025-06-29 15:38:01 +00:00
nexy7574
08527a2880
feat: Prevent suspended users upgrading rooms
2025-06-29 15:38:01 +00:00
nexy7574
8e06571e7c
feat: Prevent suspended users uploading media
2025-06-29 15:38:01 +00:00
nexy7574
90180916eb
feat: Prevent suspended users performing room changes
...
Prevents kicks, bans, unbans, and alias modification
2025-06-29 15:38:01 +00:00
nexy7574
d0548ec064
feat: Forbid suspended users from sending state events
2025-06-29 15:38:01 +00:00
nexy7574
1ff8af8e9e
style: Remove unneeded statements (clippy)
2025-06-29 15:38:01 +00:00
nexy7574
cc864dc8bb
feat: Do not allow suspending admin users
2025-06-29 15:38:01 +00:00
nexy7574
8791a9b851
fix: Inappropriate empty check
...
I once again, assumed `true` is actually `false`.
2025-06-29 15:38:01 +00:00
nexy7574
968c0e236c
fix: Create the column appropriately
2025-06-29 15:38:01 +00:00
nexy7574
5d5350a9fe
feat: Prevent suspended users creating new rooms
2025-06-29 15:38:01 +00:00
nexy7574
e127c4e5a2
feat: Add un/suspend admin commands
2025-06-29 15:38:01 +00:00
nexy7574
a94128e698
feat: Prevent suspended users joining/knocking on rooms
2025-06-29 15:38:01 +00:00
nexy7574
a6ba9e3045
feat: Prevent suspended users changing their profile
2025-06-29 15:38:01 +00:00
nexy7574
286974cb9a
feat: Prevent suspended users redacting events
2025-06-29 15:38:01 +00:00
nexy7574
accfda2586
feat: Prevent suspended users sending events
2025-06-29 15:38:01 +00:00
nexy7574
fac9e090cd
feat: Add suspension helper to user service
2025-06-29 15:38:01 +00:00