Grapevine is a Matrix homeserver, forked from Conduit 0.7.0
Find a file
Benjamin Lee a32dc1a3ee
tolerate invalid m.direct events when upgrading rooms
Previous behavior was causing us to error out of the entire
state_cache::update_membership function when it saw an invalid m.direct,
making it impossible for affected users to join upgraded rooms. This bug
is especially bad if an affected user attempts to upgrade a room,
because we will fail to create their join event in the new room, leaving
both rooms permanently bricked.

The new behavior should never prevent users from joining a room based on
the contents of their account data, and should migrate the `m.direct`
event in a reasonable way even if it is partially corrupted by the
element bug.

This also fixes a bug where the previous implementation will
unintentionally remove any keys that aren't part of the expected
m.direct schema. I don't know of any cases where this came up in
practice.

Fixes: #46
2024-08-11 15:53:25 -07:00
bin use all-features devshell for clippy/all in CI 2024-05-30 21:19:08 -07:00
book update changelog 2024-07-16 11:16:08 -07:00
nix Move database config to separate section 2024-06-27 16:03:43 -07:00
src tolerate invalid m.direct events when upgrading rooms 2024-08-11 15:53:25 -07:00
.envrc optionally use nom to build devshell dependencies 2024-05-30 21:19:09 -07:00
.gitignore set up mdbook 2024-06-16 20:23:18 -07:00
.gitlab-ci.yml set up mdbook 2024-06-16 20:23:18 -07:00
.lycheeignore set up mdbook 2024-06-16 20:23:18 -07:00
.markdownlintignore set up mdbook 2024-06-16 20:23:18 -07:00
book.toml set up mdbook 2024-06-16 20:23:18 -07:00
Cargo.lock config options for log format and color usage 2024-06-13 21:21:14 -07:00
Cargo.toml config options for log format and color usage 2024-06-13 21:21:14 -07:00
clippy.toml enable doc_markdown lint 2024-05-14 16:34:10 -07:00
default.nix feat: support non-flake users 2024-02-01 19:19:56 -08:00
engage.toml set up mdbook 2024-06-16 20:23:18 -07:00
flake.lock update flake.lock 2024-05-24 20:08:54 -07:00
flake.nix drop oci image outputs 2024-06-14 14:04:46 -07:00
LICENSE.md convert license to markdown 2024-04-30 21:54:56 -07:00
README.md set up mdbook 2024-06-16 20:23:18 -07:00
rust-toolchain.toml update the rust toolchain, ignore new lints 2024-05-24 20:09:41 -07:00
rustfmt.toml enable error_on_line_overflow and fix errors 2024-05-16 19:11:40 -07:00

Grapevine

A Matrix homeserver.

Read the book

Click here to read the latest version.