Kerry
9379be0189
add feature_location_share_live labs flag ( #7997 )
...
Signed-off-by: Kerry Archibald <kerrya@element.io >
2022-03-07 13:49:32 +01:00
Kerry
31702e9a26
add feature_location_share_live doc ( #21339 )
...
Signed-off-by: Kerry Archibald <kerrya@element.io >
2022-03-07 13:49:24 +01:00
Robin
319ed3a776
Fix missing summary text for pinned message changes ( #7989 )
...
Signed-off-by: Robin Townsend <robin@robin.town >
2022-03-04 18:35:28 -05:00
Robin
77ed1e3ef8
More pinned messages tests ( #7988 )
...
* Test basic pinned message functionality
Signed-off-by: Robin Townsend <robin@robin.town >
* Test pinned polls
Signed-off-by: Robin Townsend <robin@robin.town >
* Fix test
Signed-off-by: Robin Townsend <robin@robin.town >
2022-03-04 18:15:03 -05:00
Travis Ralston
b981a96b29
Add unexposed account setting for hiding poll creation ( #7972 )
...
* Add unexposed account setting for hiding poll creation
This is to match the sticker picker setting we already have, but not exposed in the user settings until we decide if we actually want it to be there.
This is primarily intended to be used in environments that disable it at the config level, though given there's multiple people in the wild who have asked for this, it seems reasonable to expose it as a hidden setting instead. Note that as of writing it's not clear if any of those requests made it as far as an issue tracker.
Typically for the usecase presented we'd add a new UIFeature flag, however this *feels* wrong for the case at hand.
* Move visibility check way higher
* Fix i18n post-merge
2022-03-04 18:04:30 +00:00
Michael Telatynski
aa48cfd0a0
Pass room to getRoomTombstone to avoid racing with setState ( #7986 )
2022-03-04 17:12:20 +00:00
Germain
6174b13142
Add thread root to timelime when starting a new thread ( #7983 )
2022-03-04 15:56:28 +00:00
Michael Telatynski
0e60ad98c1
Hide composer and call buttons when the room is tombstoned ( #7975 )
2022-03-04 15:53:22 +00:00
Kerry
f975d85806
fix prefetch ( #21320 )
...
Signed-off-by: Kerry Archibald <kerrya@element.io >
2022-03-04 16:48:54 +01:00
Šimon Brandner
675b4271e9
Rename MessageComposerInput.insertTrailingComma to MessageComposerInput.insertTrailingColon ( #7981 )
2022-03-04 15:13:50 +00:00
Robin
3099a75a5d
Allow pinning polls ( #7922 )
...
* Allow pinning polls
Signed-off-by: Robin Townsend <robin@robin.town >
* Show responses to pinned polls
Signed-off-by: Robin Townsend <robin@robin.town >
* Use enums more
Signed-off-by: Robin Townsend <robin@robin.town >
2022-03-04 09:26:13 -05:00
Robin
8ec86eb7d5
Remove Lojban translation ( #21302 )
...
Signed-off-by: Robin Townsend <robin@robin.town >
2022-03-04 14:17:19 +00:00
Michael Telatynski
881307e97c
Fix bad ternary statement in autocomplete user pill insertions ( #7977 )
2022-03-04 14:01:07 +00:00
Kerry
30339bd9a3
fix webpack handling for svg imports ( #21311 )
2022-03-04 13:57:26 +01:00
Šimon Brandner
a58b1e9d79
Document keyboard shortcuts ( #7908 )
2022-03-04 12:14:52 +00:00
Germain
84bd136657
Fix destructuring when threads has no server support ( #7976 )
2022-03-04 11:10:45 +00:00
Michael Telatynski
86329012f3
Fix location map attribution rendering over message action bar ( #7974 )
2022-03-04 09:41:18 +00:00
Michael Telatynski
15cbc6c26c
Fix wrongly asserting that PushRule::conditions is non-null ( #7973 )
2022-03-04 09:39:16 +00:00
daniellekirkwood
3f2ad33b2b
Add FTUE and WTF label automations ( #21179 )
2022-03-04 09:22:30 +00:00
Suguru Hirahara
b80ea34805
Fix a paragraph in const EmptyThread ( #7964 )
2022-03-04 08:27:23 +00:00
eleensmathew
43a55698e3
Added Threaded Messaging ( #21303 )
2022-03-04 08:26:58 +00:00
Šimon Brandner
4c05b7da1f
Make trailing : into a setting ( #6711 )
...
* Make trailing `:` into a setting
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com >
* Make traling comma opt-out
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com >
* Write `insertTrailingComma` when reading for future opt-in setting
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com >
* Update src/editor/parts.ts
* Fix line length
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com >
Co-authored-by: Travis Ralston <travpc@gmail.com >
2022-03-04 00:23:26 -07:00
Michael Telatynski
afbe3d16b4
Fix account & room settings race condition ( #7953 )
2022-03-03 22:09:06 +00:00
Michael Telatynski
b8f37a46f0
Fix bug with some space selections not being applied ( #7971 )
2022-03-03 21:42:18 +00:00
Kerry
d98a73b003
Revert "replace all require(.svg) with esm import" ( #7969 )
...
* Revert "replace all require(svgs) with esm import (#7948 )"
This reverts commit 61cd463a3b .
* add .default to svg icon inline requires
Signed-off-by: Kerry Archibald <kerrya@element.io >
* add shameful eslint ignore
Signed-off-by: Kerry Archibald <kerrya@element.io >
* format eslintrc
Signed-off-by: Kerry Archibald <kerrya@element.io >
* add missed MFileBody change
Signed-off-by: Kerry Archibald <kerrya@element.io >
* one more broken svg
Signed-off-by: Kerry Archibald <kerrya@element.io >
* and ignore it
Signed-off-by: Kerry Archibald <kerrya@element.io >
2022-03-03 17:51:38 +00:00
Robin
8a7ffb4f90
Test that pinned messages reflect edits correctly ( #7960 )
...
* Hide unpinnable pinned messages in more cases
Signed-off-by: Robin Townsend <robin@robin.town >
* Fix typo
Signed-off-by: Robin Townsend <robin@robin.town >
* Test that unpinnable pinned messages get hidden
Signed-off-by: Robin Townsend <robin@robin.town >
* Fix cli.relations error in test
Signed-off-by: Robin Townsend <robin@robin.town >
* Use event: true shortcut when calling mkEvent
Signed-off-by: Robin Townsend <robin@robin.town >
* Use mockResolvedValue instead of mockReturnValue for async mock
Signed-off-by: Robin Townsend <robin@robin.town >
* Actually mock redacted messages correctly
Signed-off-by: Robin Townsend <robin@robin.town >
* Ensure that panel is updated before assertions are made
Signed-off-by: Robin Townsend <robin@robin.town >
* Test that pinned messages reflect edits correctly
Signed-off-by: Robin Townsend <robin@robin.town >
* Fix warning about missing date
Signed-off-by: Robin Townsend <robin@robin.town >
* Move calls to update out of act
They don't need to be there.
Signed-off-by: Robin Townsend <robin@robin.town >
* Move calls to update out of act
They don't need to be there.
Signed-off-by: Robin Townsend <robin@robin.town >
* Fix lint
Signed-off-by: Robin Townsend <robin@robin.town >
2022-03-03 12:20:13 -05:00
Kerry
b80a2cbd18
add svg mock to jest config ( #21296 )
...
* add svg mock to jest config
Signed-off-by: Kerry Archibald <kerrya@element.io >
* fix svg mock better
Signed-off-by: Kerry Archibald <kerrya@element.io >
2022-03-03 16:43:21 +00:00
Germain
c42ef0de2a
Remove e2e padlock on threads list ( #7970 )
2022-03-03 16:28:42 +00:00
James Salter
6be61c4693
Add an e2e test to check the app reloads when a new version is available ( #7956 )
...
this includes an update to the puppeteer version to support request.isInterceptResolutionHandled
2022-03-03 15:44:34 +00:00
Germain
acd12c38a9
Fix threads timeline message ordering ( #7968 )
2022-03-03 15:22:16 +00:00
Travis Ralston
75abf03fed
Improve end-to-end test logging by rendering JSHandles ( #7959 )
...
Fixes https://github.com/vector-im/element-web/issues/13276
It's still not super pretty, but it works.
2022-03-03 07:59:29 -07:00
James Salter
9223d93450
Check for update on load and refresh if available ( #21272 )
...
* Reload the page if we're stale on load
* Set updated=1
2022-03-03 14:36:12 +00:00
Robin
f9ad2a5151
Hide unpinnable pinned messages in more cases ( #7921 )
...
* Hide unpinnable pinned messages in more cases
Signed-off-by: Robin Townsend <robin@robin.town >
* Fix typo
Signed-off-by: Robin Townsend <robin@robin.town >
* Test that unpinnable pinned messages get hidden
Signed-off-by: Robin Townsend <robin@robin.town >
* Fix cli.relations error in test
Signed-off-by: Robin Townsend <robin@robin.town >
* Use event: true shortcut when calling mkEvent
Signed-off-by: Robin Townsend <robin@robin.town >
* Use mockResolvedValue instead of mockReturnValue for async mock
Signed-off-by: Robin Townsend <robin@robin.town >
* Actually mock redacted messages correctly
Signed-off-by: Robin Townsend <robin@robin.town >
* Ensure that panel is updated before assertions are made
Signed-off-by: Robin Townsend <robin@robin.town >
* Move calls to update out of act
They don't need to be there.
Signed-off-by: Robin Townsend <robin@robin.town >
2022-03-03 07:54:44 -05:00
Robin
d883309dcd
Avoid using .render() in forward dialog test ( #7961 )
...
Signed-off-by: Robin Townsend <robin@robin.town >
2022-03-03 07:54:20 -05:00
Šimon Brandner
491999281f
Add allowOverridingNativeContextMenus() ( #17777 )
2022-03-03 10:39:42 +00:00
Kerry
ebc2267e52
Location sharing > back button ( #7958 )
...
* add back/cancel buttons to share dialog
Signed-off-by: Kerry Archibald <kerrya@element.io >
* test buttons
Signed-off-by: Kerry Archibald <kerrya@element.io >
* improve weird indentation
Signed-off-by: Kerry Archibald <kerrya@element.io >
* relint
Signed-off-by: Kerry Archibald <kerrya@element.io >
* PR tweaks
Signed-off-by: Kerry Archibald <kerrya@element.io >
* quotes
Signed-off-by: Kerry Archibald <kerrya@element.io >
2022-03-03 11:30:46 +01:00
Kerry
7aefa34420
use LocationAssetType ( #7965 )
...
* use LocationAssetType
Signed-off-by: Kerry Archibald <kerrya@element.io >
* center icon better
Signed-off-by: Kerry Archibald <kerrya@element.io >
* remove debug
Signed-off-by: Kerry Archibald <kerrya@element.io >
* retrigger all builds
Signed-off-by: Kerry Archibald <kerrya@element.io >
2022-03-03 10:04:38 +00:00
Eric Eastwood
3572b36648
Fix room list being laggy while scrolling 🐌 ( #7939 )
...
Fix https://github.com/vector-im/element-web/issues/21262
Optimizations:
1. Don't update the `style` (positioning) of hidden tooltips
1. Don't add DOM elements to the page for hidden tooltips
> ## Performance problems broken down
>
>
> ### Hidden tooltips rendering on `scroll`
>
> You can see that the Tooltip render is attached to the `scroll` event at [`src/components/views/elements/Tooltip.tsx#L78-L81`](https://github.com/matrix-org/matrix-react-sdk/blob/31f0a37ca2eeba6a6296787f2fcb33c4b26efebc/src/components/views/elements/Tooltip.tsx#L78-L81 )
>
> The rendering calls [`src/components/views/elements/Tooltip.tsx#L101` -> `updatePosition`](https://github.com/matrix-org/matrix-react-sdk/blob/36adba101caf58afd280e6eedad003b38165be4f/src/components/views/elements/Tooltip.tsx#L101 ) which ends up as an expensive "Recalculate Style" because it uses [`Element.getBoundingClientRect()`](https://developer.mozilla.org/en-US/docs/Web/API/Element/getBoundingClientRect ). This happens many many times within a single `scroll` event. Probably once for each tooltip within the room list **even though no tooltips are event visible as I scroll**. I can see that we're just updating the `style` attribute for a bunch of `.mx_Tooltip_invisible` elements at the end of the document.
>
> Each one of the purple spans below the `scroll` span ends up as a call to `updatePosition`. And a `scroll` event takes 35ms to 60ms to complete which is way over the 16.6ms 60 FPS budget (on a powerful desktop PC), granted these times are with the performance profiling running. This is without the Passbolt extension explained below.
>
> And the room list contains about 141 rooms (`document.querySelectorAll('.mx_RoomTile').length`):
>
> 
>
>
>
> ### Passbolt Chrome browser extension exacerbates the problem
>
> In order to login to Passbolt, it requires a browser extension which defaults to mucking up all pages:
>
> <img src="https://user-images.githubusercontent.com/558581/156275644-bc26b1f5-5d99-4eae-b74b-c2028f2f1baf.png " width="300">
>
>
> The extension source seems to be available: https://github.com/passbolt/passbolt_browser_extension
>
> The Passbolt Chrome extension has a `MutationObserver` listening to all attribute and element changes to the whole `<body>` of the `document` so it can `findAndSetAuthenticationFields` (find form elements and autofill).
>
>
> [`passbolt/passbolt_styleguide` -> `src/react-web-integration/lib/InForm/InFormManager.js#L143`](https://github.com/passbolt/passbolt_styleguide/blob/1c5eddc9102c7cd1029d10dc6836af4722cdba61/src/react-web-integration/lib/InForm/InFormManager.js#L143 )
> ```js
> this.mutationObserver.observe(document.body, { attributes: true, childList: true, subtree: true });
> ```
>
> This causes a bunch of `Forced reflow` because the Tooltip `updatePosition` is mutating the element `style` attribute and Passbolt `MutationObserver` callbacks are querying the whole DOM looking for form elements all in the same frame.
>
> Under the `scroll` event, all of the little spans are the `MutationObserver` -> `findAndSetAuthenticationFields`. With the Passbolt extension, scrolling is verrrrry crunchy and bad.
>
> 
>
>
> #### Workaround
>
> Instead of running Passbolt on all sites, we can enable the extension to only run on the domain for Passbolt instance itself. I'm guessing the Passbolt extension also does autofill stuff on sites but I always login manually to the Passbolt instance so this solution works for me �
>
> **Extensions** -> **Passbolt** -> **Details** -> Change **Site access** to `On specific sites` -> Enter in your Passbolt instance `https://passbolt.example.com/ `
>
> 
>
> *-- https://github.com/vector-im/element-web/issues/21262 *
2022-03-02 13:20:01 -06:00
Michael Telatynski
6721a7162f
Install types for ua-parser-js ( #21277 )
2022-03-02 17:52:09 +00:00
Travis Ralston
f882466329
Add a few more UIComponent flags, and ensure they are used in existing code ( #7937 )
...
* UIComponent flag: Explore rooms
To disable the room directory access on the Home space. Can be controlled with the existing ComponentVisibilityCustomisation
* Make "plus menu" respect component visibility
* UIComponent flag: Add integrations
To disable the widgets section of the room info card and addwidget slashcommand. Can be controlled with the existing ComponentVisibilityCustomisation
* Make sure invite users component applies to space rooms too
* Appease the linter
2022-03-02 10:37:18 -07:00
Kerry
d304e24a45
Revert "remove code related to encrypted file download button in iframe" ( #7957 )
...
* Revert "remove code related to encrypted file download button in iframe (#7940 )"
This reverts commit 26216ec527 .
* udpate icon import in MFileBody
Signed-off-by: Kerry Archibald <kerrya@element.io >
2022-03-02 18:27:36 +01:00
Robin
8f68a43ee3
Make pinned messages more reliably reflect edits ( #7920 )
...
* Inject edits from /relations API into pinned messages
Signed-off-by: Robin Townsend <robin@robin.town >
* Limit returned relations, because we only need one
Signed-off-by: Robin Townsend <robin@robin.town >
* Fetch pinned message edits in parallel
Signed-off-by: Robin Townsend <robin@robin.town >
2022-03-02 12:21:23 -05:00
Robin
aadb64615f
Fix duplicate EventListSummarys ( #7952 )
...
* Fix duplicate EventListSummarys
Signed-off-by: Robin Townsend <robin@robin.town >
* Add regression test
Signed-off-by: Robin Townsend <robin@robin.town >
2022-03-02 11:46:51 -05:00
Michael Telatynski
560f8f7ee7
Improve accessibility of the BetaPill ( #7949 )
2022-03-02 16:31:47 +00:00
Michael Telatynski
c727942095
Autofocus correct composer after sending reaction ( #7950 )
2022-03-02 16:31:34 +00:00
Kerry
61cd463a3b
replace all require(svgs) with esm import ( #7948 )
...
Signed-off-by: Kerry Archibald <kerrya@element.io >
2022-03-02 17:14:33 +01:00
Suguru Hirahara
522ad1aafb
Make "Match system" on QuickThemeSwitcher.tsx translatable ( #7951 )
2022-03-02 16:10:14 +00:00
David Baker
b789d252b9
Add logging to diagnose non-disappearing toasts ( #7947 )
...
For https://github.com/vector-im/element-web/issues/17667
2022-03-02 14:30:04 +00:00
Michael Telatynski
a39473810a
Fix react warnings ( #7946 )
2022-03-02 14:29:45 +00:00
Michael Telatynski
3c858a723b
Fix sending locations into threads and fix i18n ( #7943 )
2022-03-02 14:27:16 +00:00