* Port composer formatting strings to translation keys
```
replace "Bold" "composer|format_bold"
replace "Italic" "composer|format_italic"
replace "Underline" "composer|format_underline"
replace "Strikethrough" "composer|format_strikethrough"
replace "Bulleted list" "composer|format_unordered_list"
replace "Numbered list" "composer|format_ordered_list"
replace "Indent increase" "composer|format_increase_indent"
replace "Indent decrease" "composer|format_decrease_indent"
replace "Code" "composer|format_inline_code"
replace "Code block" "composer|format_code_block"
replace "Link" "composer|format_link"
copy "composer|format_bold" "Bold"
copy "composer|format_link" "Link"
copy "composer|format_inline_code" "Code"
```
* Port role strings to translation keys
```
copy "Default" "power_level|default"
copy "Restricted" "power_level|restricted"
copy "Moderator" "power_level|moderator"
copy "Admin" "power_level|admin"
```
* Port bug reporting strings to translation keys
```
replace "If you've submitted a bug via GitHub, debug logs can help us track down the problem. " "bug_reporting|introduction"
replace "Debug logs contain application usage data including your username, the IDs or aliases of the rooms you have visited, which UI elements you last interacted with, and the usernames of other users. They do not contain messages." "bug_reporting|description"
copy "To report a Matrix-related security issue, please read the Matrix.org <a>Security Disclosure Policy</a>." "bug_reporting|matrix_security_issue"
replace "Submit debug logs" "bug_reporting|submit_debug_logs"
replace "Bug reporting" "bug_reporting|title"
replace "If there is additional context that would help in analysing the issue, such as what you were doing at the time, room IDs, user IDs, etc., please include those things here." "bug_reporting|additional_context"
replace "Send logs" "bug_reporting|send_logs"
replace "GitHub issue" "bug_reporting|github_issue"
replace "Download logs" "bug_reporting|download_logs"
copy "Before submitting logs, you must <a>create a GitHub issue</a> to describe your problem." "bug_reporting|before_submitting"
```
* i18n
* Port time duration strings to translation keys
```
replace "%(hours)sh %(minutes)sm %(seconds)ss left" "time|hours_minutes_seconds_left"
replace "%(minutes)sm %(seconds)ss left" "time|minutes_seconds_left"
replace "%(seconds)ss left" "time|seconds_left"
replace "%(date)s at %(time)s" "time|date_at_time"
replace "%(value)sd" "time|short_days"
replace "%(value)sh" "time|short_hours"
replace "%(value)sm" "time|short_minutes"
replace "%(value)ss" "time|short_seconds"
replace "%(days)sd %(hours)sh %(minutes)sm %(seconds)ss" "time|short_days_hours_minutes_seconds"
replace "%(hours)sh %(minutes)sm %(seconds)ss" "time|short_hours_minutes_seconds"
replace "%(minutes)sm %(seconds)ss" "time|short_minutes_seconds"
```
* i18n
* Add face pile to rooms
* Migrate FacePile to use Compound
* Fix CI
* Use FacePile component in room header
* Add facepile tests
* Make dead code CI happy
* Lint
* Fix tests
* Fix CSS selectors
* Update room face pile snapshot
* Use useMemo instead of useState and useEffect
* Remove unused imports
* Update snapshot
* Update snapshot
* 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)
* 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
* Switch to importing models/Room from main js-sdk export
* Switch to importing models/room-state & models/room-member from main js-sdk export
* Fix cypress-axe import
* Fix more imports
* Fix cypress-axe import
* Fix bad merge
* 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
* Switch to importing models/Room from main js-sdk export
* Fix cypress-axe import
* Fix more imports
* Fix cypress-axe import
* Fix duplicated lint rule
* Create useRoomName hook
Mark RoomName component as deprecated
* Pass out-of-band data to relevant RoomHeader component
* Mark LegacyRoomHeader as deprecated
* Fix incorrect search&replace in _RoomHeader.pcss
* lintfix
* Fix i18n
* Discard use of useCallback
* Change export of useRoomName
* fix ts issue
* lints
* Integrate compound design tokens
The icons should not be included in this repo, and should live in the compound design token repo, but for simplicity sake at this phase of the integration they will be added here
* Delete unused or incorrect - sass variables
* Typography pass
* Deprecate _font-weights.pcss and use Compound instead
* lint fix
* Fix snapshot
* Fix typography pass feedback
* Remove unwanted e2e test
cypress tests should test functionality not visual output. And we should not test visual output by inspecting CSS properties
* lintfix
* Migration script for baseFontSize
* Updates after design review
* Update font scaling panel to use min/max size
* Fix custom font
* Fix font slider e2e test
* Update custom font
* Update new baseFontSizeV2
* Disambiguate heading props
* Fix appearance test
* change max font size
* fix e2ee test
* fix tests
* test baseFontSize migration code
* typescript strict
* Migrate baseFontSize account setting
* Change assertion for font size
* Fix font size controller test
* Rename classes of appTileBodyClass
Include mx_AppTileBody_fadeInSpinner in mx_AppTileBody, the class name applied by default
* Apply a common CSS declaration to mx_AppTileBody
* Strictify style rule specificity to avoid visual regressions - mx_AppTileBody--*
* Run prettier
* Change --normal to --large
* Edit and add comments
When you add, edit, or remove style rules from mx_appTileBody without causing a visual regression, it is imperative to keep in mind which selector should be worked on. The comments should help developers who are not familiar with the style codebase to avoid a regression.
* Rename classes of appTileBodyClass
Include mx_AppTileBody_fadeInSpinner in mx_AppTileBody, the class name applied by default
* Apply a common CSS declaration to mx_AppTileBody
* Strictify style rule specificity to avoid visual regressions - mx_AppTileBody--*
* Run prettier
* Change --normal to --large
* Edit and add comments
When you add, edit, or remove style rules from mx_appTileBody without causing a visual regression, it is imperative to keep in mind which selector should be worked on. The comments should help developers who are not familiar with the style codebase to avoid a regression.
* Update a Jest snapshot
* Update a Jest snapshot
* Add a Jest snapshot of AppPermission
* Move the test inside 'for a pinned widget' category
* Make only spinner message bold
* Set font size specified with "mx_AppPermission_smallText" by default
- Add "mx_AppPermission_largeText" for elements whose size has not been specified with mx_AppPermission_smallText
- Create _AppWarning.pcss for AppWarning
* Make AppPermission panel scrollable, keeping the content at the center
* Run prettier
* Use Heading component
* Use Icon component
* Fix the test
* Use new `VerificationRequest.getQRCodeBytes()`
* Use new `VerificationRequest.otherDeviceId`
* Remove references to `VerificationRequest.channel`
* Replace references to `VerificationRequest.{requesting,receiving}UserId`
Normally these are guarded by `request.initiatedByMe` so we can trivially
replace it with `request.otherUserId` or `client.getUserId()`. In one place we
actually need to apply some logic.
* increase test coverage
* Even more test coverage
* Even more test coverage
* Use aria descriptions instead of labels for TextWithTooltip
to prevent clobbering the reading of the content
* Update snapshot
* Fix snapshots
* Iterate
* Update snapshots
* delint
* Use icon component for buttons on mx_AppTileMenuBar_widgets
* Remove redundant declarations
* Add a Percy snapshot test
* Set color value to mx_Icon, fill and stroke with currentColor
* Iterate