* fixup type
* Validate Element Call foci config
* revert changes
* Split out logic to CallStore so we don't repeat checks.
* Refactor to use CallStore so we only fetch once.
* Add test for useRoomCall
* lint
* Ensure we enable MatrixRTC when configuring element call.
* fix test
* Update @element-hq/element-web-playwright-common to 2.2.2 and enable matrix rtc
* lint
* Ensure call is configured for header test
* type
* Improve coverage
* Update based on feedback
* fix type
* Update dependency matrix-web-i18n to v3.5.0
* Update matrix-web-i18n
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update matrix-web-i18n in shared-components too
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* matrix-web-i18n is now ESM
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>
* Remove extra encryption strings
Found their way in during the i18n changes
* Remove log level silent
to try & work out why it only fails on CI
* Try giving it its own prettierrc
so the import is correct
* Comment why it needs its own prettierrc & put log level silent back
* Comment the right .prettierrc
* Split translations between EW and shared components
Uses update module API with global TranslationKey type that can be
overridden.
WIP.
* Removed the wrong script (for now)
* Add the type files
* Add shared components i18n file
* More i18n strings
* Add i18n check for shared conmponents
* Needs a different name
* rerun i18n for merge from develop, fix test
* Move translated strings to shared components file
NB. there are lots of removed strings for a few languages where we
seem to have hit a localazy bug or something where the key/value
for plurals got switched, making the translations invalid. They've
been missing for a while so I'm removing them rather than trying to
restore them,
* Add shared components files to localazy
* Merge element web & shared component translations
for the built app
* Use right translations for shared component tests
and fix missign en_EN strings
* Pull shared components translations too
* Fix/disable warnings
* We can now remove the build:res call
...right? (right?)
* Remove webpack import for languages index
..and just load it using a relative path which we do for the individual
language files and also did anyway for the index because even in non-test
it was an object, not a string, so we always usesd the 'test' code path.
* Make the storybook language selector work
...without referring to the parent app's files
* Revert unnecessary yarn lock change
* Typo
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
* Add comment on why we use merge
* Fix localazy download config
to actually put the translations in the right place
* Better typescript syntax
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
* Watch both translations files
---------
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
* Do not alter text-decoration if an <a> tag is a Link.
* Update screenshots
* update compound web to 8.3.4
* Update snaps
* Update alllllll the snaps
* update screenshots
* build: fix shared component screenshot update
The yarn command `test:storybook:update` was running twice
`playwright-sceenshots`. However this script is using ryuk to delete
remaining containers/etc and ryuk does the cleanup after 50sec of idle.
So on the script second call, ryuk container was still running and the
script failed.
This PR introduces a shell script to install the dependencies and to run
the tests in the same playrwright-screenshots call.
* Update packages/shared-components/scripts/storybook-screenshot-update.sh
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* Update packages/shared-components/scripts/storybook-screenshot-update.sh
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* doc: fix duplicated documentation after github commit
---------
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* refactor: move room list search to shared components
* refactor: add view model
* refactor: use view and vm in room list search component
* refactor: use room list id instead of class for landmark navigation
* refactor: remove old room list search css
* test: add screenshots test for room list search view
* test: fix e2e test using class as selector...
* feat: Implement UI for history visibility acknowledgement.
Shows a banner above the message composer whenever a user opens a room
with non-join history visibility, which they can dismiss.
- Whenever a user opens an encrypted room with non-join history
visibility, show them a banner, unless we have already marked it as
dismissed.
- Whenever a user opens an encrypted room with joined history
visibility, we unmark it as dismissed.
Issue: https://github.com/element-hq/element-meta/issues/2875
* tests: Add test suite for `RoomStatusBarHistoryVisible`.
* docs: Document `RoomStatusBarHistoryVisible` and props interface.
* feat: Use newer `@vector-im/compound` components.
* test: Update snapshots for `RoomStatusBarHistoryVisible` tests.
* chore: Update playwright screenshots.
* feat: Move `RoomStatusBarHistoryVisible` to `shared-components`.
* fix: Address review comments on `RoomStatusBarHistoryVisible`.
* fix: Address review comments on `RoomStatusBar` and tests.
* chore: Move `RoomStatusBarHistoryVisible` to `room/RoomStatusBarHistoryVisible`
* chore: Fix linting issues.
* feat: Gate behind history visibility labs flag.
* feat: Add link to history sharing docs.
* fix: Resolve build issue with shared-components.
* tests: Enable history sharing lab for unit tests.
* tests: Set labs flag in SettingsStore mock.
* fix: Remove non-existent arg - documentation should be updated!
* chore: Remove old CSS rule filter.
* fix: Use package name for import over relative path.
* fix: Mark styles as important due to improper CSS load order.
* docs: Add doc comments to `!important` directives.
This change should restore my status as a good person.
* docs: Correct license header.
* tests: Update `RoomStatusBarHistoryVisible` snapshot.
* tests: Update shared history invite screenshot.
* tests: Revert spurious screenshot changes.
* feat: Update to use `Banner` component.
* chore: Remove broken import.
* chore: Remove unused translation string.
* tests: Add `getHistoryVisibility` to `currentState` of stub room.
* tests: Update screenshot.
* chore: Remove old snapshots.
* tests: Update playwright screenshot.
* feat: Separate `HistoryVisibleBanner` hooks into MVVM architecture.
* chore: Remove unused imports.
* feat: Use info link over action button for `HistoryVisibleBanner`
* tests: Update snapshot for `HistoryVisibleBanner`.
* chore: Remove unused imports.
* feat: Switch to MVVM architecture per style guide.
* tests: Update snapshot for `HistoryVisibleBanner`.
* tests: Update shared components snapshots.
* tests: Add unit tests for `HistoryVisibleBannerView` stories.
* fix: Linting errors from SonarCloud.
* feat: Finalise conversion to MVVM.
* fix: Silent `this` binding issue.
* tests: Update playwright snapshot.
* feat: Introduce wrapper component for `HistoryVisibleBanner`.
* tests: Update playwright screenshots for `HistoryVisibleBanner`.
* docs: Add doc comments to fields in `HistoryVisibleBannerViewModel`.
* tests: Update playwright snapshot.
* Make ESLint's TS Root dir relative to .eslintrc.js
As per https://github.com/typescript-eslint/typescript-eslint/issues/251 seems
like this is the answer for having vscode not getting confused about
multiple projects in a monorepo with different tsconfigs.
* Add it here too for good measure
* Introduce i18nContext
* Adds a context that holds the module i1n API
* Switches shared components to use that instead of importing it directly
* Adds the context to MatrixChat and BaseDalog so it should be available most places in EW
This is a relatively small PR but does change the way the shared components do i18n so
just doing this one by itself (it stands by itself anyway).
This will allow shared components to use i18n when used in modules.
* Add the file
* Fix import lint
* Name the translate function _t
Then it should continue to get picked up by the script
This seems a bit flaky and ew but I'm not sure I want to get into
changing this in this PR.
* Put humanize back to calling something called _t too
* Missed one
* Add i18n context wrapper to stories
* Unused import
* Fix imports
* wrap richitem
* Wrap other richitem & richlist
* One day I will get my head around this syntax
* Fix import spacing
* Add wrapper to test
* unused import
* Hack around dependency cycle
* Make a moduleapi instance for tests
* Add i18n wrapper to jest-matrix-react
* Simple test for i18napi
* Import type
* Move i18n context wrapper to storybook template
* Unused imports & fix pill story
* Move i18n to its own provider
* Add i18ncontext wrapper to jest tests
* imports
* Bump module api to 1.7.0
* tsdoc
* Update vector-im
* Update Jest snapshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update snapshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix playwright styling overrides
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Hold back Compound Design Tokens as threads icons unexpectedly grew a dot in the top corner where we conditionally draw a dot
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update snapshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update snapshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update Compound Design Tokens to 6.4.1
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update snapshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Revert snapshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Tweak bubble
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update snapshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update storybook snapshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update jest snapshots
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update jest snapshots
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>
* Update all non-major dependencies
* Make knip happy
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>
* Update dependency vite to v7.1.11 [SECURITY]
* Iterate
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>
* Make shared component build work in isolation
* Add deps that were missing because they were getting picked up
from element-web main but shared-components needs itself
* Exclude test files from dts generation
* Bump version
* Change all the shared-component import to be the built artifact
* Don't randomly inhale eslint configs in parent dirs please
* maybe we don't need this anymore?
* maybe fix build
* Maybe fix docker build
* More build faff
* build:res on the parent as part of shared component prepare
* link shared component repo inn docker build
* 💅
* 💅x2
* Try converting the translation keys to a .d.ts file manually
so it gets bundled rather than left as a relative import to the json
file
* add the script
* Add this back for 2nd time now I think
* Shouldn't need this anymore
* patch-package on prepare
because we're patching a dev dependency so it won't be there if we're
installed as a dependency
* Unused import
* Prettier compliance
* Only use counterpart from shared components
as per comment
* Import shared components CSS
* Prettier
* Call the one from shared components
rather than recurse infinitely
* Hopefully make tests work
* wake up, comment goes before import
* Fix lint errors
* Fix dupe TranslationKey export
* Update compound-web to fix type error
An update to @types.react adds the 'hint' value to the enum of the
'popover' attribute and this version of compound-web uses the maching
verson of @types/react so they don't conflict.
* Maybe, hopefully, get the types working?
Please?
* Add copyright header to i18nkeys
as eslint complains otherwise since it's now in src
* prettier
* stop running shared-component tests in EW
* update snapshots
because flex is now from an external stylesheet I guess
* More snapshots
* Manual class update
* Avoid bundling compound bits
Because a) it's silly and b) it means we end up bundling a copy of
floating-ui too which causes absolute madness with its useDelayGroup
contexts.
* ignore test util files for coverage
* Add !important
because the styles are being applied in a different order now
* Another !important because css order has changed
* Try adding it here to make the test files ignored
* More !important
* commit yarn lock change
* Add shared components coverage file
* Update snapshots
Because the line height was being overridden to 22.5px somehow by
something I can't find, and now isn't: surely the normal 1.5rem is
more sensible.
* Update snapshots, attempt 2
* Another !important
* More snapshot updates
* Add test for i18n wrappers
& add test script
* lint
* Prettier
* Hopefully run shared component tests
* don't need this bit for non-matrix
* install ew deps
* rigfht coverage location
* Rename job here too
* Try different coverage filename
* Fix copyrights & comment
* Typo
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>