Commit Graph
42 Commits
Author SHA1 Message Date
Cadence Ember d4cd580555 Detect timeouts as server down 2026-07-15 16:37:23 +12:00
Cadence Ember a8712b635d Only detect non-JSON responses as server down 2026-07-12 20:27:42 +12:00
Cadence Ember 414da4caf4 Queue events for later if homeserver is down 2026-07-12 02:12:53 +12:00
Ellie AlgaseandCadence Ember 313efb29d8 Fix m->d reaction deletion counting (#85)
Fixes a bug where, if multiple Matrix users had used the same reaction on a message, and then one of those Matrix users removed their reactions, the bot would forcibly remove all of that reactions. Now, we check and make sure there are no remaining reactions from Matrix before removal.

This also rewrote the retrigger system to be more generic and to use promises instead of re-entry (would lose call stack).

Co-authored-by: Cadence Ember <cadence@disroot.org>
Reviewed-on: https://gitdab.com/cadence/out-of-your-element/pulls/85
2026-06-01 04:54:38 +00:00
Cadence Ember 9b37705a73 Indicate that errors may be retried 2026-05-28 13:18:18 +12:00
Cadence Ember 43b8b02b40 Remove webhook tokens from error messages 2026-05-21 17:59:52 +12:00
Cadence Ember d2557f73bb Let sims rejoin after being unbanned
The sim_member cache was getting stuck, so OOYE thought it was already
in the room when it actually wasn't.
2026-03-19 13:35:53 +13:00
Cadence Ember f1b111a8a4 Refuse to operate on encrypted rooms
- Refuse to link to encrypted rooms
- Do not show encrypted rooms as link candidates (if server supports)
- Reject invites to encrypted rooms with message
- Unbridge and leave room if it becomes encrypted
2026-03-17 12:35:42 +13:00
Cadence Ember 08323f4512 More consistency for invite records table
- Autojoined child spaces are recorded as invited
- Update entry when reinvited
- Delete entry when uninvited or removed from room
- Allow linking with spaces you moderate, even if you didn't invite
- Store power levels immediately for new invited rooms
  - Mark members as missing profile in this case
- Only delete from invite table if it left the space
2026-02-13 21:59:17 +13:00
Cadence Ember aa7222c4ed Print d->m errors when there is no room 2026-02-04 12:56:52 +13:00
Cadence Ember d7f5f8bac4 Fix getting invite state
This SSS API call should work on Synapse, Tuwunel, and Continuwuity.
A fallback via hierarchy is provided for Conduit.
2026-01-30 13:43:01 +13:00
Ellie AlgaseandCadence Ember 90606d9176 Add full support for polls, both m2d and d2m.
Mostly works, but a few edge-cases still need to be worked out.

Co-authored-by: Cadence Ember <cadence@disroot.org>
2026-01-26 02:30:05 +13:00
Ellie Algase e565342ac8 initial polls support (not exactly working) 2026-01-25 14:33:09 +13:00
Cadence Ember 2496f4c3b0 Fix retrying own events as non-moderator 2026-01-25 13:50:16 +13:00
Cadence Ember bf9f6b32fd Just join if registered in database 2026-01-23 23:37:55 +13:00
Cadence Ember c8b0f23db3 Retrigger m->d reactions and removals 2026-01-13 22:57:52 +13:00
Cadence Ember 505c41a35e More code coverage 2026-01-10 02:28:18 +13:00
Cadence Ember 4bea696a5a setUserPower should account for room version 12 2026-01-07 15:38:09 +13:00
Cadence Ember 55e0e5dfa1 Room version 12 and room upgrades 2026-01-07 02:43:20 +13:00
Cadence Ember 261bb1b8c8 Future-proof permissions 2025-12-05 17:13:56 +13:00
Cadence Ember 0bb7a27164 Semaphore retries per room 2025-12-03 00:55:20 +13:00
Cadence Ember 493bc25602 Fix unbridging procedure 2025-12-01 16:53:09 +13:00
Cadence Ember f176b547ce Maybe accept invites more reliably 2025-12-01 16:53:04 +13:00
Cadence Ember 954d41269c Store directs in database rather than account data 2025-08-21 11:30:23 +12:00
Cadence Ember 2a0e22a122 Don't explode if it can't send follow-up errors
This _should_ be awaited all the way up, but it didn't work for me,
and better safe than sorry I guess?
2025-08-13 20:49:02 +12:00
Cadence Ember 67291a3736 Get member data when running backfill 2025-08-05 01:25:09 +12:00
Cadence Ember 50ca219fc1 Fix retrying d->m errors 2025-08-05 00:06:01 +12:00
Cadence Ember 2522a74d7c Only ack read receipts if the event was bridged 2025-04-16 22:45:07 +12:00
Cadence Ember 4cb99feeb2 Rework event dispatchers 2025-03-13 17:15:40 +13:00
Cadence Ember dd63ac7d44 New error trace stringifier 2025-03-12 16:01:36 +13:00
Cadence EmberandWonder Collective 15826dcb3f Make Cloudflare errors less obnoxious
Co-authored-by: Wonder Collective <>
2025-02-10 20:44:49 +13:00
Cadence Ember be06caf2b4 Clean up log message 2025-02-04 17:01:06 +13:00
Cadence Ember d45a0bdc10 UI for linking existing space 2025-02-04 02:45:38 +13:00
Cadence Ember 978eb40e1d Store invites in database 2025-02-03 16:37:56 +13:00
Cadence Ember 63cc089bdb Reset room topic immediately if it is cleared 2025-02-01 23:26:24 +13:00
Cadence Ember ad51079448 Don't overwrite room custom topics 2025-02-01 23:12:50 +13:00
Cadence Ember 5b06d5984a Do cache space members in member_cache 2025-01-20 02:33:24 +13:00
Cadence Ember 8ad299b04c Add foreign keys to database 2025-01-17 11:33:29 +13:00
Cadence Ember 6e55061760 Use kstate for d->m pins updates 2025-01-08 11:31:43 +13:00
Cadence Ember 7e6548eb90 Ack bridged Matrix events
May provide reassurance that the bridge is currently working.
Half-Shot's bridge has always done this.
2025-01-08 01:31:31 +13:00
Cadence Ember 06b6a63ee3 Sync pins back from Matrix to Discord 2025-01-07 12:24:03 +13:00
Cadence Ember 4247a3114a Move everything to src folder... it had to happen 2024-09-12 17:05:13 +12:00