element-hq / element-hq/dendrite

stopped getting new events from room, can't rejoin it

Open
#1,760 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

F-State-Res T-Defect
Dominant language
Go
Stars
967
Forks
102
PR merge metrics
No merged PRs in 30d

Description

*This issue was originally created by [**@zephryn**](https://github.com/zephryn) at .*

### Background information
- **Dendrite version or git SHA**: still on 0.3.8
- **Monolith or Polylith?**: monolith
- **SQLite3 or Postgres?**: sqlite3
- **Running in Docker?**: nope
- **`go version`**: 1.15.8 linux/amd64

### Description
a few days ago i noticed that a room i was in wasn't receiving new events.

when trying to leave the room, i get the following error:
```
Error leaving room
User "(matrix account)" is not a member of room "(id of room i can't join)"
```
attempting to rejoin the room returns a different error:
```
InputRoomEvents auth failed: eventauth: eventauth: "(matrix account)" is not allowed to change their membership from "leave" to "join"
```
this message is similar to the one shown in issue #1023.

trying to rejoin also produces these logs server-side:
```
level=error msg="helpers.CheckAuthEvents failed for event, rejecting event" func="processRoomEvent\n\t" file=" [github.com/matrix-org/dendrite/roomserver/internal/input/input_events.go:106]" auth_event_ids="[(event id)]" error="eventauth: \"(matrix account)\" is not allowed to change their membership from \"leave\" to \"join\"" event_id="(event id)"
level=info msg="Error authing soft-failed event" func="processRoomEvent\n\t" file=" [github.com/matrix-org/dendrite/roomserver/internal/input/input_events.go:120]" error="eventauth: \"(matrix account)\" is not allowed to change their membership from \"leave\" to \"join\"" event_id="(event id)" room="(id of room i can't join)" type=m.room.member
http: TLS handshake error from (client-side ip goes here): EOF
```

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading roomserver/internal/input/input_events.go around lines 106 and 120, then compare the reported leave-to-join auth failure with issue #1023. Reproduce the failed leave and rejoin flow using the reported monolith, SQLite3, and Dendrite 0.3.8 setup if possible; done means the room receives new events and the user can leave or rejoin without these errors.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, sqlite
Domain
backend, databases
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.