nexy7574
b17b4235f3
fix: Unbans and kicks incorrectly checked creatorship in !v12
2025-10-27 14:34:50 +00:00
timedout
cff3c27729
fix: Bump ruwuma, export new route, config loading
2025-10-24 16:37:22 -04:00
timedout
6002edccd3
perf: Remove extraneous policy server check
2025-10-16 23:57:07 +01:00
timedout
d189004d65
feat: Add more granular controls for policy server calling ( #1127 )
...
Adds two new toggles to the configuration, the first of which allows disabling the policy server checks entirely, and the second of which allows disabling checking events created locally. They're both enabled by default for maximum PS efficacy but allowing them to be disabled allows people who frequently cannot contact policy servers, for example those in censored countries, to be able to still use rooms with pace, allows single-user/trusted-only homeservers to disable the preliminary check on their own events, and also gives an escape hatch in case an issue like #1060 happens again, especially with MSCs not in FCP being moving targets.
In future, I think we should gate all MSC implementations behind config flags, even if they default to on.
Reviewed-on: https://forgejo.ellis.link/continuwuation/continuwuity/pulls/1127
Reviewed-by: Jade Ellis <jade@ellis.link >
Co-authored-by: timedout <git@nexy7574.co.uk >
Co-committed-by: timedout <git@nexy7574.co.uk >
2025-10-16 22:45:23 +00:00
timedout
26b700bf51
fix: Policy server calls use the correct JSON object ( #1126 )
...
Fixes #1060
Reviewed-on: https://forgejo.ellis.link/continuwuation/continuwuity/pulls/1126
Reviewed-by: Jacob Taylor <aranjedeath@noreply.forgejo.ellis.link >
Co-authored-by: timedout <git@nexy7574.co.uk >
Co-committed-by: timedout <git@nexy7574.co.uk >
2025-10-16 21:06:54 +00:00
nexy7574
cb8f36444c
feat: Proactively read Content-Length to reject oversized uploads
2025-10-12 19:42:57 +00:00
nexy7574
799def70dc
feat: Produce even more informative errors when saving media fails
2025-10-12 19:42:57 +00:00
nexy7574
20f741d0e5
feat: Produce a more informative error when uploading media fails
2025-10-12 19:42:57 +00:00
nexy7574
f45ceedb8a
fix(upgrade): Potentially resolve CI clippy errors
...
I'm not convinced this isn't a rust bug itself,
but CI was complaining about lifetimes
and those complaints couldn't be reproduced locally,
so this should probably fix it maybe?
2025-09-26 18:47:49 +01:00
nexy7574
d614e43981
fix(stateres): Creators can always unban
...
Also basically rewrote all of the event auth logs to be more digestable
2025-09-26 18:47:49 +01:00
nexy7574
1887d58df8
fix: V12 room upgrades
2025-09-25 08:15:23 +00:00
nexy7574
c66f6f8900
fix(stateres): Correctly fetch missing auth events for incoming PDUs
2025-09-25 02:54:00 +01:00
nexy7574
b70470fa71
fix: Event filters all non-state events
2025-09-21 20:10:36 +01:00
nexy7574
703d6a2075
chore: Bump version to rc.8
2025-09-21 18:17:24 +01:00
nexy7574
c9c79fbea6
fix: Fix restricted join rules inconsistencies
2025-09-20 21:07:13 +00:00
nexy7574
92e9802340
style: Tidy up 1054
2025-09-20 21:07:00 +00:00
nexy7574
1d80b7ce0c
fix: Don't perform local join when there's no remote servers
2025-09-20 21:07:00 +00:00
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