* Very first pass at shared component views
Turn the trivial TextualEvent into a shared component with a separate view
model for element web. Args to view model will probably change to be more
specific and VM typer needs abstracting out into an interface, but should
give the general idea.
* Remove old TextualEvent
* Pass showHiddenEvents
Because we used it anyway, we just cheated by getting it from the context
* Factor out common view model stuff
* Move ViewModel interface into the shared components
* Add tiny wrapper hook
* Move showHiddenEvents into props fully
* Fill in stories / test
* chore: setup storybook
cherry pick edc5e8705674b8708d986910b02b5d2545777fb3
from florianduros/storybook
* Add TextualEvent component to storybook
* Add mock view model & snapshot
* Remove old style stories entry
* Change import
* Change import
* Prettier
* Add paxckage patch to @types/mdx
for React 19 compat
* Pass getSnapshot as getServerSnapshot too
* Maybe make sonar regognise tests as tests
* Typo
* Use storybook reacvt-vite
There's no reason to use the react-webpack plugin just because our app
is stuck on webpack, it just means we have vite as a dependency too.
* Change here too
* Workaround for incomatible types in rollup
https://github.com/rollup/rollup/issues/5199
* Remove webpack styling addon
Not necessary now we're using vite
* Hopefully do screenshot testing...
* need newer node
* quote issues
* Make it an npm script
* colons
* use right port
* Install playwright browsers
* Try without the if
* Oh right, we need the headless shell
* Pass flag to store received screenshots
and upload diffs too
* Update snapshot from received
* Include platform in snapshot / received dir
because font rendering differs between platforms
* Suffix snapshots with platform instead
like we do for playwright
* Remove unnecessary env vars
and better name
* Add some comments
* Prettier
* Fix yarn.lock
* Memoise vm creation
Co-authored-by: Florian Duros <florianduros@element.io>
* Add implements
Co-authored-by: Florian Duros <florianduros@element.io>
* Fix listener interface
* Add implements
Co-authored-by: Florian Duros <florianduros@element.io>
* Fix types
* Fix more types
* Revert useMemo
as this isn't a hook
* Unused import
* Add missing playwright step
* Add return type annotation
* Change to add / remove subscription callback
* Change to 'add' rather than 'subs.subscribe'
* Add cache specifier for only shell playwright browsers
* Add copyright headers
---------
Co-authored-by: Florian Duros <florian.duros@ormaz.fr>
Co-authored-by: Florian Duros <florianduros@element.io>
* fix: remove white background on e2e verification icon and put white on the checkmark
* test(e2e): add non regression tests
* chore: remove unused CSS mask
(cherry picked from commit a05ca97409139afb7187a645c8d42c52440eba0b)
Co-authored-by: Florian Duros <florianduros@element.io>
* fix: remove white background on e2e verification icon and put white on the checkmark
* test(e2e): add non regression tests
* chore: remove unused CSS mask
* Add support for allowDownloadingMedia
* Add tests.
* Allow downloading when no event is associated.
* fix lint
* Update module API
* Update lock file too
* force CI
* Fix the default mobile_guide links.
Whilst the script should update these if it fails these should link to Element X which is now the default app that we link out to from this page.
* Rename the mobile_guide_app_variant values to be clearer.
Also handle invalid config values by defaulting to Element X.
* Rename snapshots to match new app variant identifiers.
* remove resetCrossSigning flag, which is no longer in use
* drop unnecessary check for cross-signing
The only place where verifyUser is called already checks that cross-signing is
set up. (The function name is also incorrect, since it checks for the
cross-signing key, and not for 4S.)
* avoid calling accessSecretStorage to set up cross-signing or 4S
Send the user to the Encryption settings tab instead
* only create secret storage when specifically asked to
* deprecate using accessSecretStorage to create new 4S
* also remove the obsolete snapshot
* add tests
* Tweak comment
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>
* Reapply "Update the mobile_guide page to the new design. (#30006)" (#30104)
This reverts commit c51823db5e0df15d579c00179823cb41fa57bb3b.
* Use Element X as the default mobile_guide_app_variant when omitted.
* Fix a build error on Windows.
Additionally revert "Remove unnecessary <%= require %> usages" and let webpack handle all of the assets (without a manual copy rule).
* Exclude mobile_guide from coverage gate
It has playwright tests
* Revert the re-introduction of <%= require %>
* Fix snapshot tests on mobile_guide.
---------
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
* Submit filtered settings to rageshakes and sentry.
* Add flag to omit some settings from being exported.
* Hide user timezone
* Hide recent searches and media event ids
* Lint
* use better wording
* lint
* Prevent language from being sent
* Add tests to check keys are prevented from being uploaded.
* don't export invite rules
* Update tests