Commit Graph

329 Commits (671fdc8665a85ec9361733b6b5af0a1f2da03749)

Author SHA1 Message Date
Travis Ralston d5ed1eb66e Step 8.3: Convert `RoomViewStore` to a more modern singleton for imports 2022-03-28 14:02:31 -06: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
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
Robin cfabcdda35
Voice rooms prototype (#8084)
* Add voice room labs flag

Signed-off-by: Robin Townsend <robin@robin.town>

* Add more widget actions for interacting with Jitsi

Signed-off-by: Robin Townsend <robin@robin.town>

* Factor out a more generic Jitsi creation utility

Signed-off-by: Robin Townsend <robin@robin.town>

* Add utilities for managing voice channels

Signed-off-by: Robin Townsend <robin@robin.town>

* Enable creation of voice rooms

Signed-off-by: Robin Townsend <robin@robin.town>

* Force a maximized view of voice channel widgets

Signed-off-by: Robin Townsend <robin@robin.town>

* Add voice channel store

Signed-off-by: Robin Townsend <robin@robin.town>

* Factor out a more generic FacePile

Signed-off-by: Robin Townsend <robin@robin.town>

* Implement room tile changes for voice rooms

Signed-off-by: Robin Townsend <robin@robin.town>

* Add interactive radio component to the left panel

Signed-off-by: Robin Townsend <robin@robin.town>

* Test voice rooms

Signed-off-by: Robin Townsend <robin@robin.town>

* Update name of call room type

Signed-off-by: Robin Townsend <robin@robin.town>

* Clarify that voice rooms are under development

Signed-off-by: Robin Townsend <robin@robin.town>

* Use readonly

Signed-off-by: Robin Townsend <robin@robin.town>

* Move acks to the end of handlers

Signed-off-by: Robin Townsend <robin@robin.town>

* Add comment about avatar URLs coming from Jitsi

Signed-off-by: Robin Townsend <robin@robin.town>

* Don't use unicode ellipses

for translation reasons?

Signed-off-by: Robin Townsend <robin@robin.town>

* Fix tests

Signed-off-by: Robin Townsend <robin@robin.town>

* Fix tests, again

Signed-off-by: Robin Townsend <robin@robin.town>

* Remove unnecessary export

Signed-off-by: Robin Townsend <robin@robin.town>

* Ack Jitsi events when we wait for them

Signed-off-by: Robin Townsend <robin@robin.town>
2022-03-22 16:14:11 -06:00
Michael Telatynski 4b0df21b0a
Fix null-guarding regression around reply_to_event dispatch (#8039) 2022-03-11 17:21:28 +00:00
Michael Telatynski ceb2281d36
Fix regression around replying to search results (#8035) 2022-03-11 15:40:49 +00:00
J. Ryan Stinnett 65691202f7
Add lint for unused locals (#8007) 2022-03-09 12:05:16 +00:00
Michael Telatynski aa48cfd0a0
Pass room to getRoomTombstone to avoid racing with setState (#7986) 2022-03-04 17:12:20 +00:00
Michael Telatynski 0e60ad98c1
Hide composer and call buttons when the room is tombstoned (#7975) 2022-03-04 15:53:22 +00:00
Michael Telatynski c727942095
Autofocus correct composer after sending reaction (#7950) 2022-03-02 16:31:34 +00:00
Michael Telatynski 4629d1e4f6
Fix emoji insertion in thread composer going to the main composer (#7895) 2022-02-24 17:01:42 +00:00
Michael Telatynski c257bc3f7a
Prefer RoomStateEvent.Update where possible as it fires far less (#7878) 2022-02-24 14:39:25 +00:00
Michael Telatynski fe2fceb0ba
Tidy up timelineRenderingType to be passed over context (#7872) 2022-02-24 11:25:13 +00:00
J. Ryan Stinnett d8ac7cf202
Fix thread summary layout for narrow right panel timeline (#7838) 2022-02-23 14:03:46 +00:00
Michael Telatynski 8fccef86d8
Wire up drag-drop file uploads for the thread view (#7860) 2022-02-22 11:14:56 +00:00
Kerry 5b8d440406
type Actions (#7862)
* type ViewHomPage action

Signed-off-by: Kerry Archibald <kerrya@element.io>

* type spacestore actions

Signed-off-by: Kerry Archibald <kerrya@element.io>

* lint

Signed-off-by: Kerry Archibald <kerrya@element.io>

* add action types

Signed-off-by: Kerry Archibald <kerrya@element.io>

* use new action types in stores

Signed-off-by: Kerry Archibald <kerrya@element.io>

* remove debug change

Signed-off-by: Kerry Archibald <kerrya@element.io>

* stricter keyboard shortcut types

Signed-off-by: Kerry Archibald <kerrya@element.io>

* action comments

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-02-22 10:04:27 +00:00
Michael Telatynski 658590e5bc
More posthog tracking around joining rooms and room search (#7807) 2022-02-17 18:03:27 +00:00
J. Ryan Stinnett 0dc1355441
Fix right panel data flow (#7811) 2022-02-16 11:19:28 +00:00
Michael Telatynski c2cf3a2d9e
Fix room create tile not showing up with hidden events shown (#7810)
* Replace m.room.create with enum

* Fix room create tile not showing up with hidden events shown
2022-02-15 21:05:41 +00:00
Michael Telatynski 8d4e83084c
Remove Countly analytics integration (#7808) 2022-02-15 16:58:30 +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 91ccbe4395
Add way to track posthog user properties and send numSpaces (#7716) 2022-02-09 09:21:56 +00:00
Šimon Brandner a17d585a12
Work towards unifying `KeyboardShortcuts` and `KeyBindingsDefaults` #2 (#7674) 2022-01-31 15:55:45 +00:00
Michael Telatynski 50f8c61fa8
Fix search results view for layouts other than Group/Modern (#7648) 2022-01-26 20:15:44 +00:00
Michael Telatynski 8e4ced6454
Correctly handle Room.timeline events which have a nullable `Room` (#7635) 2022-01-26 13:24:14 +00:00
Michael Telatynski ec6c1b8272
Fix RoomViewStore forgetting some details of a view room call (#7512) 2022-01-12 13:12:28 -07:00
Michael Telatynski 53a72dafa9
Limit max-width for bubble layout to 1200px (#7458) 2022-01-11 17:21:59 +00:00
Timo 59f57e15fe
Ship maximised widgets and remove feature flag (#7509)
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-01-11 14:11:48 +01:00
Michael Telatynski 474cbf4c09
Fix jump to bottom button working when on a permalink (#7494) 2022-01-10 11:34:27 +00:00
Timo 4ab3470184
History based navigation with new right panel store (#7398)
Co-authored-by: J. Ryan Stinnett <jryans@gmail.com>
2022-01-05 17:25:41 +01:00
Michael Telatynski 6f89267a31
Fix quoting messages from the search view (#7466) 2022-01-05 15:59:19 +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
Timo d31aa12156
Fix MaxListenersExceededWarning (#7389) 2021-12-15 18:06:37 +01:00
Michael Telatynski 7033f8696a
Improve typing (#7349) 2021-12-14 15:34:54 +00:00
Timo ed895f5881
Always unhide widgets on layout change (pinning a widget) (#7299) 2021-12-13 17:46:50 +01:00
Aaron Raimist 2e8a93834b Auto fix
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2021-12-09 09:10:23 +00:00
Šimon Brandner 5e19009e02
Fix jump to bottom on message send (#7280)
Co-authored-by: Germain <germain@souquet.com>
2021-12-06 14:32:15 +00:00
Michael Telatynski 336f159004
Update URL when room aliases are modified (#7289) 2021-12-06 09:25:05 +00:00
Germain f2fee53a0e
Allow stickers to be sent in a Thread (#7267) 2021-12-03 08:22:13 +00:00
Šimon Brandner cbb34d8ac7
Make `CallHandler` more `EventEmitter`y (#6704)
* sharedInstance() -> instance

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Use CallState event instead of dispatching

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Simplifie some code

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Use a method to start a call instead of the dispatcher

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Use a method instead of place_conference_call

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Make terminateCallApp() and hangupCallApp() public

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Use hangupAllCalls() instead of the dispatcher

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Make dialNumber(), startTransferToMatrixID() and startTransferToPhoneNumber() public instead of using the dispatcher

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Use answerCall() instead of using the dispatcher

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Use hangupOrReject() instead of the dispatcher

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Update docs

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Improve TS

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Dispatch call_state, see https://github.com/vector-im/element-web/pull/18823#issuecomment-917377277

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Add missing import

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-11-30 18:09:13 +00:00
Timo 82ae39435c
Only show core navigation elements (call/chat/notification/info) when a widget is maximised (#7114)
Co-authored-by: J. Ryan Stinnett <jryans@gmail.com>
2021-11-29 19:01:47 +01: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
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
Germain e4c00d1123
Open thread view when linking thread root (#7195) 2021-11-25 15:40:38 +00:00
Germain 256c468c15
Chat Effects & Commands in thread context (#7138) 2021-11-18 12:47:11 +00: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
Timo 645f900a36
Fix maximised / pinned widget state being loaded correctly (#7146) 2021-11-16 16:09:19 +00:00
Timo 556cfc7ed8
Add maximise widget functionality (#7098)
Co-authored-by: J. Ryan Stinnett <jryans@gmail.com>
2021-11-16 15:43:18 +01:00
Timo 431098b56b
Fixes element not remembering widget hidden state per room (#7136) 2021-11-15 12:49:34 +01:00
Michael Telatynski 27c3153947
Unified room context menus (#7072) 2021-11-15 11:39:25 +00:00
Michael Telatynski 5ad3261cb2
Implement more meta-spaces (#7077) 2021-11-11 13:07:41 +00:00
Germain 801eb068d6
Make attachments uploadable to a thread (#7064) 2021-11-03 08:43:24 +00:00
Šimon Brandner c3ad8b4eed
Cleanup re-dispatching around timelines and composers (#7023)
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2021-10-25 11:43:54 +00:00
Germain e20ac7bf1e
Implement deep-linking for threads (matrix.to) (#7003) 2021-10-22 09:30:36 +01:00
Travis Ralston d188d32423
Add a developer mode flag and use it for accessing space timelines (#6994)
Fixes https://github.com/vector-im/element-web/issues/19416
2021-10-20 06:55:22 -06:00
Germain 694ec946e2
Allow quote-reply in thread view element-web (#6959) 2021-10-19 16:05:34 +01:00
Dariusz Niemczyk f8b6f13105
Fix timeline scrolling when sending threads (#6974)
Fix https://github.com/vector-im/element-web/issues/19412
2021-10-18 20:50:06 +01:00
Dariusz Niemczyk 2c66403b3c Replace console.info with logger.info
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 1331e960fa
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>
2021-10-01 15:35:54 +02:00
Travis Ralston 77ad0a9142
Merge pull request #6699 from SimonBrandner/fix/improve-aux-panel/18787
Improve AUX panel behaviour
2021-09-27 10:16:05 -06: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 Souquet 07ebd85f7e Merge branch 'develop' into revert-6752-revert-6682-gsouquet/compact-composer-18533 2021-09-09 13:30:35 +01:00
Travis Ralston 3217ab26ff
Merge pull request #5759 from panoschal/fix/call-search-areas
Compact call area, better ui when in call & searching messages
2021-09-07 12:31:56 -06:00
Germain Souquet 646ef197fe Fix PR UI defects 2021-09-07 16:02:26 +01:00
Germain e16921e1f1
Merge pull request #6619 from matrix-org/gsouquet/ts-components-migration 2021-09-03 08:47:12 +01:00
Šimon Brandner 54cd385e6d
Improve AUX panel behaviour
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-08-27 13:31:43 +02:00
Germain Souquet e5024c4b71 Adapt threading UI to new backend 2021-08-17 10:38:09 +01:00
Germain Souquet 800b3f1424 Fix linter 2021-08-16 09:16:02 +01:00
Panagiotis 1c7a89b2e4 add comment - explain conditional statusBar 2021-08-08 21:00:15 +03:00
panoschal 05fa90e7e6
Merge branch 'matrix-org:develop' into fix/call-search-areas 2021-07-24 19:16:10 +03:00
Panagiotis 153eb05561 lint 2021-07-24 19:00:47 +03:00
Panagiotis e9efc95712 lint 2021-07-24 16:10:51 +03:00
Michael Telatynski f5630acea7 Adhere to better eslint rules 2021-07-23 10:35:10 +01:00
panoschal 8a28611a9a
Merge branch 'develop' into fix/call-search-areas 2021-07-23 10:50:33 +03: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
Michael Telatynski 1437188282 Also move effects handling from `event` to `Room.timeline` to wake up less 2021-07-15 18:02:02 +01:00
Michael Telatynski ea20e041b1
Merge pull request #6382 from matrix-org/t3chguy/console 2021-07-15 13:50:13 +01:00
Michael Telatynski 7c3c04d340 Fix instances of setState calls after unmount 2021-07-15 12:10:54 +01:00
Michael Telatynski 90d380c8ae Cache value of feature_spaces* flags as they cause page refresh so are immutable 2021-07-15 08:26:49 +01:00
Robin Townsend b147bcd207 Merge branch 'develop' into text-for-event-perf 2021-07-11 11:35:12 -04:00
Michael Telatynski bd175c6f40 Improve and consolidate typing 2021-07-10 15:43:46 +01:00
Šimon Brandner 7a1381135a
Simplifie some code
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-08 18:31:47 +02:00
Šimon Brandner 27db0da437
Simpler code
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-08 17:40:41 +02:00
Šimon Brandner 68d194444a
FocusComposer -> FocusSendMessageComposer
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-08 17:36:31 +02:00
Šimon Brandner 7734f8aeef
Handle focusing multiple composers
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-08 17:33:49 +02:00
Šimon Brandner f91b35a0a0
Merge remote-tracking branch 'upstream/develop' into burn-sdk-get-comp-with-fire
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-07 17:12:19 +02:00
Germain Souquet e7743e2a57 Migrate RoomScrollStateStore to TypeScript 2021-07-03 12:21:00 +01:00
Šimon Brandner d99874318c
Ninth batch of burning
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-03 11:51:23 +02: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
David Baker 53b89bbcd9
Merge pull request #6302 from matrix-org/dbkr/tsify_roomheader
Convert RoomHeader to TS
2021-07-01 21:33:11 +01:00
Michael Telatynski 1f337b28ac Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into travis/blurhash
 Conflicts:
	src/ContentMessages.tsx
	src/components/structures/UploadBar.tsx
	src/components/views/messages/MImageBody.js
	src/components/views/messages/MStickerBody.js
	src/components/views/messages/MVideoBody.tsx
2021-07-01 20:48:34 +01:00
David Baker 8bbb768825 Convert RoomHeader to TS
Also add a type of OOBData... possibly this should be in the js-sdk,
but threepid invites themselves have a type in react-sdk so it can
live alongside it I guess (also I'm not entirely sure we actually
use it anymore...)
2021-07-01 19:54:05 +01:00
David Baker ae16efcf5b Remove rateLimitedFunc 2021-07-01 18:35:38 +01:00
Germain Souquet fdced3da1b Remove reminescent references to the tinter 2021-06-30 08:09:55 +01:00