Add ability to properly edit messages in Threads. (#6877)

* Fix infinite rerender loop when editing message

* Refactor "edit_event" to Action.EditEvent

* Make up-arrow edit working in Threads

* Properly handle timeline events edit state

* Properly traverse messages to be edited

* Add MatrixClientContextHOC

* Refactor RoomContext to use AppRenderingContext

* Typescriptify test

Co-authored-by: Germain <germains@element.io>
This commit is contained in:
Dariusz Niemczyk 2021-10-01 15:35:54 +02:00 committed by GitHub
parent 5dede230f1
commit 1331e960fa
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
15 changed files with 403 additions and 189 deletions

View file

@ -16,10 +16,15 @@ limitations under the License.
import { createContext } from "react";
import { IState } from "../components/structures/RoomView";
import { IRoomState } from "../components/structures/RoomView";
import { Layout } from "../settings/Layout";
const RoomContext = createContext<IState>({
export enum TimelineRenderingType {
Room,
Thread
}
const RoomContext = createContext<IRoomState>({
roomLoading: true,
peekLoading: false,
shouldPeek: true,
@ -53,6 +58,8 @@ const RoomContext = createContext<IState>({
showDisplaynameChanges: true,
matrixClientIsReady: false,
dragCounter: 0,
timelineRenderingType: TimelineRenderingType.Room,
liveTimeline: undefined,
});
RoomContext.displayName = "RoomContext";
export default RoomContext;