* Right panel chat closes when unmaximising widget
* Basic right panel tests added
* Accessible selectors used for new tests
* Test added to check if chat exists in right panel
---------
Co-authored-by: Manan Sadana <manan.sadana@cnhteam.onmicrosoft.com>
Co-authored-by: Florian Duros <florianduros@element.io>
* Disable two tests that flake after matrix-js-sdk#3798
* Enable tests that have been fixed by matrix-js-sdk#3798
* Disable two flaking tests
* Disable another flaking test
* Re-enable QR verification cypress test for Element-R
This test was disabled by
https://github.com/matrix-org/matrix-react-sdk/pull/11710. The impl has now
been fixed, so it should be possible to re-enable it now.
While we're here, rename a couple of the tests for clarity.
* fix lint
* Use Compound tooltips on MessageTimestamp to improve UX of date time discovery
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Show io.element.late_event in MessageTimestamp when known
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update snapshot
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Avoid needing new Compound changes
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Move groupers into their own directory
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Refactor date separator code to be more generic
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Render timeline separator for late event groups
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix date used in copy
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update snapshot
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Move groupers into their own directory
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update copy
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update copy
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update snapshot
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* i18n
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add comments
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add comments
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* #25614 Updated mx_Field select
* making the changes reset
* #25614 Updated mx_Field select
* Changes made in the grid and Select tag
* Adding test for mx_Field overflow
* Adding test for mx_Field overflow for long address
* Adding test for mx_Field overflow after formatting
---------
Co-authored-by: R Midhun Suresh <hi@midhun.dev>
* Check that the new verified device is connected to key backup
* Review changes. Extract key backup verification in its own function and chang parameter order of bot `bootstrapSecretStorage` call.
* Fix a flaky cypress crypto test
We need to be a bit proactive to get existing shields to update when a device
is deleted.
* Handle different text between rust and legacy crypto
* Split the read-receipt tests into logical units
* Move read-receipt docs into a readme file
* Provide doc comments for exported functions in read-receipt tests
* Tests for redacting messages not increasing unreads
* Comment explaining tips for writing high level rr tests
* Test for restarting with a receipt pointing at a redacted thread root
* Two failing tests for counting correctly when a thread message was redacted
* Test for reading a thread containing an earlier redaction
* Failing tests for redacted messages in threads
* More tests for reactions to messages in threads
* Wait before looking for the thread list, to let the room settle
* Use new crypto-api for cross user verification
* update verification flow with new APIs
* Replace some calls to `checkUserTrust`
A start on https://github.com/vector-im/crypto-internal/issues/147
* Enable cypress tests
* update tests
* Delegate decisions on event shields to the js-sdk
* rerender after editing events
This is required because a transition from "valid event" to "unencrypted event"
no longer triggers a state change, so the component does not render
itself. Previously, this would be a transition from `verified:
E2EState.Normal` to `verified: null`.
* Update tests
* prettier
* Test coverage
* Enable cypress tests for shields with rust crypto
---------
Co-authored-by: Florian Duros <florianduros@element.io>
* Use new crypto-api for cross user verification
* update verification flow with new APIs
* Replace some calls to `checkUserTrust`
A start on https://github.com/vector-im/crypto-internal/issues/147
* Enable cypress tests
* update tests
* Delegate decisions on event shields to the js-sdk
* rerender after editing events
This is required because a transition from "valid event" to "unencrypted event"
no longer triggers a state change, so the component does not render
itself. Previously, this would be a transition from `verified:
E2EState.Normal` to `verified: null`.
* Update tests
* prettier
* Test coverage
---------
Co-authored-by: Florian Duros <florianduros@element.io>
* Tests for redacting messages not increasing unreads
* Comment explaining tips for writing high level rr tests
* Test for restarting with a receipt pointing at a redacted thread root
* Two failing tests for counting correctly when a thread message was redacted
* Test for reading a thread containing an earlier redaction
* Failing tests for redacted messages in threads
* Expand a thread reply test to be more explicit
* Add an assertion that the thread is read after I read it
* Assert that the thread is unread after an edit
* Minor improvements to unread tests
* Test for reading an older message in a room
* Test for reading an old message in a thread
Also a mostly-trivial test for read status being preserved over
restarts.
* Give the reason for a failing test
* Fix a failing test by making it wait for a thread to be read
* More tests for thread roots
* Add a 'm.relates_to' to edits in receipt tests
* Disable a test that fails with real edits
* Wait for the room to be read after we mark it as read
* Skip tests that are failing because of inconsistencies between local and CI behaviour
There is a little-known feature where, if you have verified a user (eg, via the
emoji game), then when you mouse-over a message that they sent, it gets a green
highlight.
We also show a brown bar sometimes, and according to the CSS there may be a
yellow bar too?
Very few people seem to know this exists, and even if you do know it exists
nobody seems to understand what exactly the various colours are supposed to be.
So, rather than porting this magic mystery feature to Rust Crypto, let's rip it
out.
* Fix tests choosing the wrong room by matching on exact room name in viewRoomByName
* Allow either of the two different URLs for thumbnails in sticker test
* Find room by looking inside Rooms for something with the right text
* Check for the download URL of a thumbnail only, which will appear after the thumbnail 404s
* Click the title div instead of the contained span, to avoid clicking something potentially off-screen
* Find by label text because that works when room list is folded
* Find room by title because label text is different
* Attempt to allow opening room by name in all needed cases
* Move avatar to new compound implementation
* Make space avatars square
* Remove reference to the avatar initial CSS class
* remove references to mx_BaseAvatar_image
* Fixe test suites
* Fix accessbility violations
* Add ConfirmUserActionDialog test
* Fix tests
* Add FacePile test
* Fix items clipping in members list
* Fix user info avatar sizing
* Fix tests
* Use Intl for names of languages
* Tweak Intl language style from "American English" -> "US English"
* Update tests
* Fix tests
* Consolidate languageHandler-test files
* Improve coverage
* Consistent casing for languages in dropdown
* Update LanguageDropdown.tsx
* Delint & update snapshot
* Fix tests
* Improve coverage
`of` will fallback to the given code with fallback=code (default)
* Use Intl to generate better internationalised date formats
* Get `Yesterday` and `Today` from Intl also
* Correct capitalisation blunder
* Fix formatTime include weekday
* Iterate
* Fix tests
* use jest setSystemTime
* Discard changes to cypress/e2e/settings/general-user-settings-tab.spec.ts
* Discard changes to res/css/_components.pcss
* Discard changes to res/css/views/elements/_LanguageDropdown.pcss
* Discard changes to src/components/views/elements/LanguageDropdown.tsx
* Add docs & tests for getDaysArray & getMonthsArray
* Discard changes to test/components/structures/__snapshots__/MatrixChat-test.tsx.snap
* Consolidate consts
* Improve testing & documentation
* Update snapshot
* Apply suggestions from code review
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* Iterate
* Clarify comments
* Update src/DateUtils.ts
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* Specify hourCycle
* Discard changes to test/components/views/settings/devices/DeviceDetails-test.tsx
* Update comments
---------
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* Iterate search public spaces UX
* Tweak iconography in spotlight
* Delabs `Exploring public spaces`
* Tweak msc3827 v1.4 support discovery
* i18n
* Delete stale test
* Fix tests
* Iterate
* Iterate PR based on review
* Improve types
* Add shortcut to search for public spaces to create space menu
* Update import
* Add org.matrix.msc3827.stable filtering
* Fix tests
* silence some errors
* Supply '--network slirp4netns:allow_host_loopback=true' argument when launching via Podman
This means that the host.containers.internal address will work as a way
to access the host machine's network from within the container in
Podman. This is eqivalent to '--add-host
host.docker.internal:host-gateway' in Docker.
* Log the locations of generated files for Cypress tests
* Use 'host.containers.internal' to access the host network when using Podman
* Support Podman in email Cypress tests too
* Restrict code that decides between Docker and Podman to run in Cypress plugins
Because it can't run in the browser - it needs to run a command line
command to find out.
* Move logic for HOST_DOCKER_INTERNAL into cfgDirFromTemplate
* Add some fantasy tests
* Turn commented code into pretend-real code
* First pass at a list of all the cases we should test
* List test cases related to redactions
* Add testcases about paging up
* Add a case about notification counts
* More test cases related to replies, notifications, room list
* Iterate tests
* Wire up additional tests
* Wire up more tests
* Tidy
* Wire up more tests
* Wire up more tests
* Wire up more tests
* Wire up more tests
* Mute browser
* Silence electron warnings
* Iterate
* revert
* Wire up more tests
* Try to stabilise tests
* Try to stabilise tests
* Validate that the notification dot is missing as well as the count
* Skip a test that is failing for unknown reasons
* Use markAsRead in 'marking as read' test and add related test
* Fix incorrect comment
* Extract tests to their own suite
* Attempt to fix test
* Wire up more tests
* Wire up more tests
* Wire up more tests
* Wire up more tests
* Iterate
* Add comments
* Iterate
* Fix comments
* Update cypress/e2e/read-receipts/high-level.spec.ts
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
---------
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* Switch to importing TypedEventEmitter from main js-sdk export
* Switch to importing js-sdk/matrix in cypress
* Remove duplicated imports
* Fix lint:js-fix to run prettier last otherwise ESLint --fix may cause a mess
* Add lint rule
* Fix cypress-axe import
* Fix cypress-axe import
* Update all non-major dependencies
* Add isLocation to ComposerEvent analytics events
* Remove cypress-each as it is incompatible with modern typescript
* Roll back eslint-plugin-deprecate
* Remove stale comment
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Andy Balaam <andy.balaam@matrix.org>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>