Commit Graph

55 Commits (daad630827d077b4722d9f32e954aa6c6d2c6b6f)

Author SHA1 Message Date
Michael Telatynski daad630827
Conform more of the codebase to `strictNullChecks` (#10602)
* Conform more of the codebase to `strictNullChecks`

* Conform more of the codebase to `strictNullChecks`

* Fix types
2023-04-17 08:31:58 +01:00
Michael Telatynski 76b82b4b2b
Make more code conform to strict null checks (#10219
* Make more code conform to strict null checks

* Fix types

* Fix tests

* Fix remaining test assertions

* Iterate PR
2023-02-24 15:28:40 +00:00
Michael Telatynski da7aa4055e
Conform more of the code base to strict null checking (#10147)
* Conform more of the code base to strict null checking

* More strict fixes

* More strict work

* Fix missing optional type

* Iterate
2023-02-13 17:01:43 +00:00
Michael Telatynski 030b7e90bf
Enable `@typescript-eslint/explicit-function-return-type` in /src (#9788)
* Enable `@typescript-eslint/explicit-member-accessibility` on /src

* Prettier

* Enable `@typescript-eslint/explicit-function-return-type` in /src

* Fix types

* tsc strict fixes

* Delint

* Fix test

* Fix bad merge
2023-01-12 13:25:14 +00:00
Michael Telatynski f1e8e7f140
Enable `@typescript-eslint/explicit-member-accessibility` on /src (#9785)
* Enable `@typescript-eslint/explicit-member-accessibility` on /src

* Prettier
2022-12-16 12:29:59 +00:00
Michael Weimann 526645c791
Apply prettier formatting 2022-12-12 12:24:14 +01:00
Michael Telatynski 8576601b7c
Fix replies to emotes not showing as inline (#9707) 2022-12-05 12:50:51 +00:00
Šimon Brandner 6b3098d8fe
Further improve replies (#6396)
* Give reply tile an avatar

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

* Improve `in reply to`

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

* Drop `In reply to` for `Expand thread`

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

* Fix avatar alignment

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

* Fix default avatar alignment

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

* Simplifie code

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

* Simplifie some more code

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

* Make replies lighter

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

* Give replies a hover effect

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

* Revert changes to sender profile in replies

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

* Improve padding

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

* Increase line height of replies

to keep descenders from being cut off, and generally give them more room
to breathe.

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

* Replace reply hover effect with a color change

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

* Replace expand thread hover effect with an opacity change

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

* Simplify image and sticker reply designs

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

* Revise file and deleted message padding to match new reply layout

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

* Remove unneeded CSS

Since the download button for files got moved out of the timeline and
into the message action bar, hiding it manually is no longer necessary.

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

* Hide edited indicator from replies

There are a few reasons for this: it adds visual noise to what is meant
to be a brief preview, it can sometimes add an extra line to the reply
preview, and clicking on it inside a reply was broken due to the
stacking of event listeners.

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

* Fix i18n

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

* "Expand thread" -> "Expand replies"

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

* Add a missing import

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

* Remove unused import

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

* Remove unused import

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

* Use `this.state`

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

* Fix sender profile confusion

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

* Implement suggested changes

* Make "In reply to" the same color as reply previews

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
Signed-off-by: Robin Townsend <robin@robin.town>
Co-authored-by: Robin Townsend <robin@robin.town>
2022-11-29 08:49:43 +01:00
Eric Eastwood 2393510a7f
Fix `getRelationsForEvent` under TypeScript `strict` mode (#9558)
* Fix getRelationsForEvent tsc strictness

* Use shared type for GetRelationsForEvent

* Fix lint

* Add alternative type

* getRelationsForEvent is not required

* Relations are optional

* Reactions are optional

* We expect relations in these tests

* Add more protection if the eventID is not defined

* Allow null too

* Better test typing

* User ID is not necessary unless something is selected

* It's okay to [].includes(null)

* Null is as good as undefined here

* Null or undefined is good here

* We have some expectations for the tests

* The room and user can be undefined too

* Protec

* Reactions are optional

* Try match signatures

* Null or undefined

* More null or undefined

* Protec

* Fix typo (wrong variable)

* Remove optional params

See https://github.com/matrix-org/matrix-react-sdk/pull/9558#discussion_r1017515913

* Fix up last maaaaybe relevant lint

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-11-21 20:54:24 -07:00
Michael Telatynski e7a8dbd04c
Revert recent composer changes (#8840)
* Revert "Prevent new composer from overflowing from non-breakable text (#8829)"

This reverts commit 57dff8131c.

* Revert "Fix scroll jump issue with the composer (#8791)"

This reverts commit 5167521ea4.

* Revert "Fix scroll jump issue with the composer (#8788)"

This reverts commit f568a76dc6.

* Revert "Revert link color change in composer (#8784)"

This reverts commit aedbeb2995.

* Revert "Improve composer visiblity (#8578)"

This reverts commit f14374a51c.
2022-06-27 09:43:58 +01:00
Germain f14374a51c
Improve composer visiblity (#8578)
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-06-07 07:28:29 +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
Travis Ralston cfbad115c7 Step 8.5: Move event rendering utilities 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
Michael Telatynski 7fa01ffb06
Improve typing around event emitter handlers (#7816) 2022-02-22 12:18:08 +00:00
Michael Telatynski 658590e5bc
More posthog tracking around joining rooms and room search (#7807) 2022-02-17 18:03:27 +00:00
Michael Telatynski 0d6ef76605
Add analytics for the ViewRoom action (#7666) 2022-02-10 14:29:55 +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
Andy Balaam 55eda7314b
Show votes in replied-to polls (pass in getRelationsForEvent) (#7345) 2021-12-13 13:12:22 +00:00
Aaron Raimist 2e8a93834b Auto fix
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2021-12-09 09:10:23 +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
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 0cfa2a58c7
Add ability to expand and collapse long quoted messages (#6701)
In case where we had a very long message the experience of going between 
messages to see the full quote isn't very nice on desktop, therefore this commit
adds a button with additional hotkey to normalize the experience a bit.

Fixes https://github.com/vector-im/element-web/issues/18884
2021-09-27 12:20:37 +02:00
Šimon Brandner cedf2db9ec
Remove unnecessary this.props
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-08-18 09:29:44 +02:00
Šimon Brandner ccf3af21f9
Allow playback of replied-to voice message
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-08-18 09:28:44 +02:00
Šimon Brandner 0e041f2e77
Fix clicking whitespaces on replies
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-08-06 15:06:11 +02:00
Germain 7e453d7745
Typo
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2021-07-27 17:14:39 +01:00
Germain Souquet 30ce7b5eab Make link within replies clickable 2021-07-27 17:57:46 +02:00
Šimon Brandner 88da0f4dcf
Give audio and video replies an icon
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-15 15:17:41 +02:00
Šimon Brandner 54d2784818
Remove unused import
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-14 12:19:16 +02:00
Šimon Brandner 6c801fea53
Use MImageReplyBody for stickers
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-14 12:15:13 +02:00
Šimon Brandner 782563af53
Override audio and video body with file body
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-14 10:47:29 +02:00
Šimon Brandner 04db6beb10
Remove stale comment
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-14 10:30:24 +02:00
Šimon Brandner ae4d8c291d
It's not an override
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-14 10:23:24 +02:00
Šimon Brandner 586e85cbff
Use MFileBody in replies
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-14 10:14:44 +02:00
Šimon Brandner 74ff85ae30
Remove m.sticker since it's not a message type
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-14 09:52:45 +02:00
Šimon Brandner 9aae33e076
Use string[]
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-14 09:28:37 +02:00
Šimon Brandner 1ec4ead62d
Unused imports
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-13 13:04:59 +02:00
Šimon Brandner 2660e25d6e
Deduplicate some code
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-13 13:04:37 +02:00
Šimon Brandner 8fc90e1d53
Fix isInfoMessage regression
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-13 12:26:14 +02:00
Šimon Brandner 75e7948ca8
Handle event edits
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-13 11:57:40 +02:00
Šimon Brandner fca5125c5b
Improve redacted body look
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-13 10:36:44 +02:00
Šimon Brandner bc7a8f8406
Handle redaction
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-13 10:12:24 +02:00
Šimon Brandner 9455a6d772
Import replaceableComponent
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-13 09:40:29 +02:00
Šimon Brandner 069180b16d
Remove contructor
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-13 09:31:28 +02:00
Šimon Brandner c44de3bea8
Enums
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-13 09:30:52 +02:00
Šimon Brandner b1fb089816
More compact classNames
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-13 09:27:22 +02:00
Šimon Brandner 0bf595d8d4
Enums
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-13 09:26:27 +02:00