* remove old pre-join UTD logic
and add a playwright test for new pre-join UTD
* remove variable that isn't used any more
* add missing synapse template
* remove unused variable (again) and run prettier
* add test that we can jump to an event before our latest join membership event
* modify default template instead of creating a new template
* Convert tabbedview to functional component
The 'Tab' is still a class, so now it's a functional component that
has a supporting class, which is maybe a bit... jarring, but I think
is actually perfectly logical.
* put comment back
* Fix bad tab ID behaviour
* Make TabbedView a controlled component
This does mean the logic of keeping what tab is active is now in each
container component, but for a functional component, this is a single
line. It makes TabbedView simpler and the container components always
know exactly what tab is being displayed rather than having to effectively
keep the state separately themselves if they wanted it.
Based on https://github.com/matrix-org/matrix-react-sdk/pull/12478
* Fix some types & unused prop
* Remove weird behaviour of using first tab is active isn't valid
* Don't pass initialTabID here now it no longer has the prop
* Fix test
* bleh... id, not icon
* Change to sub-components
and use contitional call syntax
* Comments
* Fix element IDs
* Fix merge
* Test DesktopCapturerSourcePicker
to make sonarcloud the right colour
* Use custom hook for the fllback tab behaviour
* Convert tabbedview to functional component
The 'Tab' is still a class, so now it's a functional component that
has a supporting class, which is maybe a bit... jarring, but I think
is actually perfectly logical.
* put comment back
* Fix bad tab ID behaviour
* Change to sub-components
and use contitional call syntax
* Comments
* Fix element IDs
* `DecryptionFailureTracker`: stronger typing
Use `DecryptionFailureCode` rather than string
* `DecryptionFailureTracker`: remove use of `DecryptionError`
The second argument to `MatrixEventEvent.Decrypted` callbacks is deprecatedf,
and we can get the info we need direct from the event. This means that we no
longer need to reference the internal `DecryptionError` class in the js-sdk.
* `DecryptionFailureTracker`: use a different Posthog code for historical UTDs
* Update for new UTD error codes
* Changed call sites from customisations/security to ModuleRunner.extensions
* Updated depenndecy and added tests
* Fixed style and formatting with prettier
* Fix according to Element PR comments
* Fixing issues raised in PR review
* Removed commented code. Improved encapsulation. Removed noisy logging
* Improved language of comment about calling the factory
* Refactor to get better encapsulation
* Find a better name. Provide explicit reset function. Provide more TSDoc
* Simplify mock for cryptoSetup, and add assertion for exception message.
* Remove unused className property. Adjust TSDoc comments
* Fix linting and code style issues
* Added test to ensure we canregister anduse experimental extensions
* Fix linting and code-style issues
* Added test to ensure only on registration of experimental extensions
* Added test toensure call to getDehydratedDeviceCallback()
* Test what happens when there is no implementation
* Iterating cryptoSetup tests
* Lint/prettier fix
* Assert both branches when checking for dehydrationkey callback
* Update src/modules/ModuleRunner.ts
Language and formatting
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* Update src/modules/ModuleRunner.ts
Reset by setting a fresh ExtensionsManager
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* Update src/modules/ModuleRunner.ts
Use regular comment instead of TSDoc style comment
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* Update test/MatrixClientPeg-test.ts
No need to extend the base class
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* Update src/modules/ModuleRunner.ts
Fix spelling
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* Update src/modules/ModuleRunner.ts
Fix spelling
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* Update src/modules/ModuleRunner.ts
Fix TSDoc formatting
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* Simplify mock setup
* Simplified mock and cleaned up a bit
* Keeping track of extensions is an implementation detail internal to ExtensionsManager. Language and punctuation
* Addressed issues and comments from PR review
* Update src/modules/ModuleRunner.ts
Keep the flags to track implementations as direct properties
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* Fix flattening of implementation map
* Update src/modules/ModuleRunner.ts
Fix whitespace
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
---------
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* Focus the thread panel when clicking on an item in the TAC
actually the 'close' button in the threads panel as it's the only
interactive element: we can improve this later when we use landmarks
& generally have better a11y.
* Undo minor refactoring
as none of it is test3ed, it's not worth it.
* add unit test
* Add matrixchat tests
* Needs awaits
* ts-ignore
* Fix test (I think...)
* Remove unnecessary value set
* Not how assignments work
* WIP
* Store the release announcements in the account settings
* Update TAC release announcement description
* Fix settings content comparison
* Add logging in case of failure
* Watch settings changes
* I add release announcement settings to disable it
* Disable release announcement in e2e test
* Add release announcement in e2e test
* Add tests for ReleaseAnnouncementStore.ts
* Update compound-web to `3.3.0`
* Update TAC tests
* Update Labs tests
* Nits
* Add test for ReleaseAnnouncement.tsx
* Update `@vector-im/compound-web`
* Add playwright snapshot
* Delete false playwright screenshot
* Wait for EW to be displayed after reload
* Add screenshot
* Clean util file
* Renaming and comments fixing
* Use second store instead of looking in the store.
---------
Co-authored-by: R Midhun Suresh <hi@midhun.dev>
* Mark all threads as read button
* Wrap in TooltipProvider and update snapshots
* Remove TooltipProvider wrapper: just add it to the test
* Add some more tests
* Add test for no-room-context handler because sonarcloud
* Add playwright test
* Make assertNoTacIndicator wait
* Use dedicated useMatrixClientContext function
Co-authored-by: Florian Duros <florianduros@element.io>
* Use dedicated useRoomContext function
Co-authored-by: Florian Duros <florianduros@element.io>
* Compound spacing variables
Co-authored-by: Florian Duros <florianduros@element.io>
* Compound spacing variables
Co-authored-by: Florian Duros <florianduros@element.io>
* Imports
* Use createTestClient()
* Add function to utils
* Use mkRoom
---------
Co-authored-by: Florian Duros <florianduros@element.io>
* Fix references to `crypto-api/verification`
This is supposed to be an internal module; use the front door instead.
* `IRecoveryKey` -> `GeneratedSecretStorageKey`
`IRecoveryKey` is just a backwards-compatibility alias for
`GeneratedSecretStorageKey`
* `ISecretStorageKeyInfo` -> `SecretStorage.SecretStorageKeyDescription`
Again, same thing
* `IPassphraseInfo` -> `SecretStorage.PassphraseInfo`
* Remove unused import restriction exceptions
* Use `strong` element to semantically denote visually emphasised content
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update snapshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add comment
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* New room header
- add chat button during call
- close lobby button in lobby
- join button if session exists
- allow to toggle call <-> timeline during call with call button
Compound style for join button in call notify toast.
Signed-off-by: Timo K <toger5@hotmail.de>
* dont show start call, join button in video rooms.
Signed-off-by: Timo K <toger5@hotmail.de>
* Make active call check based on participant count
Not based on available call object
Signed-off-by: Timo K <toger5@hotmail.de>
* fix room header tests
Signed-off-by: Timo K <toger5@hotmail.de>
* fix room header tests
Signed-off-by: Timo K <toger5@hotmail.de>
* remove chat button test for displaying.
Chat button display logic is now part of the RoomHeader.
Signed-off-by: Timo K <toger5@hotmail.de>
* remove duplicate notification Tread icon
Signed-off-by: Timo K <toger5@hotmail.de>
* remove obsolete jest snapshot
Signed-off-by: Timo K <toger5@hotmail.de>
* Update src/components/views/rooms/RoomHeader.tsx
Co-authored-by: Robin <robin@robin.town>
* update isECWidget logic
Signed-off-by: Timo K <toger5@hotmail.de>
* remove dead code
Signed-off-by: Timo K <toger5@hotmail.de>
* refactor call options
Add menu to choose if there are multiple options
Signed-off-by: Timo K <toger5@hotmail.de>
* join ec when clicking join button (dont start jitsi)
Use icon buttons
don't show call icon when join button is visible
Signed-off-by: Timo K <toger5@hotmail.de>
* refactor isViewingCall
Signed-off-by: Timo K <toger5@hotmail.de>
* fix room header tests
Signed-off-by: Timo K <toger5@hotmail.de>
* fix header snapshot
Signed-off-by: Timo K <toger5@hotmail.de>
* sonar proposals
Signed-off-by: Timo K <toger5@hotmail.de>
* fix event shiftKey may be undefined
Signed-off-by: Timo K <toger5@hotmail.de>
* more lobby time before timeout
only await sticky promise on becoming sticky.
Signed-off-by: Timo K <toger5@hotmail.de>
* don't allow starting new calls if there is an ongoing other call.
Signed-off-by: Timo K <toger5@hotmail.de>
* review
Signed-off-by: Timo K <toger5@hotmail.de>
* fix translation typo
Signed-off-by: Timo K <toger5@hotmail.de>
---------
Signed-off-by: Timo K <toger5@hotmail.de>
Co-authored-by: Robin <robin@robin.town>
* Refactor ElementCall to use the widget lobby.
- expose skip lobby
- use the widget.data to build the widget url
Signed-off-by: Timo K <toger5@hotmail.de>
* Use shiftKey click to skip the lobby
Signed-off-by: Timo K <toger5@hotmail.de>
* remove Lobby component
Signed-off-by: Timo K <toger5@hotmail.de>
* update tests + remove EW lobby related tests
Signed-off-by: Timo K <toger5@hotmail.de>
* remove lobby device button tests
Signed-off-by: Timo K <toger5@hotmail.de>
* i18n
Signed-off-by: Timo K <toger5@hotmail.de>
* use voip participant label
Signed-off-by: Timo K <toger5@hotmail.de>
* update tests
Signed-off-by: Timo K <toger5@hotmail.de>
* fix rounded corners in pip
Signed-off-by: Timo K <toger5@hotmail.de>
* allow joining call in legacy room header (without banner)
Signed-off-by: Timo K <toger5@hotmail.de>
* Introduce new connection states for calls.
And use them for integrated lobby.
Signed-off-by: Timo K <toger5@hotmail.de>
* New room header call join
Fix broken top container element call.
Signed-off-by: Timo K <toger5@hotmail.de>
* i18n
Signed-off-by: Timo K <toger5@hotmail.de>
* Fix closing element call in lobby view.
(should destroy call if there the user never managed to connect (not clicked join in lobby)
Signed-off-by: Timo K <toger5@hotmail.de>
* all cases for connection state
Signed-off-by: Timo K <toger5@hotmail.de>
* add correct LiveContentSummary labels
Signed-off-by: Timo K <toger5@hotmail.de>
* Theme widget loading (no rounded corner)
destroy call when switching room while a call is loading.
Signed-off-by: Timo K <toger5@hotmail.de>
* temp
Signed-off-by: Timo K <toger5@hotmail.de>
* usei view room dispatcher instead of emitter
Signed-off-by: Timo K <toger5@hotmail.de>
* tidy up
Signed-off-by: Timo K <toger5@hotmail.de>
* returnToLobby + remove StartCallView
Signed-off-by: Timo K <toger5@hotmail.de>
* comment cleanup
Signed-off-by: Timo K <toger5@hotmail.de>
* disconnect ongoing calls before making widget sticky.
Signed-off-by: Timo K <toger5@hotmail.de>
* linter + jitsi as videoChannel
Signed-off-by: Timo K <toger5@hotmail.de>
* stickyPromise type
Signed-off-by: Timo K <toger5@hotmail.de>
* fix legacy call (jistsi, cisco, bbb) reopen
when clicking call button
Signed-off-by: Timo K <toger5@hotmail.de>
* fix tests and connect resolves
Signed-off-by: Timo K <toger5@hotmail.de>
* fix "waits for messaging when connecting" test
Signed-off-by: Timo K <toger5@hotmail.de>
* Allow to skip awaiting Call session events.
This option is used in tests to spare mocking the
events emitted when EC updates the room state
Signed-off-by: Timo K <toger5@hotmail.de>
* add sticky test
Signed-off-by: Timo K <toger5@hotmail.de>
* add test for looby tile rendering
Signed-off-by: Timo K <toger5@hotmail.de>
* fix flaky test
Signed-off-by: Timo K <toger5@hotmail.de>
* add reconnect after disconnect test (video room)
Signed-off-by: Timo K <toger5@hotmail.de>
* add shift click test to call toast
Signed-off-by: Timo K <toger5@hotmail.de>
* test for allowVoipWithNoMedia in widget url
Signed-off-by: Timo K <toger5@hotmail.de>
* fix e2e tests to search for the right element
Signed-off-by: Timo K <toger5@hotmail.de>
* destroy call after test so next test does not fail
Signed-off-by: Timo K <toger5@hotmail.de>
* new call test (connection failed)
Signed-off-by: Timo K <toger5@hotmail.de>
* reset to real timers
Signed-off-by: Timo K <toger5@hotmail.de>
* dont use skipSessionAwait for tests
Signed-off-by: Timo K <toger5@hotmail.de>
* code quality (sonar)
Signed-off-by: Timo K <toger5@hotmail.de>
* refactor call.disconnect tests (dont use skipSessionAwait)
Signed-off-by: Timo K <toger5@hotmail.de>
* miscellaneous cleanup
Signed-off-by: Timo K <toger5@hotmail.de>
* only send call notify after the call has been joined (not when just opening the lobby)
Signed-off-by: Timo K <toger5@hotmail.de>
* update call notify tests to expect notify on connect.
Not on widget creation.
Signed-off-by: Timo K <toger5@hotmail.de>
* Update playwright/e2e/room/room-header.spec.ts
Co-authored-by: Robin <robin@robin.town>
* Update src/components/views/voip/CallView.tsx
Co-authored-by: Robin <robin@robin.town>
* review
rename connect -> start
isVideoRoom not dependant on feature flags
rename allOtherCallsDisconnected -> disconnectAllOtherCalls
Signed-off-by: Timo K <toger5@hotmail.de>
* check for EC widget
Signed-off-by: Timo K <toger5@hotmail.de>
* dep array
Signed-off-by: Timo K <toger5@hotmail.de>
* rename in spyOn
Signed-off-by: Timo K <toger5@hotmail.de>
---------
Signed-off-by: Timo K <toger5@hotmail.de>
Co-authored-by: Robin <robin@robin.town>
* Show a progress bar during migration of crypto data
* playwright: add new `pageWithCredentials` fixture
* Add a playwright test for migration progress
* Add documentation for `idbSave`
* Don't reference the notification levels by colour
We're about to change what colours they are so either we'd have to rename
a bunch of constants. We may as well make things not reference what colour
anything is in the actual UI. Hopefully these constants are clear enough.
* Rename NotificationColor -> NotificationLevel
* Red -> Highlight
* Grey -> Notification
* Bold -> Activity
* Anywhere else that calls it 'color' -> 'level'
Also fixes some weird mixes of US & UK English.
It turns out this is referenced in... quite a lot of places, so this is
quite a large PR. It can't really be much smaller, sorry.
* One test rename & some hiding due to ts-ignore
* More hiding behind ts-ignore
* Damn you, @ts-ignore...
* Fix test CSS values
* Missed some colour -> level
Co-authored-by: Florian Duros <florianduros@element.io>
* Change other instances of variables renamed in suggestion
* Update new test for renames
---------
Co-authored-by: Florian Duros <florianduros@element.io>
* Update dependency @vector-im/compound-web to v2
* Update Tooltip props
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Include TooltipProvider in MatrixChat
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix pillify & tooltipify
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update tests to use TooltipProvider where necessary
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix tooltips in Modals, ContextMenus, PersistedElements, Spoiler, HtmlExport
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update tests
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* delint
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update tests
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix tooltips in HTMLExport
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Don't pass mountAsChild to DOM
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* prettier
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Stabilise test
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
* Switch StatelessNotificationBadge to using Compound Tooltips
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix test
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Migrate CheckEmail & VerifyEmailModal to Compound tooltips
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix test
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix CSS stacking contexts for Dialogs & PersistedElement
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Switch to PersistedElement sharing a CSS stacking context for z-index to continue functioning
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix Widget PIP overlay being under the widget and dragging being broken
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix border-radius on widget pip
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix majority of tests
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix jest retryTimes applying outside of CI
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix remaining tests
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix React unique key warnings
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix sticker picker
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* id not class
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix widget pip button colour in light theme
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix CSS stacking contexts for Dialogs & PersistedElement
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Switch to PersistedElement sharing a CSS stacking context for z-index to continue functioning
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix Widget PIP overlay being under the widget and dragging being broken
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix border-radius on widget pip
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix majority of tests
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix jest retryTimes applying outside of CI
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix remaining tests
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix React unique key warnings
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix sticker picker
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* id not class
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix widget pip button colour in light theme
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Revert unrelated change
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Factor out post-login splash screen to a new component
* Move CSS classes to per-component file
* Rename CSS classes
... to reflect the component that uses them
* code review
* Prevent Cypress typechecking react-sdk components without strict mode
This prevented us from switching to `forwardRef` in a bunch of places
due to it behaving different with & without strict mode.
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update global.d.ts
* Switch AccessibleButton and derivatives to using `forwardRef`
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add missing ref={ref}
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Ensure RefObjects are used consistently
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Re-add WysiwygAutocomplete displayname
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix forwardRef types
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add comments
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove unused export
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Readd comment
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate types & comments
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Apply suggestions from code review
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* Add comment
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Improve comment
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>