Skip to content

New reaction to old event ends up on the main timeline instead of the thread #25450

@andybalaam

Description

@andybalaam

Steps to reproduce

  1. Turn on seeing hidden events in devtools
  2. In a room, create a thread with some messages on it
  3. Add at least 20 new messages to the main timeline
  4. React to the last message in the thread with some emoji
  5. Refresh the page
  6. Look for where the reaction event is

Outcome

What did you expect?

I expected my reaction to be shown after the last message in the thread

What happened instead?

My reaction is invisible, and if I look for the hidden event for it, it's been added on the main timeline instead of in the thread

It's because of the logic in matrix-jsd-sdk/src/models/room.ts in eventShouldLiveIn. If we can't find the parent event of a relation, we give up and say it should go into the main timeline.

Maybe we should put it in a holding area and go and fetch the parent event, so we can decide what thread the reaction lives in.

Operating system

Ubuntu 22.04

Browser information

Firefox 112.0.2

URL for webapp

https://develop.element.io

Application version

Element version: 6b7f71f-react-530197bfcd5c-js-b29e1e9d21b5 Olm version: 3.2.14

Homeserver

matrix.org

Will you send logs?

No

Metadata

Metadata

Assignees

Labels

O-UncommonMost users are unlikely to come across this or unexpected workflowS-MajorSeverely degrades major functionality or product features, with no satisfactory workaroundT-DefectX-Release-Blocker

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions