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.
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.
- 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
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>
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>
- 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