Commit graph

924 commits

Author SHA1 Message Date
Bea
4625544e34
chore: add global prettier ignore file
As prettier is not configured for this project, and the style doesn't
meet prettier's opinionated defaults, it's worth dropping this blanket
ignore until such a time (if ever) a prettier config is produced that
matches the styleguide of this project.
2026-03-26 12:16:32 +00:00
Bea
a01a325146
chore: editorconfig matching existing code format styles
An editor config has been written that matches existing indentation and
formatting used by this project, which should extend the courtesy of
intended tab use to other editors like NeoVim which are often conigured
to adhere to `.editorconfig` by default.

As part of this change, the official EditorConfig extension has been
added to VSCode recommendations, which should additionally enable
Code-like editors to additionally adhere to the rules of other files
like json and markdown which are the only types that deviate from
Cadence's global default.
2026-03-26 12:16:32 +00:00
Bea
c423590292
Look up thread IDs if channels cannot be found 2026-03-26 12:16:29 +00:00
953b3e7741 Attach message to error
Apparently this was causing detached logs, so just stop those
complaints if the error isn't being bubbled
2026-03-26 00:16:30 +13:00
8c023cc936 Add ping() function to REPL 2026-03-25 16:24:07 +13:00
e9fe820666 Registration changes should be instant now 2026-03-25 16:22:37 +13:00
f742d8572a MSC4144 minor changes for merge 2026-03-25 03:10:54 +00:00
Bea
8224ed5341 feat(discord): show per-message profile info in matrix info command 2026-03-25 03:10:54 +00:00
Bea
0b513b7ee0 fix(m2d): implement MSC4144 avatar clearing algorithm
- Empty string "" -> undefined (Discord uses default avatar)
- Valid MXC URI -> convert to public URL
- Omitted/null -> keep member avatar
2026-03-25 03:10:54 +00:00
Bea
07ec9832b2 fix(m2d): only use unstable com.beeper.per_message_profile prefix 2026-03-25 03:10:54 +00:00
Bea
a8b7d64e91 feat(m2d): strip per-message profile fallbacks from message content
Remove data-mx-profile-fallback elements from formatted_body and
displayname prefix from plain body when per-message profile is used.
2026-03-25 03:10:54 +00:00
Bea
41692b11ff feat(m2d): support MSC4144 per-message profiles
Override webhook username and avatar_url from m.per_message_profile
(and unstable com.beeper.per_message_profile) when present.
The stable key takes priority over the unstable prefix.
2026-03-25 03:10:54 +00:00
d8c0a947f2 Automatically reload registration 2026-03-25 15:39:26 +13:00
5c9e569a2a Support channel follow messages 2026-03-25 15:29:18 +13:00
201814e9f4 Update dependencies 2026-03-23 21:22:33 +13:00
7367fb3b65 Fix weird background clipping on icons 2026-03-20 01:37:22 +13:00
c75e87f403 Stream files in serveStatic for lower memory use 2026-03-20 01:27:34 +13:00
8b9d8ec0cc Widen newline tag detection 2026-03-20 00:59:52 +13:00
0dac3d2898 Internal language adjusted 2026-03-20 00:53:09 +13:00
9dbd871e0b Defuse mentions in m->d reply if client says so 2026-03-20 00:42:51 +13:00
8c87d93011 Remove member repetition bugfixes 2026-03-20 00:17:40 +13:00
e8d9a5e4ae Script to remove uncached bridged users 2026-03-19 14:30:19 +13:00
876d91fbf4 Remove sims when the Discord user leaves 2026-03-19 14:30:10 +13:00
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
f8896dce7f Type fixes in set-presence.js 2026-03-19 13:34:19 +13:00
5b04b5d712 Reformat /plu/ral emulated replies 2026-03-19 13:33:50 +13:00
711e024caa Update dependencies 2026-03-17 14:02:11 +13:00
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
d3afa728ed Fix m->d posting embeds even when setting is off 2026-03-15 20:53:41 +13:00
6716b432ba Wait for response before next click (don't queue) 2026-03-15 01:33:29 +13:00
3365023fe3 Sync default roles changes immediately 2026-03-15 01:21:38 +13:00
e6c3013993 Make default permission setting functional 2026-03-14 20:23:43 +13:00
cb4e8df91e Fix package-lock 2026-03-14 14:34:59 +13:00
f90cdfdbb5 Update dependencies, make stream-type independent 2026-03-14 14:25:48 +13:00
ff022e8793 Combine additional embed images into same event 2026-03-13 11:12:44 +13:00
99f4c52beb Fix attempting to follow an upgrade path twice 2026-03-13 10:17:04 +13:00
5f768fee01 d->m: Don't guess mentions in code blocks 2026-03-12 16:23:22 +13:00
6ca1b836e1 Add more debugging information 2026-03-11 12:38:05 +13:00
Bea
ada3933d9c Backfill: Create new rooms when needed
This updates the backfill script to attempt to create rooms for unbridged rooms, rather than bombing out that the room isn't already bridged.

Co-authored-by: Cadence Ember <cadence@disroot.org>
Reviewed-on: cadence/out-of-your-element#75
Co-authored-by: Bea <beanie@theargo.space>
Co-committed-by: Bea <beanie@theargo.space>
2026-03-09 00:22:41 +00:00
Bea
f5ee130463 Handle expired invites & fix test registration (#73)
This PR addresses a bridge crash discovered while backfilling old channels, alongside a wee QoL fix for the test suite.

* **Expired Events (`d2m`):** Wraps Discord scheduled event/invite link lookups in a try-catch block. If a link is expired (404 or Discord error 10006), the bridge now posts a fallback `m.notice` rather than throwing an error and halting message conversion.
* **Test Suite Setup:** Updates `test.js` to initialize the mock registration object using `getTemplateRegistration()` preventing test runner crashes when running without a local `registration.yaml` file.

Co-authored-by: Cadence Ember <cadence@disroot.org>
Reviewed-on: cadence/out-of-your-element#73
Co-authored-by: Bea <beanie@theargo.space>
Co-committed-by: Bea <beanie@theargo.space>
2026-03-08 22:11:28 +00:00
cd8549da38 Fix sticker tests and coverage 2026-03-08 23:32:36 +13:00
f7a5b2d74c Update tryToCatch dependency and usages 2026-03-08 22:36:05 +13:00
6a2606cbdb Add UI for defining default roles 2026-03-08 22:35:10 +13:00
9eaa85c072 Add /invite Matrix command to get Discord invite 2026-03-08 22:34:51 +13:00
74c0c28cf4 Update dependencies 2026-03-08 22:34:04 +13:00
c68bac5476 Document encryption as unsupported 2026-03-01 22:05:46 +13:00
e275d4c928 Add script to estimate total channel file size 2026-02-27 18:35:48 +13:00
780154fd09 Bots with Administrator may access all channels 2026-02-27 18:34:30 +13:00
ea261e825b Slashes not allowed in MXID 2026-02-27 18:33:29 +13:00
d1aa8f01e7 Change sticker URL and stream response 2026-02-25 18:21:35 +13:00