element-hq / element-hq/dendrite
stopped getting new events from room, can't rejoin it
Nobody has claimed this yet.
- 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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