Commit graph

126 commits

Author SHA1 Message Date
Michael Telatynski
de4e0cfcaa
Add extra TimelinePanel logging to debug specific issue (#8624) 2022-05-17 14:12:11 +01:00
Michael Telatynski
25428b0415
Tidy checkForPreJoinUISI and add some logging (#8567)
* Tidy checkForPreJoinUISI

* Add some logging
2022-05-12 09:13:48 +01:00
Šimon Brandner
13aa610cd2
Fix room history not being visible even if we have historical keys (#8563) 2022-05-11 15:03:17 +00:00
Michael Telatynski
00984e4434
Fix effect of URL preview toggle not updating live (#8561)
* Remove unused state and fix canPeek

* Fix effect of URL preview toggle not updating live

* Remove stale context fields
2022-05-11 15:11:42 +01:00
Michael Telatynski
ad4d3f9a88
Move threads e2e tests over to cypress (#8501)
* Add non-consent (default) Synapse template

* Add consent test

* Add create room test

* Stash work

* Initial threads tests

* fix

* Delete old threads e2e tests, plan new ones

* Fix typed s'more

* Try something else

* specify d.ts

* Fix types once and for all?

* Fix the consent tests

* Iterate threads test harness

* Fix dispatcher types

* Iterate threads test

* fix typing

* Alternative import attempt

* let it break let it break let it break

* Tweak types

* Stash

* delint and update docs

* null-guard scrollIntoView

* Iterate threads test

* Apply suggestions from code review
2022-05-10 17:09:31 +00:00
Eric Eastwood
3a241e0dfb
Log TimelinePanel debugging info when opening the bug report modal (#8502)
To debug all of the timeline problems:

 - https://github.com/vector-im/element-web/issues/21613
 - https://github.com/vector-im/element-web/issues/21922
 - https://github.com/vector-im/element-web/issues/21432
 - https://github.com/vector-im/element-web/issues/21533
2022-05-09 21:32:25 -05:00
Šimon Brandner
99543a7858
Implement changes to MSC2285 (private read receipts) (#7993) 2022-05-06 21:32:47 +02:00
Eric Eastwood
46ba14219c
Add a way to toggle ScrollPanel and TimelinePanel debug logs (#8513)
Part of https://github.com/vector-im/element-web/issues/21532

To better debug timeline issues when they crop up.

Turn on:
```js
mxSettingsStore.setValue('debug_scroll_panel', null, 'device', true);
mxSettingsStore.setValue('debug_timeline_panel', null, 'device', true);
```

Turn off:
```js
mxSettingsStore.setValue('debug_scroll_panel', null, 'device', false);
mxSettingsStore.setValue('debug_timeline_panel', null, 'device', false);
```
2022-05-06 11:13:23 -05:00
Šimon Brandner
3a245a0cbe
Fix jump to bottom button being always displayed in non-overflowing timelines (#8460) 2022-05-01 19:38:36 -06:00
Michael Telatynski
763edb7ab9
Fix issue with thread panel not updating when it loads on first render (#8382) 2022-04-22 07:37:23 +00:00
Robin
7335b35fbb
Avoid looking up settings during timeline rendering (#8313)
* Avoid showHiddenEventsInTimeline lookups

* Avoid MSC3531 feature lookups

* Test that showHiddenEventsInTimeline doesn't get looked up while
rendering

* Fix code review nits

Co-authored-by: Travis Ralston <travisr@matrix.org>
2022-04-14 23:23:22 +00:00
Janne Mareike Koschinski
579a166113
Fix: Remove jittery timeline scrolling after jumping to an event (#8263)
* Fix: Remove jittery timeline scrolling after jumping to an event

* Fix: Remove onUserScroll handler and merge it with onScroll

* Fix: Reset scrollIntoView state earlier

Co-authored-by: Janne Mareike Koschinski <jannemk@element.io>
2022-04-08 20:48:57 +02:00
Janne Mareike Koschinski
e54eb81626
Fix: Ensure links to events scroll the correct events into view (#8250)
Co-authored-by: Janne Mareike Koschinski <jannemk@element.io>
2022-04-07 13:24:45 +02:00
Travis Ralston
9350c50f87 Step 6: Refactor event rendering to stop using getComponent
We move all of the event tile rendering into a factory manager for a couple reasons:
1. `EventTile` is uncomfortably large for a file
2. A simple map isn't possible anymore (can't convert the existing maps like `eventTileTypes` to `Record<string, typeof React.Component>` because the types are actually incompatible)

So, by having a factory manager place we can more easily render components without having to use `getComponent()` all over the place, and without lying to ourselves about how simple the event rendering path is.

This change also moves quite a bit of the rendering path into the new `EventTileFactory` file so it can be easily seen by future developers.
2022-03-28 14:02:31 -06:00
Travis Ralston
997d6d40bf Step 1: Remove all usage of @replaceableComponent 2022-03-28 14:02:31 -06:00
Michael Telatynski
190968c73c
Null guard TimelinePanel unmount edge (#8171) 2022-03-28 09:58:49 +01:00
Travis Ralston
fce36ec826
Delete groups (legacy communities system) (#8027)
* Remove deprecated feature_communities_v2_prototypes

* Update _components

* i18n

* delint

* Cut out a bit more dead code

* Carve into legacy components

* Carve into mostly the room list code

* Carve into instances of "groupId"

* Carve out more of what comes up with "groups"

* Carve out some settings

* ignore related groups state

* Remove instances of spacesEnabled

* Fix some obvious issues

* Remove now-unused css

* Fix variable naming for legacy components

* Update i18n

* Misc cleanup from manual review

* Update snapshot for changed flag

* Appease linters

* rethemedex

* Remove now-unused AddressPickerDialog

* Make ConfirmUserActionDialog's member a required prop

* Remove useless override from RightPanelStore

* Remove extraneous CSS

* Update i18n

* Demo: "Communities are now Spaces" landing page

* Restore linkify for group IDs

* Demo: Dialog on click for communities->spaces notice

* i18n for demos

* i18n post-merge

* Update copy

* Appease the linter

* Post-merge cleanup

* Re-add spaces_learn_more_url to the new SdkConfig place

* Round 1 of post-merge fixes

* i18n

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-03-22 23:07:37 +00:00
Germain
acd12c38a9
Fix threads timeline message ordering (#7968) 2022-03-03 15:22:16 +00:00
Šimon Brandner
df591ee835
Make everything use the KeyBindingManager (#7907) 2022-02-28 16:05:52 +00:00
Michael Telatynski
7fa01ffb06
Improve typing around event emitter handlers (#7816) 2022-02-22 12:18:08 +00:00
Michael Telatynski
2a55d22916
Wire up CallEventGroupers for Search Results (#7866) 2022-02-22 10:39:08 +00:00
Michael Telatynski
5f5bb4a4fe
Consolidate TileShape into TimelineRenderingType (#7843) 2022-02-18 15:56:05 +00:00
Michael Telatynski
658590e5bc
More posthog tracking around joining rooms and room search (#7807) 2022-02-17 18:03:27 +00:00
Germain
e997676ae2
Opt out from check for pre-join UISI for threads (#7834) 2022-02-17 17:34:20 +00:00
Germain
15a9303d29
Improve thread partitioning for 2nd degree relations (#7748) 2022-02-10 15:18:55 +00:00
Michael Telatynski
0d6ef76605
Add analytics for the ViewRoom action (#7666) 2022-02-10 14:29:55 +00:00
Michael Telatynski
b77d31bb4f
Fix new call event grouper implementation for encrypted rooms (#7654) 2022-01-27 16:40:06 +00:00
Michael Telatynski
f2249b3e37
Fix CallEventGrouper map building to not occur during a Render phase (#7638) 2022-01-27 11:08:28 +00:00
Michael Telatynski
8e4ced6454
Correctly handle Room.timeline events which have a nullable Room (#7635) 2022-01-26 13:24:14 +00:00
Robin
f59ea6d7ad
Show a tile at beginning of visible history (#5887) 2022-01-20 09:51:31 +00:00
Michael Telatynski
4b5ca1d7a9
Fix timeline jumping issues related to bubble layout (#7529) 2022-01-18 09:31:21 +00:00
David Teller
6b870ba1a9
MSC3531 - Implementing message hiding pending moderation (#7518)
Signed-off-by: David Teller <davidt@element.io>
2022-01-17 16:04:37 +01:00
Germain
76839ec42e
Prevent soft crash when sending a thread message (#7467) 2022-01-05 15:16:53 +00:00
Timo
325e2ba99b
Right panel store refactor (#7313)
Co-authored-by: J. Ryan Stinnett <jryans@gmail.com>
2022-01-05 16:14:44 +01:00
Michael Telatynski
a968b4ce53
Improve typing around LoggedInView (#7384)
* Update SyncState imports

* Improve typing around LoggedInView

* Fix typing
2021-12-16 09:57:10 +00:00
Germain
69c4a0cebc
Fix main timeline pending events bleeding in thread's timeline (#7373) 2021-12-15 12:40:56 +00:00
Aaron Raimist
7b94e13a84 Merge branch 'develop' into sort-imports
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2021-12-09 08:34:20 +00:00
Germain
3d4ece02e8
Send read receipts for events in thread's timeline (#7229) 2021-12-01 15:45:31 +00:00
Germain
9d52c23e06
Add option to disable grouping in TimelinePanel (#7221) 2021-11-29 17:01:23 +00:00
Timo
4cbed99de3
Add right panel chat timeline (#7112)
Co-authored-by: J. Ryan Stinnett <jryans@gmail.com>
2021-11-29 17:06:15 +01:00
Germain
3a2aa9d96c
Polish threads misalignments and UI diversion (#7209) 2021-11-29 10:58:34 +00:00
Renan Cleyson
ae0dba4e87
Add view_room to Action enum (#7203)
* Add ViewRoom action to Action enum

Signed-off-by: Renan <renancleyson.f@gmail.com>

* Change view_room occurrences to Action.ViewRoom

Signed-off-by: Renan <renancleyson.f@gmail.com>

* Add missing Action import
2021-11-25 21:49:43 +01:00
Travis Ralston
3c06e7f7a0
Add option to change the size of images/videos in the timeline (#7017)
Co-authored-by: Šimon Brandner <simon.bra.ag@gmail.com>
Co-authored-by: J. Ryan Stinnett <jryans@gmail.com>
Co-authored-by: Timo K <toger5@hotmail.de>
2021-11-17 15:19:30 +00:00
Aaron Raimist
bdc56be863
Auto fix
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2021-10-22 17:23:37 -05:00
Dariusz Niemczyk
5290afcc4c Replace console.warn with logger.warn
Related https://github.com/vector-im/element-web/issues/18425
2021-10-18 14:08:23 +02:00
Dariusz Niemczyk
5e73a212f4 Replace console.error with logger.error
Related https://github.com/vector-im/element-web/issues/18425
2021-10-18 14:08:23 +02:00
Dariusz Niemczyk
2d1d42b90e
Globally replace all console.logs via codemod (#6827)
This commit replaces all the `console.log` to `logger.log` via an automated script.
Related: vector-im/element-web#18425
2021-09-21 09:48:09 -06:00
Germain
051e166c68
Merge pull request #6772 from matrix-org/gsouquet/fix-18947 2021-09-09 18:56:49 +01:00
Germain Souquet
672dab1998 Force refresh threads timeline
Fixes vector-im/element-web#18947

In the absence of a proper pending events / remote echo setup it seems fairly difficult to get the timeline to update

Adding a temporary helper to force refresh the timeline and not swallow local events when sending a message from the thread sidebar
2021-09-09 17:31:05 +01:00
David Baker
a4aa6dfcd7 Debounce read marker update on scroll
Reverts https://github.com/matrix-org/matrix-react-sdk/pull/6751 in
favour of debouncing the updates to read markers, because it seems
allowing the scroll to be 1px away from the bottom was important for
some browsers and meant they never got to the bottom.

We can fix the problem instead by debouncing the update to read
markers, because the scroll state gets reset back to the bottom when
componentDidUpdate() runs which happens after the read marker code
does a setState(). This should probably be debounced anyway since
it doesn't need to be run that frequently.

Fixes https://github.com/vector-im/element-web/issues/18961
Type: bugfix
2021-09-09 15:58:19 +01:00
Germain Souquet
d1dbfbd014 hide thread events from the timeline 2021-08-17 11:10:02 +01:00
Šimon Brandner
44acded0a0
Use snake case
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-08-06 07:55:08 +02:00
Šimon Brandner
015e0b6d77
Make into a labs feature
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-08-06 07:51:57 +02:00
Šimon Brandner
9761c38f3d
Merge remote-tracking branch 'upstream/develop' into feature/hidden-rrs
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-27 18:39:22 +02:00
Travis Ralston
c384575375
Merge pull request #6261 from robintown/watch-show-timestamps
Add alwaysShowTimestamps and others to RoomView setting watchers
2021-07-21 19:44:04 -06:00
Michael Telatynski
ce78cdf4ad Conform to new react and typescript eslint rules 2021-07-19 22:43:11 +01:00
Robin Townsend
c0123f5dad Merge branch 'develop' into watch-show-timestamps 2021-07-18 11:47:44 -04:00
Robin Townsend
158e6fa61c Merge branch 'develop' into text-for-event-perf 2021-07-16 18:24:22 -04:00
Šimon Brandner
651f19fb9b
Merge remote-tracking branch 'upstream/develop' into feature/hidden-rrs 2021-07-16 10:21:30 +02:00
Michael Telatynski
b0053f36d3 Fix instances of event.sender being read for just the userId - this field may not be set in time 2021-07-15 17:43:24 +01:00
Michael Telatynski
7c3c04d340 Fix instances of setState calls after unmount 2021-07-15 12:10:54 +01:00
Šimon Brandner
226224b039
Allow sending hidden RRs
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-14 15:12:35 +02:00
Robin Townsend
b147bcd207 Merge branch 'develop' into text-for-event-perf 2021-07-11 11:35:12 -04:00
Šimon Brandner
9d569c378e
Second batch of burning
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-02 17:08:27 +02:00
Michael Telatynski
0425b02982
Merge pull request #6295 from matrix-org/t3chguy/ts/10 2021-07-02 09:51:58 +01:00
David Baker
80f5232217 Comply with new member-delimiter-style rule
Just `eslint --fix` with rule from
https://github.com/matrix-org/eslint-plugin-matrix-org/pull/9 in place
2021-07-01 23:23:03 +01:00
Michael Telatynski
5c6466d824 use better types 2021-07-01 10:01:48 +01:00
Michael Telatynski
fcdb0a27d0 Convert EventTimeline, EventTimelineSet and TimelineWindow to TS 2021-07-01 09:53:54 +01:00
Robin Townsend
2021650d77 Merge branch 'develop' into watch-show-timestamps 2021-06-29 22:43:46 -04:00
Robin Townsend
adb5df52a4 Merge branch 'develop' into text-for-event-perf 2021-06-29 22:13:18 -04:00
Michael Telatynski
a59e94b907 delint 2021-06-29 22:21:05 +01:00
Michael Telatynski
8f4879ea96 Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/ts/8
 Conflicts:
	src/components/structures/MessagePanel.tsx
	src/components/structures/ScrollPanel.tsx
	src/components/structures/TimelinePanel.tsx
	src/components/views/elements/ErrorBoundary.tsx
	src/components/views/elements/EventListSummary.tsx
	src/components/views/messages/TileErrorBoundary.tsx
2021-06-29 22:14:40 +01:00
Michael Telatynski
623317cd47 Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/ts/8
 Conflicts:
	src/components/structures/MessagePanel.tsx
	src/components/structures/TimelinePanel.tsx
2021-06-29 15:22:54 +01:00
Robin Townsend
f9fe28a6ad Merge branch 't3chguy/ts/8' into text-for-event-perf 2021-06-24 18:45:08 -04:00
Robin Townsend
d466d1a7ee Add alwaysShowTimestamps and others to RoomView setting watchers
to allow them to update on the fly. This also modifies the setting
watchers to avoid an unnecessary settings lookup.

Signed-off-by: Robin Townsend <robin@robin.town>
2021-06-24 11:28:16 -04:00
Michael Telatynski
cecf0ce299 Convert MessagePanel, TimelinePanel, ScrollPanel, and more to Typescript 2021-06-22 20:41:26 +01:00
Renamed from src/components/structures/TimelinePanel.js (Browse further)