The Widget API spec for delayed events is defined by MSC4157.
Also support "parent" delayed events, which were in a previous version
of MSC4140 and may be reintroduced or be part of a new MSC later.
* Detect autoReplaceEmoji setting
* Add plain text emoticon to emoji replacement for plain and rich text modes of the RTE.
* Use latest wysiwyg
* lint
* fix existing jest tests and docs
* Add unit tests
* Update wysiwyg to fix flakes.
* fix wording of tests and comments
* use useSettingValue
* feat: Add autoformat and lint for ts/tsx files
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
* Warn users on unsupported browsers before they lack features
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update Learn more link
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update toast styles to match Figma
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove test code
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* update tests
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update tests
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update snapshots
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Warn users on unsupported browsers before they lack features
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update Learn more link
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
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>
This fixes Element on older versions of Firefox by adding a Polyfill
for Intl.Segmenter. The Polyfill is conditionally imported so it only
inflates the initial bundle size by about 100 bytes. On browsers that
need it, the polyfill is quite large at 317Kb.
Users on these browser will still see the 'unsupported browser' screen,
but will be able to click through to use the app anyway. This keeps the
Intl.Segmenter modernizr check but this would also happen due to
https://github.com/element-hq/element-web/pull/27674
* Update base card styling to match Compound
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update screenshot
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Split up slow Playwright tests
To optimise parallelism
Deals with:
```
Slow test file: read-receipts/redactions.spec.ts (5.4m)
Slow test file: read-receipts/new-messages.spec.ts (3.9m)
Slow test file: read-receipts/high-level.spec.ts (3.6m)
Slow test file: read-receipts/editing-messages.spec.ts (3.1m)
Slow test file: read-receipts/reactions.spec.ts (2.2m)
Slow test file: crypto/crypto.spec.ts (2.4m)
Slow test file: settings/appearance-user-settings-tab/appearance-user-settings-tab.spec.ts (1.2m)
Slow test file: composer/composer.spec.ts (1.1m)
Slow test file: crypto/verification.spec.ts (1.1m)
```
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Move around snapshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Add test reporter to prevent stale screenshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix test
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove darwin screenshots which should not have been checked in
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix absolute vs relative path mismatch
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Revert "Remove darwin screenshots which should not have been checked in"
This reverts commit 1e189977fa9ec873339fc02b2b231a314809b2d5.
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Revert "Revert "Remove darwin screenshots which should not have been checked in""
This reverts commit 5144b9b28e31ca543b2c5d02820c3f957dbd8c04.
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove stale screenshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Revert "Remove stale screenshots"
This reverts commit 9beae9974557c1ffa99c2372da280bb0da407bd1.
* Apply same sanitization as Playwright for file name consistency
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* add dev dep
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove stale screenshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Discard changes to playwright/flaky-reporter.ts
* Update end-to-end-tests.yaml
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove refs to deprecated method
`MatrixEvent.isEncryptedDisabledForUnverifiedDevices` is now deprecated
* Report new posthog code for withheld message keys
* Create new method for header button behaviour
With the introduction of tabs, the behaviour of the header buttons is
changed as follows:
- Close any right panel if open
- Open the correct right panel if no panel was open before
The old method (and behaviour) is retained as showOrHidePhase.
* Implement tabs in the right panel
There are three tabs: Info, People and Threads
* Remove unwanted code from RoomSummaryCard
- Remove the menu item for opening the memberlist since that is now
taken of by the tabs.
- Remove the close button
* Remove code for focusing close button from tac item
See https://github.com/matrix-org/matrix-react-sdk/pull/12410
There's no longer a close button to focus so we instead focus the thread
tab. This is done in RightPaneltabs.tsx so we just need to remove this
code.
* Introduce a room info icon to the header
This was previously present in the legacy room header but not in the new
header.
* BaseCard changes
- Adds id, ariaLabelledBy and role props to implement tab accessibility.
- Adds hideHeaderButtons prop to hide header buttons (think back and
close buttons).
- Change confusing header rendering code:
header is not rendered ONLY when no header is passed AND
hideHeaderButtons is true.
* Refactor repeated code into function
Created a new function createSpaceScopeHeader which returns the
component if the room is a space room. Previously this code was
duplicated in every component that uses SpaceScopeHeader component.
* Pass BaseCard attributes and use helper function
Actually using the code from the last two commits
* Add, update and remove tests/screenshots/snapshots
* Fix distance between search bar and tabs
* Update compound
* Update screenshots/snapshots
* Remove dependency on libolm
We no longer use this (and haven't for some time, afaict).
* Make olm a dev dep
* Revert "Make olm a dev dep"
This reverts commit f733cdfaf0d7af198b89a10021a976e8f4fff632.
* Use WebAudio API to play notification sound
So that it won't appear in system media control.
* Run prettier
* Chosse from mp3 and ogg
* Run prettier
* Use WebAudioAPI everywhere
There's still one remoteAudio. I'm not sure what it does. It seems it's
only used in tests...
* Run prettier
* Eliminate a stupid error
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update setupManualMocks.ts
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* delint
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* mocks
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* mocks
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Simplify
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* covg
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>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
* New user profile UI in User Settings
Using new Edit In Place component.
* Show avatar upload error
* Fix avatar upload error
* Wire up errors & feedback for display name setting
* Implement avatar upload / remove progress toast
* Add 768px breakpoint
* Fix room profile display
* Update to released compund-web with required components / fixes
* Require compound-web 4.4.0
because we do need it
* Update snapshots
Because of course all the auto-generated IDs of unrelated things
have changed.
* Fix duplicate import
* Fix CSS comment
* Update snapshot
* Run all the tests so the ids stay the same
* Start of a test for ProfileSettings
* More tests
* Test that a toast appears
* Test ToastRack
* Update snapshots
* Add the usernamee control
* Fix playwright tests
* New compound version for editinplace fixes
* Fix useId to not just generate a constant ID
* Use the label in the username component
* Fix widths of test boxes
* Update screenshots
* Put ^ back on compound-web version
* Split CSS for room & user profile settings
and name the components correspondingly
* Fix playwright test
* Update room settings screenshot
* Use original screenshot instead
* Fix styling of unrelated buttons
Needed to be added in other places otherwise the specificity changes.
Also put the old screenshots back.
* Add copyright year
* Fix copyright year
* Move seedrandom dep to `resolutions`
... to shut renovate up
* Reinstate `seedrandom` as dev dependency
If we just declare it in `resolutions`, it doesn't get installed at all,
because it is only a devDependency of `bloom-filters`.
* persist previously-reported event IDs as a bloom filter
* Pin to older `@types/seedrandom`
... to work around https://github.com/Callidon/bloom-filters/issues/72
* Inline `DecryptionFailureTracker.addDecryptionFailure`
* Remove redundant TRACK_INTERVAL
There really doesn't seem to be much point to this batching up of decryption
failure reports. We still call the analytics callback the same number of times.
* Rename `trackedEvents` to `reportedEvents`
* Fix incorrect documentation on `visibleEvents`
This *does* overlap with `failures`.
* Combine `addFailure` and `reportFailure`
* Calculate client properties before starting reporting
* Clear localstorage after each test
... otherwise they interfere
* Remove redundant comment
* Ensure that reports are cleared on a logout/login cycle
* make private const private and const
---------
Co-authored-by: Richard van der Hoff <richard@matrix.org>