Commit graph

90 commits

Author SHA1 Message Date
Michael Telatynski
15ed660975
Improve bundle size, dynamic imports & remove parse5 (#10865)
* Remove unused import

* Lazy load tar-js and pako for rageshakes

* Update cheerio imports

* Replace parse5 with DOMParser

* Remove stale comment
2023-05-12 11:13:08 +00:00
Michael Telatynski
961b843662
Merge pull request from GHSA-xv83-x443-7rmw
* Escape HTML for plaintext search results

* Add tests
2023-04-25 09:30:32 +01:00
Michael Telatynski
a47b3eb0ee
Apply strictNullChecks to src/components/views/elements/* (#10462
* Apply `strictNullChecks` to `src/components/views/elements/*`

* Iterate

* Iterate

* Iterate

* Apply `strictNullChecks` to `src/components/views/elements/*`

* Iterate

* Iterate

* Iterate

* Update snapshot
2023-03-29 08:23:54 +01: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
61a63e47f4
Comply with noImplicitAny (#9940)
* Stash noImplicitAny work

* Stash

* Fix imports

* Iterate

* Fix tests

* Delint

* Fix tests
2023-02-13 11:39:16 +00:00
Michael Telatynski
2bde31dcff
Switch to linkify-react for element Linkification as it handles React subtrees without exploding (#10060
* Switch to linkify-react instead of our faulty implementation

Fixes a series of soft crashes where errors include "The node to be removed is not a child of this node."

* Improve types

* Fix types

* Update snapshots

* Add test

* Fix test
2023-02-03 08:59:21 +00:00
grimhilt
5a08859e37
fix regional emojis converted to flags (#9294)
Co-authored-by: grimhilt <grimhilt@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
Co-authored-by: Faye Duxovni <duxovni@duxovni.org>
Co-authored-by: Faye Duxovni <fayed@element.io>
Fixes https://github.com/vector-im/element-web/issues/19000
2023-01-31 13:08:35 +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
renovate[bot]
c8877727a5
Update dependency html-entities to v2 (#9697)
* Update dependency html-entities to v2

* Update dependency html-entities to v2

* Update imports

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-12-02 11:10:54 +00:00
Michael Telatynski
3747464b41
Make SonarCloud happier (#9545)
* Make SonarCloud happier

* i18n

* Iterate

* Update AddExistingToSpaceDialog.tsx

* Update SlashCommands.tsx
2022-11-07 13:45:34 +00:00
Michael Telatynski
27a7263965
Attempt to fix Failed to execute 'removeChild' on 'Node' (#9196)
* Switch tooltips to use React Portals

* Remove redundant React key to simplify reconciliation

* Fix cleanup and it.each test

* Update snapshots due to style order difference
2022-08-17 13:35:33 +00:00
Michael Telatynski
e864dbfacf
Fix highlights not being applied to plaintext messages (#9126)
* Fix highlights not being applied to plaintext messages

* Add percy test for search result highlighting

* Fix percy target

* Update timeline.spec.ts
2022-08-05 07:08:56 +00:00
Michael Telatynski
e576347b62
Fix pinned messages not re-linkifying on edit (#9042)
* Fix pinned messages not re-linkifying on edit

* Fix tests
2022-07-12 07:27:45 +01:00
Šimon Brandner
19e514d83c
Remove dead code (#9035) 2022-07-11 07:52:44 +02:00
Johannes Marbach
abd39c61b1
Add support for MD / HTML in room topics (#8215)
* Add support for MD / HTML in room topics

Setting MD / HTML supported:
- /topic command
- Room settings overlay
- Space settings overlay

Display of MD / HTML supported:
- /topic command
- Room header
- Space home

Based on extensible events as defined in [MSC1767]

Fixes: vector-im/element-web#5180
Signed-off-by: Johannes Marbach <johannesm@element.io>

[MSC1767]: matrix-org/matrix-spec-proposals#1767

* Fix build error

* Add comment to explain origin of styles

Co-authored-by: Travis Ralston <travpc@gmail.com>

* Empty commit to retrigger build

* Fix import grouping

* Fix useTopic test

* Add tests for HtmlUtils

* Add slash command test

* Add further serialize test

* Fix ternary formatting

Co-authored-by: Travis Ralston <travpc@gmail.com>

* Add blank line

Co-authored-by: Travis Ralston <travpc@gmail.com>

* Properly mock SettingsStore access

* Remove trailing space

* Assert on HTML content and add test for plain text in HTML parameter

* Appease the linter

* Fix JSDoc comment

* Fix toEqual call formatting

* Repurpose test for literal HTML case

* Empty commit to fix CI

Co-authored-by: Travis Ralston <travpc@gmail.com>
Co-authored-by: Travis Ralston <travisr@matrix.org>
2022-06-07 14:20:32 -06:00
Travis Ralston
548290b006
Run a minor code quality checker over the repo (#8524)
* Run a minor code quality checker over the repo

Largely targeted at spelling of common words and misc code issues.

* Update snapshots
2022-05-09 22:52:05 +00:00
Michael Telatynski
964c60d086
Apply corrections identified by SonarQube (#8457) 2022-05-03 22:04:37 +01:00
Michael Telatynski
74cab0323f
Upgrade dependencies (#8362)
* Upgrade dependencies

* delint
2022-04-21 08:08:03 +01:00
Michael Telatynski
eb668538aa
Fix issue with falsey hrefs being sent in events (#8113) 2022-03-23 13:38:57 +00:00
Michael Telatynski
8fccef86d8
Wire up drag-drop file uploads for the thread view (#7860) 2022-02-22 11:14:56 +00:00
Robin
bfab09e977
Use a more correct test for emoji (#7685) 2022-02-01 09:45:22 +00:00
J. Ryan Stinnett
fad65f9582
Add body link fallback handler for in-app navigation (#7627) 2022-01-25 14:31:00 +00:00
Robin
6806c2cdca
Enlarge emoji in composer (#7602) 2022-01-24 12:53:05 +00:00
Robin
c7449caacc
Fix excessive padding on inline images (#7605) 2022-01-24 12:21:21 +00:00
Robin
af8b3c2714
Add tooltips to emoji in messages (#7592) 2022-01-21 10:10:57 +00:00
rkfg
98e1c311c4
Make inline emojis bigger (#5401) 2022-01-20 16:33:41 -07:00
Travis Ralston
6712a5b1c5
Parse matrix-schemed URIs (#7453)
Co-authored-by: J. Ryan Stinnett <jryans@gmail.com>
Co-authored-by: Dariusz Niemczyk <dariuszn@element.io>
Co-authored-by: Timo K <toger5@hotmail.de>

With this pr all href use matrix matrix.to links. As a consequence right-click copy link will always return get you a sharable matrix.to link.
2022-01-20 18:18:47 +01:00
Michael Telatynski
3c1ce77d48
Properly maintain aspect ratio of inline images (#7503) 2022-01-10 15:32:06 +00:00
Aaron Raimist
2e8a93834b Auto fix
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2021-12-09 09:10:23 +00:00
Dariusz Niemczyk
961fec9081
Refactor matrix-linkify module (#7279)
Refactor the module to make it easier for upgrade and proper separation of code contexts
2021-12-03 14:00:56 +00:00
Renan Cleyson
0afe141266
Fix textual message stripping new line (#7239) 2021-12-02 09:25:12 +00:00
Germain Souquet
5a7c0d87b6 Rename ReplyThread to ReplyChain to avoid confusion with m.thread 2021-10-15 17:42:44 +01:00
Šimon Brandner
7cb21c845f
Fix indent
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-08-04 10:34:48 +02:00
Aaron Raimist
6c0e0dc64b
Allow all of the URL schemes that Firefox allows
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2021-07-22 21:45:23 -05:00
Travis Ralston
05353d0fe5
Merge pull request #6388 from aaronraimist/matrix-url-permitted
Add matrix: to the list of permitted URL schemes
2021-07-21 20:38:45 -06:00
Robin Townsend
1d1d93ed14 Apply code review suggestion
Signed-off-by: Robin Townsend <robin@robin.town>
2021-07-21 03:17:55 -04:00
Robin Townsend
aefdac1115 Fix error when hovering over non-emoji reactions
Signed-off-by: Robin Townsend <robin@robin.town>
2021-07-20 22:41:49 -04:00
Michael Telatynski
d8c4ab53e0
Merge pull request #6347 from robintown/emojibase-updates 2021-07-20 12:57:00 +01:00
Robin Townsend
f88d5dd24e Zip shortcodes in with emoji objects
Signed-off-by: Robin Townsend <robin@robin.town>
2021-07-16 16:36:03 -04:00
Robin Townsend
8efb30eb07 Merge branch 'develop' into emojibase-updates 2021-07-16 14:38:10 -04:00
Michael Telatynski
3b13eb7b44 Prefer URL constructor over url dependency 2021-07-16 13:18:12 +01:00
Aaron Raimist
8f6458a79c
Add matrix: to the list of permitted URL schemes
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2021-07-16 01:43:07 -05:00
Robin Townsend
718887dd27 Update Emojibase and switch to IamCal (Slack-style) shortcodes
for consistency with shortcodes commonly used by other platforms, as
was decided in https://github.com/vector-im/element-web/issues/13857.

One thing to be aware of is that the currently used version of Twemoji
does not support a few of the newer emoji present in Emojibase, so these
look a little out of place in the emoji picker. Optimally Twemoji would
be updated at the same time, though I don't know how to do that.

Signed-off-by: Robin Townsend <robin@robin.town>
2021-07-10 23:13:48 -04:00
Michael Telatynski
94a7812039 Extract MXCs from _matrix/media/r0/ URLs for inline images in messages 2021-07-08 14:22:38 +01:00
Michael Telatynski
04902fa2e4
Merge pull request #6292 from matrix-org/t3chguy/ts/9 2021-07-01 14:11:17 +01:00
Germain Souquet
9c93b9002f Add extra context for filtering out '>' for sanitizeHtml 2021-07-01 12:23:36 +01:00
Germain Souquet
04db8333e3 Fix typing and unused import 2021-07-01 12:13:43 +01:00
Germain Souquet
6f62233634 Prevent browser to crash when unclosed HTML tag is sent to sanitizeHtml 2021-07-01 11:18:07 +01:00