* Add test case for null identity_providers for SSO
* Fix typing for identity_providers
* Make null idp explicit and handle in analytics
* chore: whitespace fix
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
* Add an option to ignore (block) a user when reporting their events
This is primarily useful if the content being reported really doesn't belong on your screen, and the room moderators are slow to react.
Ideally we'd use the word "block" instead of "ignore", but we call it "ignore user" everywhere else. See https://github.com/vector-im/element-web/issues/19590 for further context on the word choice.
This change includes a minor refactor to the styles of labelled toggles (for reusability).
* Appease the linter
* Use a checkbox instead of toggle in the dialog
* Update classnames handling for toggle switch
* Appease the linter
* Go to space landing page when clicking on a selected space
Signed-off-by: Robin Townsend <robin@robin.town>
* Go to home landing page when clicking on selected home space
Signed-off-by: Robin Townsend <robin@robin.town>
* Remove metaspace behavior
* Add tests
* Use the dispatcher action enum
* Break up the onClick assignment
* Don't consider threads for breaking continuation until they've actually been created
* Update tests
* Make hasThreadSummary null thread safe
* Apply feedback from pr review
* Remove duplicate mx_Dialog_buttons
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Group buttons on mx_Dialog with span
- Cancel default styling for elements inside .mx_AccessSecretStorageDialog_primaryContainer
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Move common rules of mx_Dialog_buttons_row to _common.scss
- Set 16px gap between buttons per https://github.com/vector-im/element-web/issues/19426#issuecomment-949778515
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Spacing variables
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Nesting - .mx_AccessSecretStorageDialog_reset
- Fix the reset link color
- Set $spacingStart variable
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Remove unnecessary rule
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Add non-consent (default) Synapse template
* Add consent test
* Add create room test
* Stash work
* Initial threads tests
* fix
* Delete old threads e2e tests, plan new ones
* Fix typed s'more
* Try something else
* specify d.ts
* Fix types once and for all?
* Fix the consent tests
* Iterate threads test harness
* Fix dispatcher types
* Iterate threads test
* fix typing
* Alternative import attempt
* let it break let it break let it break
* Tweak types
* Stash
* delint and update docs
* null-guard scrollIntoView
* Iterate threads test
* Apply suggestions from code review
* Remove blank header from video room view frame
* Add video room option to space context menu
* Remove duplicate tooltips from face piles
* Factor RoomInfoLine out of SpaceRoomView
* Factor RoomPreviewCard out of SpaceRoomView
* Adapt RoomPreviewCard for video rooms
* "New video room" → "Video room"
* Add comment about unused cases in RoomPreviewCard
* Make widgets in video rooms mutable again to de-risk future upgrades
* Ensure that the video channel exists when mounting VideoRoomView
* Don't linkify code blocks
Signed-off-by: Robin Townsend <robin@robin.town>
* Put the linkify ignoreTags option in the right place
Signed-off-by: Robin Townsend <robin@robin.town>
* Add code to list of ignored linkification tags as well
Signed-off-by: Robin Townsend <robin@robin.town>
* Test that code blocks skip linkification
Signed-off-by: Robin Townsend <robin@robin.town>
* Move test to the right spot
Signed-off-by: Robin Townsend <robin@robin.town>
* Use a snapshot instead for test
Signed-off-by: Robin Townsend <robin@robin.town>
* add state for waiting for labs flag
Signed-off-by: Kerry Archibald <kerrya@element.io>
* add enable live share component
Signed-off-by: Kerry Archibald <kerrya@element.io>
* test enabling live share labs flag
Signed-off-by: Kerry Archibald <kerrya@element.io>
Pinning or unpinning a persistent widget, such as Jitsi, could cause the
PiP view and the app drawer to fight for control over the widget, since
the PiP view never realized that it was supposed to relinquish control.
This was due to a race between the WidgetLayoutStore update and the
AppTile lifecycle tracking update.
* add maxzoom to map fit bounds
Signed-off-by: Kerry Archibald <kerrya@element.io>
* take snapshot of bounds at center on dialog open
Signed-off-by: Kerry Archibald <kerrya@element.io>
* Show a lobby screen in video rooms
* Add connecting state
* Test VideoRoomView
* Test VideoLobby
* Get the local video stream with useAsyncMemo
* Clean up code review nits
* Explicitly state what !important is overriding
* Use spacing variables
* Wait for video channel messaging
* Update join button copy
* Show frame on both the lobby and widget
* Force dark theme for video lobby
* Wait for the widget to be ready
* Make VideoChannelStore constructor private
* Allow video lobby to shrink
* Add invite button to video room header
* Show connected members on lobby screen
* Make avatars in video lobby clickable
* Increase video channel store timeout
* Fix Jitsi Meet getting wedged on startup in Chrome and Safari
* Revert "Fix Jitsi Meet getting wedged on startup in Chrome and Safari"
This reverts commit 9f77b8c227c1a5bffa5d91b0c48bf3bbc44d4cec.
* Disable device buttons while connecting
* Factor RoomFacePile into a separate file
* Fix i18n lint
* Fix switching video channels while connected
* Properly limit number of connected members in face pile
* Fix CSS lint
* fix rainbow breaks compound emojis
* use lodash split method for text splitting and add a unit test to test the behaviour
* Update _RichText.scss
* Update colour-test.ts
* Adds a test to demonstrate the issue with emoji autocomplete reported in https://github.com/vector-im/element-web/issues/19302.
Signed-off-by: Ryan Browne <code@commonlawfeature.com>
* Trim trailing `:` when checking for autocompletes for emoji.
Closes https://github.com/vector-im/element-web/issues/19302
Signed-off-by: Ryan Browne <code@commonlawfeature.com>
* Move all references to the emoji delimiter character to reference a constant.
Signed-off-by: Ryan Browne <code@commonlawfeature.com>
* Revert "Move all references to the emoji delimiter character to reference a constant."
This reverts commit ac09e71e4c6151e35d21f612c9b329ead2a381f1.
Signed-off-by: Ryan Browne <code@commonlawfeature.com>
* Rename variable.
Signed-off-by: Ryan Browne <code@commonlawfeature.com>
* Make the test file a .js file.
Signed-off-by: Ryan Browne <code@commonlawfeature.com>
* Update quotes to match style and make a valid stubbed room.
Signed-off-by: Ryan Browne <code@commonlawfeature.com>
* Fix variable name and test reporting.
Signed-off-by: Ryan Browne <code@commonlawfeature.com>
* Use str.replace with a regex.
Signed-off-by: Ryan Browne <code@commonlawfeature.com>
* Use an improved regex that does not have have to iterate through the entire string, and can just backtrack at most the last 2 characters.
Signed-off-by: Ryan Browne <code@commonlawfeature.com>
* Revert "Use an improved regex that does not have have to iterate through the
entire string, and can just backtrack at most the last 2 characters."
This regex is very efficient, but requires a specific form of the emoji
shortcode that it is not clear is within our control. This is a restriction
that is not required by the technicalities of solving the bug this PR is
attempting to fix. (It requires that an emoji shortcode end with a colon.)
This reverts commit 220cb0efb8de247158c11daf9170464a57cc3af2.
Signed-off-by: Ryan Browne <code@commonlawfeature.com>
Co-authored-by: Ryan Browne <code@commonlawfeature.com>
* open a dialog with map centered around first beacon
Signed-off-by: Kerry Archibald <kerrya@element.io>
* add room member markers
Signed-off-by: Kerry Archibald <kerrya@element.io>
* fix unmount issue in smart marker
Signed-off-by: Kerry Archibald <kerrya@element.io>
* dont throw on no more live locations
Signed-off-by: Kerry Archibald <kerrya@element.io>
* cursor on beacon maps
Signed-off-by: Kerry Archibald <kerrya@element.io>
* fussy import ordering
Signed-off-by: Kerry Archibald <kerrya@element.io>
* test dialog opening from beacon body
Signed-off-by: Kerry Archibald <kerrya@element.io>
* test beaconmarker
Signed-off-by: Kerry Archibald <kerrya@element.io>
* test BeaconViewDialog
Signed-off-by: Kerry Archibald <kerrya@element.io>
* comment
Signed-off-by: Kerry Archibald <kerrya@element.io>
* use unstable prefix for wk tile_Server
Signed-off-by: Kerry Archibald <kerrya@element.io>
* unstable prefix for new m.tile_server use in test
Signed-off-by: Kerry Archibald <kerrya@element.io>
* A first, maybe working cypress test
Plus cypress plugins to manage synapses in docker containers
* Fix yaml
* This file is important
* try & find where it's put the artifact
* Download artifact to a directory
* pics or it didn't happen
* Add conditional, otherwise no artifacts on failure...
* Try increasing timeout
also actually give the test a name
* Try in chrome
* Get docker logs to see why it's failing
also document the chrome setting
* Try changing mode on homeserver.yaml
* debug
* More debugging
* more file permissions debugging
* ARGH
* more debug
* sigh
* Eugh, that's not how arguments work
* Add the option to really allow open registration
and remove debug logging / comment fixes
* failure to yaml
* Upload docker logs as artifacts
and temporarily remove contional to test
* Put the conditional back
* Upgrade types in end to end tests
to be compatible with fs-extra types
* Try reducing timeout a bit
also make password more... sensible
* Hex is not octal
* Remove file mode
Seems to be unnecessary since the signing key is perfectly fine
* Give the log files extensions
* Rename workflow file now it also does tests
* Add cypress scripts
* copyright headers
* Use ? operator
Co-authored-by: Travis Ralston <travisr@matrix.org>
* Use develop synapse image
* Tidy up any remaining synapses after each spec run
Also:
* Move the synapseStart / synapseStop functions out to the top level
so they can be reused
* Add a tsconfig file
* Give the containers names
* Don't upload video on test pass
We don't upload it anyway so tell cypress not to so it can not
bother encoding them
* Enable linting on cypress files
and fix existing lint errors
* Type check cypress files
and make it pass the type checks, specifically:
* Upgrade sinon fake timers to a version that has the right types
* Set module resolution
* Type check cypress files separately
* Rename workflow file again
Probably better to just call it an element web build
* Don't plus + characters in container name
* Fix yaml
* Stream logs to file
* Add note to end to end tester to sya what's been ported
* Put docker rm in finally block
Co-authored-by: Travis Ralston <travisr@matrix.org>
* Fix MatrixClientPeg.userRegisteredWithinLastHours so that it works
* Try fixing end-to-end test + add case for New search beta
* Remove end-to-end test case for Search beta toast as it only shows up after 5 minutes
* Revert to localStorage based solution + non-inverted logic + test including time advancement