* 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.
* Move shared components to a packages/ directory
so they can be publish more sensibly
* Iterate towards split out shared-components module
* Move shared component source into src/ subdir
* Fix up imports
* Include shared components in babel-ing (again)
* Remove now unused dependencies
* Update import in storybook preview
* ...except of course they aren't unused
if we import the shared components by source
* Ignore shared components deps
* Add shared-components to i18n paths
and upgrade web-i18n to version that supports doing so
* Move storybook stuff to shared-components
* Seems we don't need this anymore...
* Remove unused deps
and remove storybook plugin from eslint
* Presumably working-directory is only valid on run steps
* Ignore dep & run prettier
* Prettier on knips.ts
* Hopefully run in right dir
* Remember how to software write
* Okay... how about THIS way?
* Oh right, they were git ignored. Sigh.
* Add concurrently
* Ignore in knip
* Better?
* Paaaaaaaackageeeeeeees
* More packages
* Move playwright snapshots
* Still need a custom snapshots dir
* Add eslint back
* Oh, now knip sees them
* Fix another import
* Don't lint shared-components with everything else
Okay, eslint & tsconfig are tied too closely for this to work and
running tsc on the shared components will need its deps installing
* Maybe lint shared components
please?
* Not quite
* Remove storybook again
Re-check if it does work without it
* Remove storybook eslint plugin
as we're not linting storybook here anymore
* Remove this too
* We do need it here though