Commit Graph
94 Commits
Author SHA1 Message Date
nexy7574 cd95f29ece feat: Allow manually specifying event IDs as extremities 2025-08-31 22:53:58 +01:00
nexy7574 39023b5ed3 feat: Add force-set-latest-extremity command 2025-08-31 21:51:04 +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
nexy7574 b4bdd1ee65 chore: Update ruwuma
Fixes the wrong field name being serialised
2025-06-29 13:43:27 +01:00
nexy7574 4b5e8df95c fix: Add missing init fields 2025-06-29 13:29:27 +01:00
nexy7574 d63c8b9fca feat: Support passing through MSC4293 redact_events 2025-06-29 13:16:31 +01:00
nexy7574 9b6ac6c45f fix: Ignore existing membership when room is disconnected 2025-06-29 12:14:20 +00:00
nexy7574 52e042cb06 Always calculate state diff IDs in syncv3
seemingly fixes #779
2025-06-28 20:37:40 +00:00
nexy7574 543ab27747 fix: Additional sanity checks when creating a PDU
Prevents creating events that are most likely catastrophically invalid
2025-06-27 20:58:52 +01:00
nex e508b1197f feat: allow overriding the "most recent event" when forcing a state download (#853)
Add option to select which event to set the state at to, for the force-set-room-state admin command.

This allows us to work around issues where the latest PDU is one that remote servers don't know about (i.e. failed federation for whatever reason)

Closes #852

Reviewed-on: https://forgejo.ellis.link/continuwuation/continuwuity/pulls/853
Reviewed-by: Jade Ellis <jade@ellis.link>
Co-authored-by: nex <nex@noreply.forgejo.ellis.link>
Co-committed-by: nex <nex@noreply.forgejo.ellis.link>
2025-06-19 21:27:50 +00:00
nexy7574anddasha cdf105a24e Don't serialize the x-key before storing it
Co-authored-by: dasha <admin@dimensionproject.net>
2025-04-25 02:18:00 +01:00
nexy7574 bfd7ab5a22 Bump ruwuma to 652cc48 2025-04-24 00:41:16 +01:00
nexy7574 ee11afb460 Inject reason into federated leave request membership 2025-04-24 00:41:16 +01:00
nexy7574 3eb4ee7af1 Change tom's email address 2025-04-23 19:30:20 +01:00
nexy7574 8f21403796 Use any runner for docs 2025-04-23 17:39:36 +01:00
nexy7574 4fbecca2d3 Add well-known/matrix/support 2025-04-23 17:39:26 +01:00
nex 0c302f3137 Don't re-build images for docs changes
Ironically, this will trigger a rebuild anyway
2025-04-22 01:33:09 +00:00
nexy7574 ff93cfdc64 Fix up the docs, replace a lot of conduwuit references 2025-04-20 23:50:48 +01:00
nex 1c59b41ff1 Merge pull request 'Support fi.mau.room_id, and fully qualified room_id in /createRoom' (#777) from nex/custom-room-id into main
Reviewed-on: https://forgejo.ellis.link/continuwuation/continuwuity/pulls/777
Reviewed-by: Jade Ellis <jade@ellis.link>
2025-04-20 20:29:18 +00:00
nexy7574 41581c9ae8 Fix invalid room ID check & prevent room IDs being prefixed with ! 2025-04-20 15:41:19 +01:00
nexy7574 d3022b4112 Prevent creating custom room IDs belonging to other servers 2025-04-20 02:46:16 +01:00
nexy7574 6920814da9 Support fi.mau.room_id, and fully qualified room_id in /createRoom 2025-04-20 02:31:58 +01:00
nexy7574andJade Ellis 68d68a0645 fix: Do not panic when sender_device is None in /messages route
The device ID is not always present when the appservice is the client.
This was causing 500 errors for some users, as appservices can lazy
load from `/messages`.

Fixes #738

Co-authored-by: Jade Ellis <jade@ellis.link>
2025-04-18 14:00:30 +01:00