matrix-org / matrix-org/matrix-js-sdk

Chats are still presented after automated deletion of rooms (exists in different clients)

Open
#4,915 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

O-Uncommon S-Minor T-Defect
Dominant language
TypeScript
Stars
2.2k
Forks
704
Avg merge
1d 20h
Merged PRs (30d)
40

Description

Steps:
Set up automated deletion of chats (this api is used https://element-hq.github.io/synapse/v1.105/admin_api/rooms.html#version-2-new-version)
Wait until chats get deleted

Current result
Some of the deleted chats are still presented

Expected result
All deleted chats should not exist anymore

Items from the investigation

  • It looks like there was no issues on matrix-js-sdk 34.5. The issue appears on on versions from 35.1.0 includ. 37.10
  • Deleted rooms are still located in the indexeddb
  • Element does not preserve deleted rooms in indexedDB as joined room, but somehow it still suggests to you if you want to join the deleted rooms. After logout this room is gone.
  • We also figured out, that joined_rooms request does not play a role in syncing of state of the room. So we are using sync requests as well as Element to detect that there is no room already
  • Adding workerFactory and indexeddb.worker didn't help

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 reproducing automated room deletion with the Synapse admin API, comparing matrix-js-sdk 34.5 with 35.1.0 and later. Inspect IndexedDB persistence and sync request handling, including the joined_rooms path mentioned in the report. Done means deleted rooms no longer remain in IndexedDB or appear as join suggestions across clients.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
databases, frontend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.