Merge branch 'develop' into fix-register-auth-with-new-spec

This commit is contained in:
Travis Ralston 2020-05-27 12:02:46 -06:00
commit 81cae66732
662 changed files with 17766 additions and 6081 deletions

View file

@ -6,7 +6,6 @@ src/components/structures/RoomView.js
src/components/structures/ScrollPanel.js src/components/structures/ScrollPanel.js
src/components/structures/SearchBox.js src/components/structures/SearchBox.js
src/components/structures/UploadBar.js src/components/structures/UploadBar.js
src/components/views/avatars/BaseAvatar.js
src/components/views/avatars/MemberAvatar.js src/components/views/avatars/MemberAvatar.js
src/components/views/create_room/RoomAlias.js src/components/views/create_room/RoomAlias.js
src/components/views/dialogs/SetPasswordDialog.js src/components/views/dialogs/SetPasswordDialog.js

View file

@ -1,3 +1,629 @@
Changes in [2.6.1](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v2.6.1) (2020-05-22)
===================================================================================================
[Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v2.6.0...v2.6.1)
* Fix key backup restore with SSSS
[\#4617](https://github.com/matrix-org/matrix-react-sdk/pull/4617)
* Remove SSSS key upgrade check from rageshake
[\#4616](https://github.com/matrix-org/matrix-react-sdk/pull/4616)
Changes in [2.6.0](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v2.6.0) (2020-05-19)
===================================================================================================
[Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v2.6.0-rc.1...v2.6.0)
* Upgrade to JS SDK 6.1.0
* Revert "ImageView make clicking off it easier"
[\#4602](https://github.com/matrix-org/matrix-react-sdk/pull/4602)
* Remove debugging that causes email addresses to load forever (to release)
[\#4598](https://github.com/matrix-org/matrix-react-sdk/pull/4598)
Changes in [2.6.0-rc.1](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v2.6.0-rc.1) (2020-05-14)
=============================================================================================================
[Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v2.5.0...v2.6.0-rc.1)
* Upgrade to JS SDK 6.1.0-rc.1
* Update from Weblate
[\#4596](https://github.com/matrix-org/matrix-react-sdk/pull/4596)
* Fix message edits dialog being wrong and sometimes crashing
[\#4595](https://github.com/matrix-org/matrix-react-sdk/pull/4595)
* Acquire a new session before enacting deactivation
[\#4584](https://github.com/matrix-org/matrix-react-sdk/pull/4584)
* Remove UI for upgrading 4S to symmetric encryption
[\#4581](https://github.com/matrix-org/matrix-react-sdk/pull/4581)
* Add copy to SSO prompts during cross-signing setup
[\#4555](https://github.com/matrix-org/matrix-react-sdk/pull/4555)
* Re-fix OpenID requests from widgets
[\#4592](https://github.com/matrix-org/matrix-react-sdk/pull/4592)
* Fix persistent widgets on desktop / http
[\#4591](https://github.com/matrix-org/matrix-react-sdk/pull/4591)
* Updated link and added:Yarn two is not yet used.
[\#4589](https://github.com/matrix-org/matrix-react-sdk/pull/4589)
* Fix topic dialog not supporting escape as it didn't have a "Close"
[\#4578](https://github.com/matrix-org/matrix-react-sdk/pull/4578)
* Default to public room when creating room from room directory
[\#4579](https://github.com/matrix-org/matrix-react-sdk/pull/4579)
* Replace png flags and add Kosovo to country code dropdown
[\#4576](https://github.com/matrix-org/matrix-react-sdk/pull/4576)
* Rename `trash (custom).svg` as electron doesn't like paths with spaces
[\#4583](https://github.com/matrix-org/matrix-react-sdk/pull/4583)
* Fix sign in / up links on previewed rooms
[\#4582](https://github.com/matrix-org/matrix-react-sdk/pull/4582)
* Avoid soft crash if unknown device in verification
[\#4580](https://github.com/matrix-org/matrix-react-sdk/pull/4580)
* Add slash commands /query and /msg to match IRC
[\#4568](https://github.com/matrix-org/matrix-react-sdk/pull/4568)
* Send cross-signing debug booleans over rageshake
[\#4570](https://github.com/matrix-org/matrix-react-sdk/pull/4570)
* Prompt user to specify an alternate server if theirs has registration off
[\#4575](https://github.com/matrix-org/matrix-react-sdk/pull/4575)
* Don't try and redact redactions for "Remove recent messages"
[\#4573](https://github.com/matrix-org/matrix-react-sdk/pull/4573)
* View Source should target the replacing event rather than the root one
[\#4571](https://github.com/matrix-org/matrix-react-sdk/pull/4571)
* Fix passphrase reset in key backup restore dialog
[\#4569](https://github.com/matrix-org/matrix-react-sdk/pull/4569)
* Ensure key backup gets dealt with correctly during secret storage reset
[\#4556](https://github.com/matrix-org/matrix-react-sdk/pull/4556)
* Fix crash for broken invites
[\#4565](https://github.com/matrix-org/matrix-react-sdk/pull/4565)
* Fix rageshake with no matrix client
[\#4572](https://github.com/matrix-org/matrix-react-sdk/pull/4572)
* Update from Weblate
[\#4567](https://github.com/matrix-org/matrix-react-sdk/pull/4567)
* Bring back UnknownBody for UISIs
[\#4564](https://github.com/matrix-org/matrix-react-sdk/pull/4564)
* clear tag panel selection if the community selected is left
[\#4559](https://github.com/matrix-org/matrix-react-sdk/pull/4559)
* Close ImageView when redacting
[\#4560](https://github.com/matrix-org/matrix-react-sdk/pull/4560)
* Redesign redactions
[\#4484](https://github.com/matrix-org/matrix-react-sdk/pull/4484)
* Don't try to reload profile information when closing the user panel
[\#4547](https://github.com/matrix-org/matrix-react-sdk/pull/4547)
* Fix right panel hiding when viewing room member
[\#4558](https://github.com/matrix-org/matrix-react-sdk/pull/4558)
* Don't erase password confirm on registration error
[\#4540](https://github.com/matrix-org/matrix-react-sdk/pull/4540)
* Add a loading state for email addresses/phone numbers in settings
[\#4557](https://github.com/matrix-org/matrix-react-sdk/pull/4557)
* set the meta tag for theme-color to the same theme css background
[\#4554](https://github.com/matrix-org/matrix-react-sdk/pull/4554)
* Update Invite Dialog copy to include email addresses
[\#4497](https://github.com/matrix-org/matrix-react-sdk/pull/4497)
* Fix slider toggle regression.
[\#4546](https://github.com/matrix-org/matrix-react-sdk/pull/4546)
* Fix a crash where a name could unexpectedly be an empty list
[\#4552](https://github.com/matrix-org/matrix-react-sdk/pull/4552)
* Solves communities can be dragged from context menu
[\#4492](https://github.com/matrix-org/matrix-react-sdk/pull/4492)
* Remove prefixes for composer avatar urls
[\#4553](https://github.com/matrix-org/matrix-react-sdk/pull/4553)
* Fix reply RR spacing getting doubled
[\#4541](https://github.com/matrix-org/matrix-react-sdk/pull/4541)
* Differentiate copy for own untrusted device dialog
[\#4549](https://github.com/matrix-org/matrix-react-sdk/pull/4549)
* EventIndex: Reduce the logging the event index is producing.
[\#4548](https://github.com/matrix-org/matrix-react-sdk/pull/4548)
* Increase rageshake size limit to 5mb
[\#4543](https://github.com/matrix-org/matrix-react-sdk/pull/4543)
* Update from Weblate
[\#4542](https://github.com/matrix-org/matrix-react-sdk/pull/4542)
* Guard against race when waiting for cross-signing to be ready
[\#4539](https://github.com/matrix-org/matrix-react-sdk/pull/4539)
* Wait for user to be verified in e2e setup
[\#4537](https://github.com/matrix-org/matrix-react-sdk/pull/4537)
* Convert MatrixChat to a TypeScript class
[\#4462](https://github.com/matrix-org/matrix-react-sdk/pull/4462)
* Mark room as read when escape is pressed
[\#4271](https://github.com/matrix-org/matrix-react-sdk/pull/4271)
* Only show key backup reminder when confirmed by server to be missing
[\#4534](https://github.com/matrix-org/matrix-react-sdk/pull/4534)
* Add device name to unverified session toast
[\#4535](https://github.com/matrix-org/matrix-react-sdk/pull/4535)
* Show progress when loading keys
[\#4507](https://github.com/matrix-org/matrix-react-sdk/pull/4507)
* Fix device verification toasts not disappearing
[\#4532](https://github.com/matrix-org/matrix-react-sdk/pull/4532)
* Update toast copy again
[\#4529](https://github.com/matrix-org/matrix-react-sdk/pull/4529)
* Re-apply theme after login
[\#4518](https://github.com/matrix-org/matrix-react-sdk/pull/4518)
* Reduce maximum width of toasts & allow multiple lines
[\#4525](https://github.com/matrix-org/matrix-react-sdk/pull/4525)
* Treat sessions that are there when we log in as old
[\#4524](https://github.com/matrix-org/matrix-react-sdk/pull/4524)
* Allow resetting storage from the access dialog
[\#4521](https://github.com/matrix-org/matrix-react-sdk/pull/4521)
* Update (bulk) unverified device toast copy
[\#4522](https://github.com/matrix-org/matrix-react-sdk/pull/4522)
* Make new device toasts appear above review toasts
[\#4519](https://github.com/matrix-org/matrix-react-sdk/pull/4519)
* Separate toasts for existing & new device verification
[\#4511](https://github.com/matrix-org/matrix-react-sdk/pull/4511)
* Slightly darker toggle off bg color
[\#4477](https://github.com/matrix-org/matrix-react-sdk/pull/4477)
* Fix pill vertical align
[\#4514](https://github.com/matrix-org/matrix-react-sdk/pull/4514)
* Fix set up encryption toast to use "set up" as action
[\#4502](https://github.com/matrix-org/matrix-react-sdk/pull/4502)
* Don't enable e2ee when inviting a 3pid
[\#4509](https://github.com/matrix-org/matrix-react-sdk/pull/4509)
* Fix internal link styling in Security Settings
[\#4510](https://github.com/matrix-org/matrix-react-sdk/pull/4510)
* Small custom theming fixes
[\#4508](https://github.com/matrix-org/matrix-react-sdk/pull/4508)
* Fix scaling issues
[\#4355](https://github.com/matrix-org/matrix-react-sdk/pull/4355)
* Aggregate device verify toasts
[\#4506](https://github.com/matrix-org/matrix-react-sdk/pull/4506)
* Support setting username and avatar colors in custom themes
[\#4503](https://github.com/matrix-org/matrix-react-sdk/pull/4503)
* only clear on continuations where the clear isn't done by SenderProfile
[\#4501](https://github.com/matrix-org/matrix-react-sdk/pull/4501)
* cap width of editable item list item to leave space for its X button
[\#4495](https://github.com/matrix-org/matrix-react-sdk/pull/4495)
* Add a link from settings / devices to your user profile
[\#4498](https://github.com/matrix-org/matrix-react-sdk/pull/4498)
* Update from Weblate
[\#4496](https://github.com/matrix-org/matrix-react-sdk/pull/4496)
* Make icon change in SetupEncryptionDialog
[\#4485](https://github.com/matrix-org/matrix-react-sdk/pull/4485)
* Remove invite only padlocks feature flag
[\#4487](https://github.com/matrix-org/matrix-react-sdk/pull/4487)
* Fix incorrect toast if security setup skipped
[\#4486](https://github.com/matrix-org/matrix-react-sdk/pull/4486)
* Revert "Update emojibase for fixed emoji codepoints and Emoji 13 support"
[\#4482](https://github.com/matrix-org/matrix-react-sdk/pull/4482)
* Fix widget URL templating (again)
[\#4481](https://github.com/matrix-org/matrix-react-sdk/pull/4481)
* Fix recovery link on login verification flow
[\#4479](https://github.com/matrix-org/matrix-react-sdk/pull/4479)
* Make avatars in pills occupy the entire space using cropping
[\#4476](https://github.com/matrix-org/matrix-react-sdk/pull/4476)
* Use WidgetType more often to avoid breaking new sticker pickers
[\#4458](https://github.com/matrix-org/matrix-react-sdk/pull/4458)
* Update logging for unmanaged widgets, and add TODO comments for other areas
[\#4460](https://github.com/matrix-org/matrix-react-sdk/pull/4460)
* Fix OpenID requests from widgets
[\#4459](https://github.com/matrix-org/matrix-react-sdk/pull/4459)
* Take encrypted message search out of labs
[\#4467](https://github.com/matrix-org/matrix-react-sdk/pull/4467)
* Fix BigEmoji for replies
[\#4475](https://github.com/matrix-org/matrix-react-sdk/pull/4475)
* Update login security copy and design to match Figma
[\#4472](https://github.com/matrix-org/matrix-react-sdk/pull/4472)
* Fix i18n of SSO UIA copy in Deactivate Account Dialog
[\#4471](https://github.com/matrix-org/matrix-react-sdk/pull/4471)
* Assert type of domNode as HTMLElement to fix build
[\#4470](https://github.com/matrix-org/matrix-react-sdk/pull/4470)
* Unignored in settings
[\#4466](https://github.com/matrix-org/matrix-react-sdk/pull/4466)
* Skip auth flow test for signing upload when password present
[\#4464](https://github.com/matrix-org/matrix-react-sdk/pull/4464)
* If user cannot set email during registration don't tell them to
[\#4461](https://github.com/matrix-org/matrix-react-sdk/pull/4461)
* Fix post-ts autocomplete, it is not null
[\#4463](https://github.com/matrix-org/matrix-react-sdk/pull/4463)
* Convert autocomplete stuff to TypeScript
[\#4452](https://github.com/matrix-org/matrix-react-sdk/pull/4452)
* Add a back button to the devtools verifications panel
[\#4455](https://github.com/matrix-org/matrix-react-sdk/pull/4455)
* Fix: wait until cross-signing keys are fetched to show verify button
[\#4456](https://github.com/matrix-org/matrix-react-sdk/pull/4456)
* Handle load error in create secret storage dialog
[\#4451](https://github.com/matrix-org/matrix-react-sdk/pull/4451)
* Allow iframes and Jitsi URLs in /addwidget
[\#4382](https://github.com/matrix-org/matrix-react-sdk/pull/4382)
* Support m.jitsi-typed widgets as Jitsi widgets
[\#4379](https://github.com/matrix-org/matrix-react-sdk/pull/4379)
* Don't recheck DeviceListener until after initial sync is finished
[\#4450](https://github.com/matrix-org/matrix-react-sdk/pull/4450)
* Fix CSS class in ButtonPlaceholder
[\#4449](https://github.com/matrix-org/matrix-react-sdk/pull/4449)
* Password Login make sure tab takes user to password field
[\#4441](https://github.com/matrix-org/matrix-react-sdk/pull/4441)
* Network Dropdown fix things not scrolling properly
[\#4439](https://github.com/matrix-org/matrix-react-sdk/pull/4439)
* ImageView make clicking off it easier
[\#4448](https://github.com/matrix-org/matrix-react-sdk/pull/4448)
* Add slash command to send a rageshake
[\#4443](https://github.com/matrix-org/matrix-react-sdk/pull/4443)
* EventIndex: Filter out events that don't have a propper content value.
[\#4446](https://github.com/matrix-org/matrix-react-sdk/pull/4446)
* Revert "Fix Filepanel scroll position state lost when room is changed"
[\#4445](https://github.com/matrix-org/matrix-react-sdk/pull/4445)
* Update seshat copy to remove trailing full stop
[\#4442](https://github.com/matrix-org/matrix-react-sdk/pull/4442)
* Fix Filepanel scroll position state lost when room is changed
[\#4388](https://github.com/matrix-org/matrix-react-sdk/pull/4388)
* Fix end-to-end tests for end-to-end encryption verification
[\#4436](https://github.com/matrix-org/matrix-react-sdk/pull/4436)
* Don't explode if the e2e test directory exists when crashing
[\#4437](https://github.com/matrix-org/matrix-react-sdk/pull/4437)
* Bump https-proxy-agent from 2.2.1 to 2.2.4 in /test/end-to-end-tests
[\#4430](https://github.com/matrix-org/matrix-react-sdk/pull/4430)
* Minor updates to e2e test instructions on Windows
[\#4432](https://github.com/matrix-org/matrix-react-sdk/pull/4432)
* Fix typo
[\#4435](https://github.com/matrix-org/matrix-react-sdk/pull/4435)
* Catch errors sooner so users can recover more easily
[\#4122](https://github.com/matrix-org/matrix-react-sdk/pull/4122)
* Rageshake: remind user of unsupported browser and send modernizr report
[\#4381](https://github.com/matrix-org/matrix-react-sdk/pull/4381)
* Design tweaks for DM Room Tiles
[\#4338](https://github.com/matrix-org/matrix-react-sdk/pull/4338)
* Don't break spills over multiple lines, ellipsis them at max-1-line
[\#4434](https://github.com/matrix-org/matrix-react-sdk/pull/4434)
* Turn the end-to-end tests back on and fix the lazy-loading tests
[\#4433](https://github.com/matrix-org/matrix-react-sdk/pull/4433)
* Fix key backup debug panel
[\#4431](https://github.com/matrix-org/matrix-react-sdk/pull/4431)
* Convert cross-signing feature flag to setting
[\#4416](https://github.com/matrix-org/matrix-react-sdk/pull/4416)
* Make RoomPublishSetting import-skinnable
[\#4428](https://github.com/matrix-org/matrix-react-sdk/pull/4428)
* Iterate cross-signing copy
[\#4425](https://github.com/matrix-org/matrix-react-sdk/pull/4425)
* Fix: ensure twemoji font is loaded when showing SAS emojis
[\#4422](https://github.com/matrix-org/matrix-react-sdk/pull/4422)
* Revert "Fix: load Twemoji before login so complete security gets the right
emojis during SAS"
[\#4421](https://github.com/matrix-org/matrix-react-sdk/pull/4421)
* Fix: load Twemoji before login so complete security gets the right emojis
during SAS
[\#4419](https://github.com/matrix-org/matrix-react-sdk/pull/4419)
* consolidate and fix copy to clipboard
[\#4410](https://github.com/matrix-org/matrix-react-sdk/pull/4410)
* Fix Message Context Menu options not displaying: block
[\#4418](https://github.com/matrix-org/matrix-react-sdk/pull/4418)
* Fix pills being broken by unescaped characters
[\#4411](https://github.com/matrix-org/matrix-react-sdk/pull/4411)
Changes in [2.5.0](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v2.5.0) (2020-05-05)
===================================================================================================
[Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v2.5.0-rc.6...v2.5.0)
* Upgrade to JS SDK 6.0.0
* EventIndex: Reduce the logging the event index is producing.
[\#4551](https://github.com/matrix-org/matrix-react-sdk/pull/4551)
* Differentiate copy for own untrusted device dialog
[\#4550](https://github.com/matrix-org/matrix-react-sdk/pull/4550)
* More detailed progress for key backup progress
[\#4545](https://github.com/matrix-org/matrix-react-sdk/pull/4545)
* Increase rageshake size limit to 5mb
[\#4544](https://github.com/matrix-org/matrix-react-sdk/pull/4544)
Changes in [2.5.0-rc.6](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v2.5.0-rc.6) (2020-05-01)
=============================================================================================================
[Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v2.5.0-rc.5...v2.5.0-rc.6)
* Upgrade to JS SDK 6.0.0-rc.2
* Wait for user to be verified in e2e setup
[\#4538](https://github.com/matrix-org/matrix-react-sdk/pull/4538)
* Add device name to unverified session toast
[\#4536](https://github.com/matrix-org/matrix-react-sdk/pull/4536)
Changes in [2.5.0-rc.5](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v2.5.0-rc.5) (2020-04-30)
=============================================================================================================
[Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v2.5.0-rc.4...v2.5.0-rc.5)
* Upgrade to JS SDK 6.0.0-rc.1
* Fix device verification toasts not disappearing
[\#4533](https://github.com/matrix-org/matrix-react-sdk/pull/4533)
* Allow resetting storage from the access dialog
[\#4526](https://github.com/matrix-org/matrix-react-sdk/pull/4526)
* Update toast copy again
[\#4530](https://github.com/matrix-org/matrix-react-sdk/pull/4530)
* Reduce maximum width of toasts & allow multiple lines
[\#4528](https://github.com/matrix-org/matrix-react-sdk/pull/4528)
* Treat sessions that are there when we log in as old
[\#4527](https://github.com/matrix-org/matrix-react-sdk/pull/4527)
* Update (bulk) unverified device toast copy
[\#4523](https://github.com/matrix-org/matrix-react-sdk/pull/4523)
* Make new device toasts appear above review toasts
[\#4520](https://github.com/matrix-org/matrix-react-sdk/pull/4520)
* Separate toasts for existing & new device verification
[\#4517](https://github.com/matrix-org/matrix-react-sdk/pull/4517)
* Aggregate device verify toasts
[\#4516](https://github.com/matrix-org/matrix-react-sdk/pull/4516)
* Fix set up encryption toast to use "set up" as action
[\#4515](https://github.com/matrix-org/matrix-react-sdk/pull/4515)
* Fix internal link styling in Security Settings
[\#4512](https://github.com/matrix-org/matrix-react-sdk/pull/4512)
* Don't enable e2ee when inviting a 3pid
[\#4513](https://github.com/matrix-org/matrix-react-sdk/pull/4513)
* only clear on continuations where the clear isn't done by SenderProfile
[\#4505](https://github.com/matrix-org/matrix-react-sdk/pull/4505)
* cap width of editable item list item to leave space for its X button
[\#4504](https://github.com/matrix-org/matrix-react-sdk/pull/4504)
* Add a link from settings / devices to your user profile
[\#4499](https://github.com/matrix-org/matrix-react-sdk/pull/4499)
* Make icon change in SetupEncryptionDialog
[\#4490](https://github.com/matrix-org/matrix-react-sdk/pull/4490)
* Remove invite only padlocks feature flag for release
[\#4488](https://github.com/matrix-org/matrix-react-sdk/pull/4488)
* Fix incorrect toast if security setup skipped
[\#4489](https://github.com/matrix-org/matrix-react-sdk/pull/4489)
* Revert "Update emojibase for fixed emoji codepoints and Emoji 13 support"
[\#4483](https://github.com/matrix-org/matrix-react-sdk/pull/4483)
* Fix recovery link on login verification flow
[\#4480](https://github.com/matrix-org/matrix-react-sdk/pull/4480)
Changes in [2.5.0-rc.4](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v2.5.0-rc.4) (2020-04-23)
=============================================================================================================
[Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v2.5.0-rc.3...v2.5.0-rc.4)
* Upgrade to JS SDK 5.3.1-rc.4
* Take encrypted message search out of labs for release
[\#4468](https://github.com/matrix-org/matrix-react-sdk/pull/4468)
* Update login security copy and design to match Figma [to release]
[\#4474](https://github.com/matrix-org/matrix-react-sdk/pull/4474)
* Fix i18n of SSO UIA copy in Deactivate Account Dialog on release
[\#4473](https://github.com/matrix-org/matrix-react-sdk/pull/4473)
* Skip auth flow test for signing upload when password present
[\#4465](https://github.com/matrix-org/matrix-react-sdk/pull/4465)
* Fix: wait until cross-signing keys are fetched to show verify button
[\#4457](https://github.com/matrix-org/matrix-react-sdk/pull/4457)
* Handle load error in create secret storage dialog
[\#4454](https://github.com/matrix-org/matrix-react-sdk/pull/4454)
* Don't recheck DeviceListener until after initial sync is finished
[\#4450](https://github.com/matrix-org/matrix-react-sdk/pull/4450)
* EventIndex: Filter out events that don't have a propper content value.
[\#4447](https://github.com/matrix-org/matrix-react-sdk/pull/4447)
Changes in [2.5.0-rc.3](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v2.5.0-rc.3) (2020-04-17)
=============================================================================================================
[Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v2.5.0-rc.2...v2.5.0-rc.3)
* Upgrade to JS SDK 5.3.1-rc.3
Changes in [2.5.0-rc.2](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v2.5.0-rc.2) (2020-04-16)
=============================================================================================================
[Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v2.5.0-rc.1...v2.5.0-rc.2)
* Upgrade to JS SDK 5.3.1-rc.2
* [Release] Convert cross-signing flag to a setting
[\#4429](https://github.com/matrix-org/matrix-react-sdk/pull/4429)
* Iterate cross-signing copy
[\#4426](https://github.com/matrix-org/matrix-react-sdk/pull/4426)
* Fix: ensure twemoji font is loaded when showing SAS emojis
[\#4423](https://github.com/matrix-org/matrix-react-sdk/pull/4423)
Changes in [2.5.0-rc.1](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v2.5.0-rc.1) (2020-04-15)
=============================================================================================================
[Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v2.4.0-rc.1...v2.5.0-rc.1)
* Upgrade to JS SDK 5.3.1-rc.1
* null-guard MatrixClientPeg in RoomViewStore
[\#4415](https://github.com/matrix-org/matrix-react-sdk/pull/4415)
* Fix: prevent spurious notifications from indexer
[\#4414](https://github.com/matrix-org/matrix-react-sdk/pull/4414)
* Login block on initialSync with spinners
[\#4413](https://github.com/matrix-org/matrix-react-sdk/pull/4413)
* Allow network dropdown to be scrollable and fix context menu padding calc
[\#4408](https://github.com/matrix-org/matrix-react-sdk/pull/4408)
* Remove end-to-end message info option when cross-signing is used
[\#4412](https://github.com/matrix-org/matrix-react-sdk/pull/4412)
* Minimize widgets by default
[\#4378](https://github.com/matrix-org/matrix-react-sdk/pull/4378)
* Add comments to highlight where we'll need m.widget support
[\#4380](https://github.com/matrix-org/matrix-react-sdk/pull/4380)
* Fix: dont try to enable 4S if cross-signing is disabled
[\#4407](https://github.com/matrix-org/matrix-react-sdk/pull/4407)
* Fix: don't confuse user with spinner during complete security step
[\#4406](https://github.com/matrix-org/matrix-react-sdk/pull/4406)
* Fix: avoid potential crash during certain verification paths
[\#4405](https://github.com/matrix-org/matrix-react-sdk/pull/4405)
* Add riot-desktop shortcuts for forward/back matching browsers&slack
[\#4392](https://github.com/matrix-org/matrix-react-sdk/pull/4392)
* Convert LoggedInView to an ES6 PureComponent Class & TypeScript
[\#4398](https://github.com/matrix-org/matrix-react-sdk/pull/4398)
* Fix width of MVideoBody in FilePanel
[\#4396](https://github.com/matrix-org/matrix-react-sdk/pull/4396)
* Remove unused react-addons-css-transition-group
[\#4397](https://github.com/matrix-org/matrix-react-sdk/pull/4397)
* Fix emoji tooltip flickering
[\#4395](https://github.com/matrix-org/matrix-react-sdk/pull/4395)
* Pass along key backup for bootstrap
[\#4374](https://github.com/matrix-org/matrix-react-sdk/pull/4374)
* Fix create room dialog e2ee private room setting
[\#4403](https://github.com/matrix-org/matrix-react-sdk/pull/4403)
* Sort emoji by shortcodes for autocomplete primarily for :-1 and :+1
[\#4391](https://github.com/matrix-org/matrix-react-sdk/pull/4391)
* Fix invalid commands when figuring out whether to set isTyping
[\#4390](https://github.com/matrix-org/matrix-react-sdk/pull/4390)
* op/deop return error if trying to affect an unknown user
[\#4389](https://github.com/matrix-org/matrix-react-sdk/pull/4389)
* Composer pills respect showPillAvatar setting
[\#4384](https://github.com/matrix-org/matrix-react-sdk/pull/4384)
* Only send typing notification when composing commands which send messages
[\#4385](https://github.com/matrix-org/matrix-react-sdk/pull/4385)
* Reverse order of they match/they don't match buttons
[\#4386](https://github.com/matrix-org/matrix-react-sdk/pull/4386)
* Use singular text on 'delete sessions' button for SSO
[\#4383](https://github.com/matrix-org/matrix-react-sdk/pull/4383)
* Pass widget data through from sticker picker
[\#4377](https://github.com/matrix-org/matrix-react-sdk/pull/4377)
* Obliterate widgets when they are minimized
[\#4376](https://github.com/matrix-org/matrix-react-sdk/pull/4376)
* Fix image thumbnail width when read receipts are hidden
[\#4370](https://github.com/matrix-org/matrix-react-sdk/pull/4370)
* Add toggle for e2ee when creating private room
[\#4362](https://github.com/matrix-org/matrix-react-sdk/pull/4362)
* Fix logging for failed searches
[\#4372](https://github.com/matrix-org/matrix-react-sdk/pull/4372)
* Ensure UI is updated when cross-signing gets disabled
[\#4369](https://github.com/matrix-org/matrix-react-sdk/pull/4369)
* Retry the request for the master key from SSSS on login
[\#4371](https://github.com/matrix-org/matrix-react-sdk/pull/4371)
* Upgrade deps
[\#4365](https://github.com/matrix-org/matrix-react-sdk/pull/4365)
* App load tweaks, i18n and localStorage
[\#4367](https://github.com/matrix-org/matrix-react-sdk/pull/4367)
* Fix encoding of widget arguments
[\#4366](https://github.com/matrix-org/matrix-react-sdk/pull/4366)
Changes in [2.4.0-rc.1](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v2.4.0-rc.1) (2020-04-08)
=============================================================================================================
[Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v2.3.1...v2.4.0-rc.1)
* Upgrade to JS SDK to 5.3.0-rc.1
* EventIndex: Log if we had all events in a checkpoint but are continuing.
[\#4363](https://github.com/matrix-org/matrix-react-sdk/pull/4363)
* Update from Weblate
[\#4364](https://github.com/matrix-org/matrix-react-sdk/pull/4364)
* Support deactivating your account with SSO
[\#4356](https://github.com/matrix-org/matrix-react-sdk/pull/4356)
* Add debug status for cached backup key format
[\#4359](https://github.com/matrix-org/matrix-react-sdk/pull/4359)
* Fix composer placeholder not updating
[\#4361](https://github.com/matrix-org/matrix-react-sdk/pull/4361)
* Fix sas verification buttons to match figma
[\#4358](https://github.com/matrix-org/matrix-react-sdk/pull/4358)
* Don't show fallback text for verification requests
[\#4345](https://github.com/matrix-org/matrix-react-sdk/pull/4345)
* Fix share dialog correctly
[\#4360](https://github.com/matrix-org/matrix-react-sdk/pull/4360)
* Use singular copy when only deleting one device
[\#4357](https://github.com/matrix-org/matrix-react-sdk/pull/4357)
* Deem m.sticker events as actionable for reacting
[\#4288](https://github.com/matrix-org/matrix-react-sdk/pull/4288)
* Don't show spinner over encryption setup dialogs
[\#4354](https://github.com/matrix-org/matrix-react-sdk/pull/4354)
* Support Jitsi information from client .well-known
[\#4348](https://github.com/matrix-org/matrix-react-sdk/pull/4348)
* Add new default home page fallback
[\#4350](https://github.com/matrix-org/matrix-react-sdk/pull/4350)
* Check more account data in toast listener
[\#4351](https://github.com/matrix-org/matrix-react-sdk/pull/4351)
* Don't try to send presence updates until the client is started
[\#4353](https://github.com/matrix-org/matrix-react-sdk/pull/4353)
* Fix copy button on code blocks when there is no code tag just pre
[\#4352](https://github.com/matrix-org/matrix-react-sdk/pull/4352)
* Clear sessionStorage on sign out
[\#4346](https://github.com/matrix-org/matrix-react-sdk/pull/4346)
* Re-request room keys after auth
[\#4341](https://github.com/matrix-org/matrix-react-sdk/pull/4341)
* Update emojibase for fixed emoji codepoints and Emoji 13 support
[\#4344](https://github.com/matrix-org/matrix-react-sdk/pull/4344)
* App load order tweaks for code splitting
[\#4343](https://github.com/matrix-org/matrix-react-sdk/pull/4343)
* Fix alignment of e2e icon in userinfo and expose full displayname in title
[\#4312](https://github.com/matrix-org/matrix-react-sdk/pull/4312)
* Adjust copy & UX for self-verification
[\#4342](https://github.com/matrix-org/matrix-react-sdk/pull/4342)
* QR code reciprocation
[\#4334](https://github.com/matrix-org/matrix-react-sdk/pull/4334)
* Fix Hangul typing does not work properly
[\#4339](https://github.com/matrix-org/matrix-react-sdk/pull/4339)
* Fix: dismiss setup encryption toast if cross-signing is ready
[\#4336](https://github.com/matrix-org/matrix-react-sdk/pull/4336)
* Fix read marker visibility for grouped events
[\#4340](https://github.com/matrix-org/matrix-react-sdk/pull/4340)
* Make all 'font-size's and 'line-height's rem
[\#4305](https://github.com/matrix-org/matrix-react-sdk/pull/4305)
* Fix spurious extra devices on registration
[\#4337](https://github.com/matrix-org/matrix-react-sdk/pull/4337)
* Fix the edit messager composer
[\#4333](https://github.com/matrix-org/matrix-react-sdk/pull/4333)
* Fix Room Settings Dialog Notifications tab icon
[\#4321](https://github.com/matrix-org/matrix-react-sdk/pull/4321)
* Fix various cases of React warnings by silencing them
[\#4331](https://github.com/matrix-org/matrix-react-sdk/pull/4331)
* Only apply padding to standard textual buttons (kind buttons)
[\#4332](https://github.com/matrix-org/matrix-react-sdk/pull/4332)
* Use console.log in place of console.warn for less warnings
[\#4330](https://github.com/matrix-org/matrix-react-sdk/pull/4330)
* Revert componentDidMount changes on breadcrumbs
[\#4329](https://github.com/matrix-org/matrix-react-sdk/pull/4329)
* Use new method for checking secret storage key
[\#4309](https://github.com/matrix-org/matrix-react-sdk/pull/4309)
* Label and use UNSAFE_componentWillMount to minimize warnings
[\#4315](https://github.com/matrix-org/matrix-react-sdk/pull/4315)
* Fix a number of minor code quality issues
[\#4314](https://github.com/matrix-org/matrix-react-sdk/pull/4314)
* Use componentDidMount in place of componentWillMount where possible
[\#4313](https://github.com/matrix-org/matrix-react-sdk/pull/4313)
* EventIndex: Mark the initial checkpoints for a full crawl.
[\#4325](https://github.com/matrix-org/matrix-react-sdk/pull/4325)
* Fix UserInfo e2e buttons to match Figma
[\#4320](https://github.com/matrix-org/matrix-react-sdk/pull/4320)
* Only auto-scroll to RoomTile when clicking on RoomTile or via shortcuts
[\#4316](https://github.com/matrix-org/matrix-react-sdk/pull/4316)
* Support SSO for interactive authentication
[\#4292](https://github.com/matrix-org/matrix-react-sdk/pull/4292)
* Fix /invite Slash Command
[\#4328](https://github.com/matrix-org/matrix-react-sdk/pull/4328)
* Fix jitsi popout URL
[\#4326](https://github.com/matrix-org/matrix-react-sdk/pull/4326)
* Use our own jitsi widget for the popout URL
[\#4323](https://github.com/matrix-org/matrix-react-sdk/pull/4323)
* Fix popout support for jitsi widgets
[\#4319](https://github.com/matrix-org/matrix-react-sdk/pull/4319)
* Fix: legacy verify user throwing error
[\#4318](https://github.com/matrix-org/matrix-react-sdk/pull/4318)
* Document settingDefaults
[\#3046](https://github.com/matrix-org/matrix-react-sdk/pull/3046)
* Fix Ctrl+/ for Finnish keyboard where it includes Shift
[\#4317](https://github.com/matrix-org/matrix-react-sdk/pull/4317)
* Rework SlashCommands to better expose aliases
[\#4302](https://github.com/matrix-org/matrix-react-sdk/pull/4302)
* Fix EventListSummary when RR rendering is disabled
[\#4311](https://github.com/matrix-org/matrix-react-sdk/pull/4311)
* Update link to css location.
[\#4299](https://github.com/matrix-org/matrix-react-sdk/pull/4299)
* Fix peeking keeping two timeline update mechanisms in play
[\#4310](https://github.com/matrix-org/matrix-react-sdk/pull/4310)
* Pass new secret storage key to bootstrap path
[\#4308](https://github.com/matrix-org/matrix-react-sdk/pull/4308)
* Show red shield for users that become unverified
[\#4303](https://github.com/matrix-org/matrix-react-sdk/pull/4303)
* Accessibility fixed for Event List Summary and Composer Format Bar
[\#4295](https://github.com/matrix-org/matrix-react-sdk/pull/4295)
* Support $riot: Templates for SSO/CAS urls in the welcome.html page
[\#4279](https://github.com/matrix-org/matrix-react-sdk/pull/4279)
* Added the /html command
[\#4296](https://github.com/matrix-org/matrix-react-sdk/pull/4296)
* EventIndex: Better logging on how many events are added.
[\#4301](https://github.com/matrix-org/matrix-react-sdk/pull/4301)
* Field: mark id as optional in propTypes
[\#4307](https://github.com/matrix-org/matrix-react-sdk/pull/4307)
* Fix view community link icon contrast
[\#4254](https://github.com/matrix-org/matrix-react-sdk/pull/4254)
* Remove underscore from Jitsi conference names
[\#4304](https://github.com/matrix-org/matrix-react-sdk/pull/4304)
* Refactor shield display logic; changed rules for DMs
[\#4290](https://github.com/matrix-org/matrix-react-sdk/pull/4290)
* Fix: bring back global thin scrollbars
[\#4300](https://github.com/matrix-org/matrix-react-sdk/pull/4300)
* Keyboard shortcuts: Escape cancel reply and fix Ctrl+K
[\#4297](https://github.com/matrix-org/matrix-react-sdk/pull/4297)
* Field: make id optional, generate one if not provided
[\#4298](https://github.com/matrix-org/matrix-react-sdk/pull/4298)
* Fix ugly scrollbars in TabbedView (settings), emojipicker and widgets
[\#4293](https://github.com/matrix-org/matrix-react-sdk/pull/4293)
* Rename secret storage force-reset variable to avoid confusion
[\#4274](https://github.com/matrix-org/matrix-react-sdk/pull/4274)
* Fix: can't dismiss unverified session toast when encryption hasn't been
upgraded
[\#4291](https://github.com/matrix-org/matrix-react-sdk/pull/4291)
* Blank out UserInfo avatar when changing between members
[\#4289](https://github.com/matrix-org/matrix-react-sdk/pull/4289)
* Add cancel button to verification panel
[\#4283](https://github.com/matrix-org/matrix-react-sdk/pull/4283)
* Show ongoing verification request straight away when navigating to member
[\#4284](https://github.com/matrix-org/matrix-react-sdk/pull/4284)
* Fix: allow scrolling while window is not focused & remove scrollbar hack
[\#4276](https://github.com/matrix-org/matrix-react-sdk/pull/4276)
* Show whether backup key is cached
[\#4287](https://github.com/matrix-org/matrix-react-sdk/pull/4287)
* Rename unverified session toast
[\#4285](https://github.com/matrix-org/matrix-react-sdk/pull/4285)
* Fix: pick last active DM for verification request
[\#4286](https://github.com/matrix-org/matrix-react-sdk/pull/4286)
* Fix formatBar not hidden after highlight and backspacing some text
[\#4269](https://github.com/matrix-org/matrix-react-sdk/pull/4269)
Changes in [2.3.1](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v2.3.1) (2020-04-01) Changes in [2.3.1](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v2.3.1) (2020-04-01)
=================================================================================================== ===================================================================================================
[Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v2.3.0...v2.3.1) [Full Changelog](https://github.com/matrix-org/matrix-react-sdk/compare/v2.3.0...v2.3.1)

View file

@ -133,8 +133,10 @@ Development
Ensure you have the latest LTS version of Node.js installed. Ensure you have the latest LTS version of Node.js installed.
Using `yarn` instead of `npm` is recommended. Please see the Yarn [install Using `yarn` instead of `npm` is recommended. Please see the Yarn 1 [install
guide](https://yarnpkg.com/docs/install/) if you do not have it already. guide](https://classic.yarnpkg.com/docs/install) if you do not have it
already. This project has not yet been migrated to Yarn 2, so please ensure
`yarn --version` shows a version from the 1.x series.
`matrix-react-sdk` depends on `matrix-js-sdk`. To make use of changes in the `matrix-react-sdk` depends on `matrix-js-sdk`. To make use of changes in the
latter and to ensure tests run against the develop branch of `matrix-js-sdk`, latter and to ensure tests run against the develop branch of `matrix-js-sdk`,

View file

@ -151,6 +151,7 @@ General Style
Don't set things to undefined. Reserve that value to mean "not yet set to anything." Don't set things to undefined. Reserve that value to mean "not yet set to anything."
Boolean objects are verboten. Boolean objects are verboten.
- Use JSDoc - Use JSDoc
- Use switch-case statements where there are 5 or more branches running against the same variable.
ECMAScript ECMAScript
---------- ----------

View file

@ -1,6 +1,6 @@
{ {
"name": "matrix-react-sdk", "name": "matrix-react-sdk",
"version": "2.3.1", "version": "2.6.1",
"description": "SDK for matrix.org using React", "description": "SDK for matrix.org using React",
"author": "matrix.org", "author": "matrix.org",
"repository": { "repository": {
@ -55,6 +55,7 @@
}, },
"dependencies": { "dependencies": {
"@babel/runtime": "^7.8.3", "@babel/runtime": "^7.8.3",
"await-lock": "^2.0.1",
"blueimp-canvas-to-blob": "^3.5.0", "blueimp-canvas-to-blob": "^3.5.0",
"browser-encrypt-attachment": "^0.3.0", "browser-encrypt-attachment": "^0.3.0",
"browser-request": "^0.3.3", "browser-request": "^0.3.3",
@ -64,8 +65,8 @@
"create-react-class": "^15.6.0", "create-react-class": "^15.6.0",
"diff-dom": "^4.1.3", "diff-dom": "^4.1.3",
"diff-match-patch": "^1.0.4", "diff-match-patch": "^1.0.4",
"emojibase-data": "^5.0.1", "emojibase-data": "^4.0.2",
"emojibase-regex": "^4.0.1", "emojibase-regex": "^3.0.0",
"escape-html": "^1.0.3", "escape-html": "^1.0.3",
"file-saver": "^1.3.3", "file-saver": "^1.3.3",
"filesize": "3.5.6", "filesize": "3.5.6",
@ -82,14 +83,13 @@
"matrix-js-sdk": "github:matrix-org/matrix-js-sdk#develop", "matrix-js-sdk": "github:matrix-org/matrix-js-sdk#develop",
"minimist": "^1.2.0", "minimist": "^1.2.0",
"pako": "^1.0.5", "pako": "^1.0.5",
"parse5": "^5.1.1",
"png-chunks-extract": "^1.0.0", "png-chunks-extract": "^1.0.0",
"project-name-generator": "^2.1.7", "project-name-generator": "^2.1.7",
"prop-types": "^15.5.8", "prop-types": "^15.5.8",
"qrcode": "^1.4.4", "qrcode": "^1.4.4",
"qrcode-react": "^0.1.16",
"qs": "^6.6.0", "qs": "^6.6.0",
"react": "^16.9.0", "react": "^16.9.0",
"react-addons-css-transition-group": "15.6.2",
"react-beautiful-dnd": "^4.0.1", "react-beautiful-dnd": "^4.0.1",
"react-dom": "^16.9.0", "react-dom": "^16.9.0",
"react-focus-lock": "^2.2.1", "react-focus-lock": "^2.2.1",
@ -118,7 +118,14 @@
"@babel/register": "^7.7.4", "@babel/register": "^7.7.4",
"@peculiar/webcrypto": "^1.0.22", "@peculiar/webcrypto": "^1.0.22",
"@types/classnames": "^2.2.10", "@types/classnames": "^2.2.10",
"@types/react": "16.9", "@types/flux": "^3.1.9",
"@types/lodash": "^4.14.152",
"@types/modernizr": "^3.5.3",
"@types/node": "^12.12.41",
"@types/qrcode": "^1.3.4",
"@types/react": "^16.9",
"@types/react-dom": "^16.9.8",
"@types/zxcvbn": "^4.4.0",
"babel-eslint": "^10.0.3", "babel-eslint": "^10.0.3",
"babel-jest": "^24.9.0", "babel-jest": "^24.9.0",
"chokidar": "^3.3.1", "chokidar": "^3.3.1",
@ -137,6 +144,7 @@
"flow-parser": "^0.57.3", "flow-parser": "^0.57.3",
"glob": "^5.0.14", "glob": "^5.0.14",
"jest": "^24.9.0", "jest": "^24.9.0",
"jest-canvas-mock": "^2.2.0",
"lolex": "^5.1.2", "lolex": "^5.1.2",
"matrix-mock-request": "^1.2.3", "matrix-mock-request": "^1.2.3",
"matrix-react-test-utils": "^0.2.2", "matrix-react-test-utils": "^0.2.2",
@ -156,6 +164,7 @@
"testMatch": [ "testMatch": [
"<rootDir>/test/**/*-test.js" "<rootDir>/test/**/*-test.js"
], ],
"setupFiles": ["jest-canvas-mock"],
"setupFilesAfterEnv": [ "setupFilesAfterEnv": [
"<rootDir>/test/setupTests.js" "<rootDir>/test/setupTests.js"
], ],

View file

@ -41,6 +41,7 @@
@import "./views/auth/_CountryDropdown.scss"; @import "./views/auth/_CountryDropdown.scss";
@import "./views/auth/_InteractiveAuthEntryComponents.scss"; @import "./views/auth/_InteractiveAuthEntryComponents.scss";
@import "./views/auth/_LanguageSelector.scss"; @import "./views/auth/_LanguageSelector.scss";
@import "./views/auth/_PassphraseField.scss";
@import "./views/auth/_ServerConfig.scss"; @import "./views/auth/_ServerConfig.scss";
@import "./views/auth/_ServerTypeSelector.scss"; @import "./views/auth/_ServerTypeSelector.scss";
@import "./views/auth/_Welcome.scss"; @import "./views/auth/_Welcome.scss";
@ -62,7 +63,6 @@
@import "./views/dialogs/_DeactivateAccountDialog.scss"; @import "./views/dialogs/_DeactivateAccountDialog.scss";
@import "./views/dialogs/_DeviceVerifyDialog.scss"; @import "./views/dialogs/_DeviceVerifyDialog.scss";
@import "./views/dialogs/_DevtoolsDialog.scss"; @import "./views/dialogs/_DevtoolsDialog.scss";
@import "./views/dialogs/_EncryptedEventDialog.scss";
@import "./views/dialogs/_GroupAddressPicker.scss"; @import "./views/dialogs/_GroupAddressPicker.scss";
@import "./views/dialogs/_IncomingSasDialog.scss"; @import "./views/dialogs/_IncomingSasDialog.scss";
@import "./views/dialogs/_InviteDialog.scss"; @import "./views/dialogs/_InviteDialog.scss";
@ -108,11 +108,13 @@
@import "./views/elements/_ManageIntegsButton.scss"; @import "./views/elements/_ManageIntegsButton.scss";
@import "./views/elements/_PowerSelector.scss"; @import "./views/elements/_PowerSelector.scss";
@import "./views/elements/_ProgressBar.scss"; @import "./views/elements/_ProgressBar.scss";
@import "./views/elements/_QRCode.scss";
@import "./views/elements/_ReplyThread.scss"; @import "./views/elements/_ReplyThread.scss";
@import "./views/elements/_ResizeHandle.scss"; @import "./views/elements/_ResizeHandle.scss";
@import "./views/elements/_RichText.scss"; @import "./views/elements/_RichText.scss";
@import "./views/elements/_RoleButton.scss"; @import "./views/elements/_RoleButton.scss";
@import "./views/elements/_RoomAliasField.scss"; @import "./views/elements/_RoomAliasField.scss";
@import "./views/elements/_Slider.scss";
@import "./views/elements/_Spinner.scss"; @import "./views/elements/_Spinner.scss";
@import "./views/elements/_SyntaxHighlight.scss"; @import "./views/elements/_SyntaxHighlight.scss";
@import "./views/elements/_TextWithTooltip.scss"; @import "./views/elements/_TextWithTooltip.scss";
@ -133,12 +135,14 @@
@import "./views/messages/_MNoticeBody.scss"; @import "./views/messages/_MNoticeBody.scss";
@import "./views/messages/_MStickerBody.scss"; @import "./views/messages/_MStickerBody.scss";
@import "./views/messages/_MTextBody.scss"; @import "./views/messages/_MTextBody.scss";
@import "./views/messages/_MVideoBody.scss";
@import "./views/messages/_MessageActionBar.scss"; @import "./views/messages/_MessageActionBar.scss";
@import "./views/messages/_MessageTimestamp.scss"; @import "./views/messages/_MessageTimestamp.scss";
@import "./views/messages/_MjolnirBody.scss"; @import "./views/messages/_MjolnirBody.scss";
@import "./views/messages/_ReactionsRow.scss"; @import "./views/messages/_ReactionsRow.scss";
@import "./views/messages/_ReactionsRowButton.scss"; @import "./views/messages/_ReactionsRowButton.scss";
@import "./views/messages/_ReactionsRowButtonTooltip.scss"; @import "./views/messages/_ReactionsRowButtonTooltip.scss";
@import "./views/messages/_RedactedBody.scss";
@import "./views/messages/_RoomAvatarEvent.scss"; @import "./views/messages/_RoomAvatarEvent.scss";
@import "./views/messages/_SenderProfile.scss"; @import "./views/messages/_SenderProfile.scss";
@import "./views/messages/_TextualEvent.scss"; @import "./views/messages/_TextualEvent.scss";
@ -158,6 +162,8 @@
@import "./views/rooms/_EditMessageComposer.scss"; @import "./views/rooms/_EditMessageComposer.scss";
@import "./views/rooms/_EntityTile.scss"; @import "./views/rooms/_EntityTile.scss";
@import "./views/rooms/_EventTile.scss"; @import "./views/rooms/_EventTile.scss";
@import "./views/rooms/_GroupLayout.scss";
@import "./views/rooms/_IRCLayout.scss";
@import "./views/rooms/_InviteOnlyIcon.scss"; @import "./views/rooms/_InviteOnlyIcon.scss";
@import "./views/rooms/_JumpToBottomButton.scss"; @import "./views/rooms/_JumpToBottomButton.scss";
@import "./views/rooms/_LinkPreviewWidget.scss"; @import "./views/rooms/_LinkPreviewWidget.scss";
@ -200,6 +206,7 @@
@import "./views/settings/tabs/room/_GeneralRoomSettingsTab.scss"; @import "./views/settings/tabs/room/_GeneralRoomSettingsTab.scss";
@import "./views/settings/tabs/room/_RolesRoomSettingsTab.scss"; @import "./views/settings/tabs/room/_RolesRoomSettingsTab.scss";
@import "./views/settings/tabs/room/_SecurityRoomSettingsTab.scss"; @import "./views/settings/tabs/room/_SecurityRoomSettingsTab.scss";
@import "./views/settings/tabs/user/_AppearanceUserSettingsTab.scss";
@import "./views/settings/tabs/user/_GeneralUserSettingsTab.scss"; @import "./views/settings/tabs/user/_GeneralUserSettingsTab.scss";
@import "./views/settings/tabs/user/_HelpUserSettingsTab.scss"; @import "./views/settings/tabs/user/_HelpUserSettingsTab.scss";
@import "./views/settings/tabs/user/_MjolnirUserSettingsTab.scss"; @import "./views/settings/tabs/user/_MjolnirUserSettingsTab.scss";

View file

@ -14,6 +14,13 @@ See the License for the specific language governing permissions and
limitations under the License. limitations under the License.
*/ */
$font-1px: 0.067rem;
$font-2px: 0.133rem;
$font-3px: 0.200rem;
$font-4px: 0.267rem;
$font-5px: 0.333rem;
$font-6px: 0.400rem;
$font-7px: 0.467rem;
$font-8px: 0.533rem; $font-8px: 0.533rem;
$font-9px: 0.600rem; $font-9px: 0.600rem;
$font-10px: 0.667rem; $font-10px: 0.667rem;
@ -27,7 +34,7 @@ $font-16px: 1.067rem;
$font-17px: 1.133rem; $font-17px: 1.133rem;
$font-18px: 1.200rem; $font-18px: 1.200rem;
$font-19px: 1.267rem; $font-19px: 1.267rem;
$font-20px: 1.333rem; $font-20px: 1.3333333rem;
$font-21px: 1.400rem; $font-21px: 1.400rem;
$font-22px: 1.467rem; $font-22px: 1.467rem;
$font-23px: 1.533rem; $font-23px: 1.533rem;
@ -60,4 +67,5 @@ $font-49px: 3.267rem;
$font-50px: 3.333rem; $font-50px: 3.333rem;
$font-51px: 3.400rem; $font-51px: 3.400rem;
$font-52px: 3.467rem; $font-52px: 3.467rem;
$font-88px: 5.887rem;
$font-400px: 26.667rem; $font-400px: 26.667rem;

View file

@ -74,7 +74,7 @@ limitations under the License.
.mx_RoomSubList_badge > div { .mx_RoomSubList_badge > div {
flex: 0 0 auto; flex: 0 0 auto;
border-radius: 8px; border-radius: $font-16px;
font-weight: 600; font-weight: 600;
font-size: $font-12px; font-size: $font-12px;
padding: 0 5px; padding: 0 5px;

View file

@ -110,13 +110,13 @@ limitations under the License.
.mx_TagPanel .mx_TagTile.mx_TagTile_selected::before { .mx_TagPanel .mx_TagTile.mx_TagTile_selected::before {
content: ''; content: '';
height: 56px; height: calc(100% + 16px);
background-color: $accent-color; background-color: $accent-color;
width: 5px; width: 5px;
position: absolute; position: absolute;
left: -15px; left: -15px;
border-radius: 0 3px 3px 0; border-radius: 0 3px 3px 0;
top: -8px; // (56 - 40)/2 top: -8px; // (16px from height / 2)
} }
.mx_TagPanel .mx_TagTile.mx_AccessibleButton:focus { .mx_TagPanel .mx_TagTile.mx_AccessibleButton:focus {

View file

@ -28,8 +28,8 @@ limitations under the License.
margin: 0 4px; margin: 0 4px;
grid-row: 2 / 4; grid-row: 2 / 4;
grid-column: 1; grid-column: 1;
background-color: white; background-color: $dark-panel-bg-color;
box-shadow: 0px 4px 12px $menu-box-shadow-color; box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.5);
border-radius: 8px; border-radius: 8px;
} }
@ -37,16 +37,15 @@ limitations under the License.
grid-row: 1 / 3; grid-row: 1 / 3;
grid-column: 1; grid-column: 1;
color: $primary-fg-color; color: $primary-fg-color;
background-color: $primary-bg-color; background-color: $dark-panel-bg-color;
box-shadow: 0px 4px 12px $menu-box-shadow-color; box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.5);
border-radius: 8px; border-radius: 8px;
overflow: hidden; overflow: hidden;
display: grid; display: grid;
grid-template-columns: 20px 1fr; grid-template-columns: 22px 1fr;
column-gap: 10px; column-gap: 8px;
row-gap: 4px; row-gap: 4px;
padding: 8px; padding: 8px;
padding-right: 16px;
&.mx_Toast_hasIcon { &.mx_Toast_hasIcon {
&::after { &::after {
@ -68,17 +67,45 @@ limitations under the License.
background-image: url("$(res)/img/e2e/warning.svg"); background-image: url("$(res)/img/e2e/warning.svg");
} }
h2, .mx_Toast_body { .mx_Toast_title, .mx_Toast_body {
grid-column: 2; grid-column: 2;
} }
} }
&:not(.mx_Toast_hasIcon) {
padding-left: 12px;
h2 { .mx_Toast_title {
grid-column: 1 / 3; grid-column: 1 / -1;
grid-row: 1; }
margin: 0; }
font-size: $font-15px;
font-weight: 600; .mx_Toast_title,
.mx_Toast_description {
padding-right: 8px;
}
.mx_Toast_title {
width: 100%;
box-sizing: border-box;
h2 {
grid-column: 1 / 3;
grid-row: 1;
margin: 0;
font-size: $font-15px;
font-weight: 600;
display: inline;
width: auto;
vertical-align: middle;
}
span {
padding-left: 8px;
float: right;
font-size: $font-12px;
line-height: $font-22px;
color: $muted-fg-color;
}
} }
.mx_Toast_body { .mx_Toast_body {
@ -87,16 +114,30 @@ limitations under the License.
} }
.mx_Toast_buttons { .mx_Toast_buttons {
float: right;
display: flex; display: flex;
.mx_FormButton {
min-width: 96px;
box-sizing: border-box;
}
} }
.mx_Toast_description { .mx_Toast_description {
max-width: 400px; max-width: 272px;
overflow: hidden; overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis; text-overflow: ellipsis;
margin: 4px 0 11px 0; margin: 4px 0 11px 0;
font-size: $font-12px; font-size: $font-12px;
.mx_AccessibleButton_kind_link {
font-size: inherit;
padding: 0;
}
a {
text-decoration: none;
}
} }
.mx_Toast_deviceID { .mx_Toast_deviceID {

View file

@ -43,7 +43,7 @@ limitations under the License.
margin: 0 7px; margin: 0 7px;
mask: url('$(res)/img/feather-customised/dropdown-arrow.svg'); mask: url('$(res)/img/feather-customised/dropdown-arrow.svg');
mask-repeat: no-repeat; mask-repeat: no-repeat;
width: 10px; width: $font-22px;
height: 6px; height: 6px;
background-color: $roomsublist-label-fg-color; background-color: $roomsublist-label-fg-color;
} }

View file

@ -26,6 +26,50 @@ limitations under the License.
position: relative; position: relative;
} }
.mx_CompleteSecurity_clients {
width: max-content;
margin: 36px auto 0;
.mx_CompleteSecurity_clients_desktop, .mx_CompleteSecurity_clients_mobile {
position: relative;
width: 160px;
text-align: center;
padding-top: 64px;
display: inline-block;
&::before {
content: '';
position: absolute;
height: 48px;
width: 48px;
left: 56px;
top: 0;
background-color: $muted-fg-color;
mask-repeat: no-repeat;
mask-size: contain;
}
}
.mx_CompleteSecurity_clients_desktop {
margin-right: 56px;
}
.mx_CompleteSecurity_clients_desktop::before {
mask-image: url('$(res)/img/feather-customised/monitor.svg');
}
.mx_CompleteSecurity_clients_mobile::before {
mask-image: url('$(res)/img/feather-customised/smartphone.svg');
}
p {
margin-top: 16px;
font-size: $font-12px;
color: $muted-fg-color;
text-align: center;
}
}
.mx_CompleteSecurity_heroIcon { .mx_CompleteSecurity_heroIcon {
width: 128px; width: 128px;
height: 128px; height: 128px;
@ -44,6 +88,7 @@ limitations under the License.
.mx_CompleteSecurity_actionRow { .mx_CompleteSecurity_actionRow {
display: flex; display: flex;
justify-content: flex-end; justify-content: flex-end;
margin-top: $font-28px;
.mx_AccessibleButton { .mx_AccessibleButton {
margin-inline-start: 18px; margin-inline-start: 18px;

View file

@ -89,3 +89,13 @@ limitations under the License.
.mx_Login_underlinedServerName { .mx_Login_underlinedServerName {
border-bottom: 1px dashed $accent-color; border-bottom: 1px dashed $accent-color;
} }
div.mx_AccessibleButton_kind_link.mx_Login_forgot {
// style it as a link
font-size: inherit;
padding: 0;
&.mx_AccessibleButton_disabled {
cursor: not-allowed;
}
}

View file

@ -119,6 +119,24 @@ limitations under the License.
margin-right: 0; margin-right: 0;
} }
.mx_AuthBody_paddedFooter {
height: 80px; // height of the submit button + register link
padding-top: 28px;
text-align: center;
.mx_AuthBody_paddedFooter_title {
margin-top: 16px;
font-size: $font-15px;
line-height: $font-24px;
}
.mx_AuthBody_paddedFooter_subtitle {
margin-top: 8px;
font-size: $font-10px;
line-height: $font-14px;
}
}
.mx_AuthBody_changeFlow { .mx_AuthBody_changeFlow {
display: block; display: block;
text-align: center; text-align: center;
@ -128,27 +146,3 @@ limitations under the License.
.mx_AuthBody_spinner { .mx_AuthBody_spinner {
margin: 1em 0; margin: 1em 0;
} }
.mx_AuthBody_passwordScore {
width: 100%;
appearance: none;
height: 4px;
border: 0;
border-radius: 2px;
position: absolute;
top: -12px;
&::-moz-progress-bar {
border-radius: 2px;
background-color: $accent-color;
}
&::-webkit-progress-bar,
&::-webkit-progress-value {
border-radius: 2px;
}
&::-webkit-progress-value {
background-color: $accent-color;
}
}

View file

@ -0,0 +1,55 @@
/*
Copyright 2020 The Matrix.org Foundation C.I.C.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
$PassphraseStrengthHigh: $accent-color;
$PassphraseStrengthMedium: $username-variant5-color;
$PassphraseStrengthLow: $notice-primary-color;
@define-mixin ProgressBarColour $colour {
color: $colour;
&::-moz-progress-bar {
background-color: $colour;
}
&::-webkit-progress-value {
background-color: $colour;
}
}
progress.mx_PassphraseField_progress {
appearance: none;
width: 100%;
border: 0;
height: 4px;
position: absolute;
top: -12px;
border-radius: 2px;
&::-moz-progress-bar {
border-radius: 2px;
}
&::-webkit-progress-bar,
&::-webkit-progress-value {
border-radius: 2px;
}
@mixin ProgressBarColour $PassphraseStrengthLow;
&[value="2"], &[value="3"] {
@mixin ProgressBarColour $PassphraseStrengthMedium;
}
&[value="4"] {
@mixin ProgressBarColour $PassphraseStrengthHigh;
}
}

View file

@ -17,7 +17,7 @@ limitations under the License.
.mx_MessageComposer_avatar .mx_BaseAvatar { .mx_MessageComposer_avatar .mx_BaseAvatar {
padding: 2px; padding: 2px;
border: 1px solid transparent; border: 1px solid transparent;
border-radius: 15px; border-radius: 100%;
} }
.mx_MessageComposer_avatar .mx_BaseAvatar_initial { .mx_MessageComposer_avatar .mx_BaseAvatar_initial {

View file

@ -19,6 +19,7 @@ limitations under the License.
} }
.mx_MessageContextMenu_field { .mx_MessageContextMenu_field {
display: block;
padding: 3px 6px 3px 6px; padding: 3px 6px 3px 6px;
cursor: pointer; cursor: pointer;
white-space: nowrap; white-space: nowrap;

View file

@ -72,10 +72,10 @@ limitations under the License.
.mx_AccessibleButton::after { .mx_AccessibleButton::after {
mask-repeat: no-repeat; mask-repeat: no-repeat;
mask-position: 0 center; mask-position: 0 center;
mask-size: 16px; mask-size: $font-16px;
position: absolute; position: absolute;
width: 16px; width: $font-16px;
height: 16px; height: $font-16px;
content: ""; content: "";
top: 5px; top: 5px;
left: 14px; left: 14px;

View file

@ -15,6 +15,8 @@ limitations under the License.
*/ */
.mx_CreateRoomDialog_details { .mx_CreateRoomDialog_details {
margin-top: 15px;
.mx_CreateRoomDialog_details_summary { .mx_CreateRoomDialog_details_summary {
outline: none; outline: none;
list-style: none; list-style: none;
@ -71,11 +73,19 @@ limitations under the License.
} }
.mx_CreateRoomDialog { .mx_CreateRoomDialog {
&.mx_Dialog_fixedWidth { &.mx_Dialog_fixedWidth {
width: 450px; width: 450px;
} }
.mx_Dialog_content {
margin-bottom: 40px;
}
p,
.mx_Field_input label {
color: $muted-fg-color;
}
.mx_SettingsFlag { .mx_SettingsFlag {
display: flex; display: flex;
} }
@ -90,5 +100,18 @@ limitations under the License.
flex: 0 0 auto; flex: 0 0 auto;
margin-left: 30px; margin-left: 30px;
} }
.mx_CreateRoomDialog_topic {
margin-bottom: 36px;
}
.mx_Dialog_content > .mx_SettingsFlag {
margin-top: 24px;
}
p {
margin: 0 85px 0 0;
font-size: $font-12px;
}
} }

View file

@ -64,9 +64,6 @@ limitations under the License.
.mx_ShareDialog_qrcode_container { .mx_ShareDialog_qrcode_container {
float: left; float: left;
background-color: #ffffff;
padding: 5px; // makes qr code more readable in dark theme
border-radius: 5px;
height: 256px; height: 256px;
width: 256px; width: 256px;
margin-right: 64px; margin-right: 64px;

View file

@ -21,6 +21,10 @@ limitations under the License.
mask-image: url('$(res)/img/feather-customised/settings.svg'); mask-image: url('$(res)/img/feather-customised/settings.svg');
} }
.mx_UserSettingsDialog_appearanceIcon::before {
mask-image: url('$(res)/img/feather-customised/brush.svg');
}
.mx_UserSettingsDialog_voiceIcon::before { .mx_UserSettingsDialog_voiceIcon::before {
mask-image: url('$(res)/img/feather-customised/phone.svg'); mask-image: url('$(res)/img/feather-customised/phone.svg');
} }

View file

@ -35,17 +35,6 @@ limitations under the License.
align-items: flex-start; align-items: flex-start;
} }
.mx_CreateKeyBackupDialog_passPhraseHelp {
flex: 1;
height: 85px;
margin-left: 20px;
font-size: 80%;
}
.mx_CreateKeyBackupDialog_passPhraseHelp progress {
width: 100%;
}
.mx_CreateKeyBackupDialog_passPhraseInput { .mx_CreateKeyBackupDialog_passPhraseInput {
flex: none; flex: none;
width: 250px; width: 250px;

View file

@ -32,3 +32,9 @@ limitations under the License.
padding: 10px; padding: 10px;
} }
.mx_RestoreKeyBackupDialog_content > div {
display: flex;
flex-direction: column;
justify-content: space-between;
min-height: 110px; /* Empirically measured */
}

View file

@ -68,17 +68,6 @@ limitations under the License.
margin-top: 0px; margin-top: 0px;
} }
.mx_CreateSecretStorageDialog_passPhraseHelp {
flex: 1;
height: 64px;
margin-left: 20px;
font-size: 80%;
}
.mx_CreateSecretStorageDialog_passPhraseHelp progress {
width: 100%;
}
.mx_CreateSecretStorageDialog_passPhraseMatch { .mx_CreateSecretStorageDialog_passPhraseMatch {
width: 200px; width: 200px;
margin-left: 20px; margin-left: 20px;

View file

@ -35,6 +35,8 @@ limitations under the License.
border-radius: 4px; border-radius: 4px;
border: 1px solid $dialog-close-fg-color; border: 1px solid $dialog-close-fg-color;
background-color: $primary-bg-color; background-color: $primary-bg-color;
max-height: calc(100vh - 20px); // allow 10px padding on both top and bottom
overflow-y: auto;
} }
.mx_NetworkDropdown_menu_network { .mx_NetworkDropdown_menu_network {
@ -51,15 +53,16 @@ limitations under the License.
font-weight: 600; font-weight: 600;
line-height: $font-20px; line-height: $font-20px;
margin-bottom: 4px; margin-bottom: 4px;
position: relative;
// remove server button // remove server button
.mx_AccessibleButton { .mx_AccessibleButton {
position: absolute; position: absolute;
display: inline; display: inline;
right: 12px; right: 10px;
height: 16px; height: 16px;
width: 16px; width: 16px;
margin-top: 4px; margin-top: 2px;
&::after { &::after {
content: ""; content: "";

View file

@ -33,6 +33,10 @@ limitations under the License.
user-select: none; user-select: none;
} }
.mx_Dropdown_input.mx_AccessibleButton_disabled {
cursor: not-allowed;
}
.mx_Dropdown_input:focus { .mx_Dropdown_input:focus {
border-color: $input-focused-border-color; border-color: $input-focused-border-color;
} }
@ -63,6 +67,8 @@ limitations under the License.
text-overflow: ellipsis; text-overflow: ellipsis;
white-space: nowrap; white-space: nowrap;
flex: 1; flex: 1;
display: inline-flex;
align-items: center;
} }
.mx_Dropdown_option div { .mx_Dropdown_option div {
@ -71,12 +77,18 @@ limitations under the License.
white-space: nowrap; white-space: nowrap;
} }
.mx_Dropdown_option img { .mx_Dropdown_option img,
.mx_Dropdown_option .mx_Dropdown_option_emoji {
margin: 5px; margin: 5px;
width: 16px; width: 16px;
vertical-align: middle; vertical-align: middle;
} }
.mx_Dropdown_option_emoji {
font-size: $font-16px;
line-height: $font-16px;
}
input.mx_Dropdown_option, input.mx_Dropdown_option,
input.mx_Dropdown_option:focus { input.mx_Dropdown_option:focus {
font-weight: normal; font-weight: normal;

View file

@ -53,6 +53,9 @@ limitations under the License.
.mx_EditableItem_item { .mx_EditableItem_item {
flex: auto 1 0; flex: auto 1 0;
order: 1; order: 1;
width: calc(100% - 14px); // leave space for the remove button
overflow-x: hidden;
text-overflow: ellipsis;
} }
.mx_EditableItemList_label { .mx_EditableItemList_label {

View file

@ -0,0 +1,21 @@
/*
Copyright 2020 The Matrix.org Foundation C.I.C.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
.mx_QRCode {
img {
border-radius: 8px;
}
}

View file

@ -6,16 +6,33 @@
.mx_RoomPill, .mx_RoomPill,
.mx_GroupPill, .mx_GroupPill,
.mx_AtRoomPill { .mx_AtRoomPill {
border-radius: 16px; display: inline-flex;
display: inline-block; align-items: center;
height: 20px; vertical-align: middle;
line-height: $font-20px; border-radius: $font-16px;
padding-left: 5px; line-height: $font-15px;
padding-left: 0;
} }
a.mx_Pill { a.mx_Pill {
word-break: break-all; text-overflow: ellipsis;
display: inline; white-space: nowrap;
overflow: hidden;
max-width: calc(100% - 1ch);
}
.mx_Pill {
padding: $font-1px;
padding-right: 0.4em;
vertical-align: text-top;
line-height: $font-17px;
}
/* More specific to override `.markdown-body a` color */
.mx_EventTile_content .markdown-body a.mx_GroupPill,
.mx_GroupPill {
color: $accent-fg-color;
background-color: $rte-group-pill-color;
} }
/* More specific to override `.markdown-body a` text-decoration */ /* More specific to override `.markdown-body a` text-decoration */
@ -28,7 +45,6 @@ a.mx_Pill {
.mx_UserPill { .mx_UserPill {
color: $primary-fg-color; color: $primary-fg-color;
background-color: $other-user-pill-bg-color; background-color: $other-user-pill-bg-color;
padding-right: 5px;
} }
.mx_UserPill_selected { .mx_UserPill_selected {
@ -42,7 +58,6 @@ a.mx_Pill {
.mx_MessageComposer_input .mx_AtRoomPill { .mx_MessageComposer_input .mx_AtRoomPill {
color: $accent-fg-color; color: $accent-fg-color;
background-color: $mention-user-pill-bg-color; background-color: $mention-user-pill-bg-color;
padding-right: 5px;
} }
/* More specific to override `.markdown-body a` color */ /* More specific to override `.markdown-body a` color */
@ -52,15 +67,6 @@ a.mx_Pill {
.mx_GroupPill { .mx_GroupPill {
color: $accent-fg-color; color: $accent-fg-color;
background-color: $rte-room-pill-color; background-color: $rte-room-pill-color;
padding-right: 5px;
}
/* More specific to override `.markdown-body a` color */
.mx_EventTile_content .markdown-body a.mx_GroupPill,
.mx_GroupPill {
color: $accent-fg-color;
background-color: $rte-group-pill-color;
padding-right: 5px;
} }
.mx_EventTile_body .mx_UserPill, .mx_EventTile_body .mx_UserPill,
@ -74,8 +80,10 @@ a.mx_Pill {
.mx_GroupPill .mx_BaseAvatar, .mx_GroupPill .mx_BaseAvatar,
.mx_AtRoomPill .mx_BaseAvatar { .mx_AtRoomPill .mx_BaseAvatar {
position: relative; position: relative;
left: -3px; display: inline-flex;
top: 2px; align-items: center;
border-radius: 10rem;
margin-right: 0.24rem;
} }
.mx_Markdown_BOLD { .mx_Markdown_BOLD {

View file

@ -0,0 +1,99 @@
/*
Copyright 2020 The Matrix.org Foundation C.I.C.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
.mx_Slider {
position: relative;
margin: 0px;
flex-grow: 1;
}
.mx_Slider_dotContainer {
display: flex;
flex-direction: row;
justify-content: space-between;
}
.mx_Slider_bar {
display: flex;
box-sizing: border-box;
position: absolute;
height: 1em;
width: 100%;
padding: 0 0.5em; // half the width of a dot.
align-items: center;
}
.mx_Slider_bar > hr {
width: 100%;
height: 0.4em;
background-color: $slider-background-color;
border: 0;
}
.mx_Slider_selection {
display: flex;
align-items: center;
width: calc(100% - 1em); // 2 * half the width of a dot
height: 1em;
position: absolute;
pointer-events: none;
}
.mx_Slider_selectionDot {
position: absolute;
width: 1.1em;
height: 1.1em;
background-color: $slider-selection-color;
border-radius: 50%;
box-shadow: 0 0 6px lightgrey;
z-index: 10;
}
.mx_Slider_selection > hr {
margin: 0;
border: 0.2em solid $slider-selection-color;
}
.mx_Slider_dot {
height: 1em;
width: 1em;
border-radius: 50%;
background-color: $slider-background-color;
z-index: 0;
}
.mx_Slider_dotActive {
background-color: $slider-selection-color;
}
.mx_Slider_dotValue {
display: flex;
flex-direction: column;
align-items: center;
color: $slider-background-color;
}
// The following is a hack to center the labels without adding
// any width to the slider's dots.
.mx_Slider_labelContainer {
width: 1em;
}
.mx_Slider_label {
position: relative;
width: fit-content;
left: -50%;
}

View file

@ -16,11 +16,13 @@ limitations under the License.
.mx_ToggleSwitch { .mx_ToggleSwitch {
transition: background-color 0.20s ease-out 0.1s; transition: background-color 0.20s ease-out 0.1s;
width: 48px;
height: 24px; width: $font-44px;
border-radius: 14px; height: $font-20px;
border-radius: 1.5rem;
padding: 2px;
background-color: $togglesw-off-color; background-color: $togglesw-off-color;
position: relative;
opacity: 0.5; opacity: 0.5;
} }
@ -31,23 +33,18 @@ limitations under the License.
.mx_ToggleSwitch.mx_ToggleSwitch_on { .mx_ToggleSwitch.mx_ToggleSwitch_on {
background-color: $togglesw-on-color; background-color: $togglesw-on-color;
> .mx_ToggleSwitch_ball {
left: calc(100% - $font-20px);
}
} }
.mx_ToggleSwitch_ball { .mx_ToggleSwitch_ball {
transition: left 0.15s ease-out 0.1s; position: relative;
margin: 2px; width: $font-20px;
width: 20px; height: $font-20px;
height: 20px; border-radius: $font-20px;
border-radius: 20px;
background-color: $togglesw-ball-color; background-color: $togglesw-ball-color;
position: absolute; transition: left 0.15s ease-out 0.1s;
top: 0; left: 0;
}
.mx_ToggleSwitch_on > .mx_ToggleSwitch_ball {
left: 23px; // 48px switch - 20px ball - 5px padding = 23px
}
.mx_ToggleSwitch:not(.mx_ToggleSwitch_on) > .mx_ToggleSwitch_ball {
left: 2px;
} }

View file

@ -190,7 +190,7 @@ limitations under the License.
.mx_EmojiPicker_footer { .mx_EmojiPicker_footer {
border-top: 1px solid $message-action-bar-border-color; border-top: 1px solid $message-action-bar-border-color;
height: 72px; min-height: 72px;
display: flex; display: flex;
align-items: center; align-items: center;

View file

@ -0,0 +1,22 @@
/*
Copyright 2020 The Matrix.org Foundation C.I.C.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
span.mx_MVideoBody {
video.mx_MVideoBody {
max-width: 100%;
height: auto;
}
}

View file

@ -34,12 +34,17 @@ limitations under the License.
background-color: $reaction-row-button-selected-bg-color; background-color: $reaction-row-button-selected-bg-color;
border-color: $reaction-row-button-selected-border-color; border-color: $reaction-row-button-selected-border-color;
} }
}
.mx_ReactionsRowButton_content { // ignore mouse events for all children, treat it as one entire hoverable entity
max-width: 100px; * {
overflow: hidden; pointer-events: none;
white-space: nowrap; }
text-overflow: ellipsis;
padding-right: 4px; .mx_ReactionsRowButton_content {
max-width: 100px;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
padding-right: 4px;
}
} }

View file

@ -0,0 +1,36 @@
/*
Copyright 2020 The Matrix.org Foundation C.I.C.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
.mx_RedactedBody {
white-space: pre-wrap;
color: $muted-fg-color;
vertical-align: middle;
padding-left: 20px;
position: relative;
&::before {
height: 14px;
width: 14px;
background-color: $muted-fg-color;
mask-image: url('$(res)/img/feather-customised/trash.custom.svg');
mask-repeat: no-repeat;
mask-position: center;
mask-size: contain;
content: '';
position: absolute;
top: 2px;
left: 0;
}
}

View file

@ -98,8 +98,8 @@ limitations under the License.
position: absolute; position: absolute;
top: 0; top: 0;
left: 0; left: 0;
width: 100%; width: 100% !important;
height: 100%; height: 100% !important;
} }
.mx_UserInfo_avatar .mx_BaseAvatar_initial { .mx_UserInfo_avatar .mx_BaseAvatar_initial {
@ -109,7 +109,7 @@ limitations under the License.
justify-content: center; justify-content: center;
// override the calculated sizes so that the letter isn't HUGE // override the calculated sizes so that the letter isn't HUGE
font-size: 56px !important; font-size: 6rem !important;
width: 100% !important; width: 100% !important;
transition: font-size 0.5s; transition: font-size 0.5s;
} }

View file

@ -96,6 +96,10 @@ $AppsDrawerBodyHeight: 273px;
height: $AppsDrawerBodyHeight; height: $AppsDrawerBodyHeight;
} }
.mx_AppTile_persistedWrapper > div {
height: 100%;
}
.mx_AppTile_mini .mx_AppTile_persistedWrapper { .mx_AppTile_mini .mx_AppTile_persistedWrapper {
height: 114px; height: 114px;
} }

View file

@ -31,9 +31,10 @@
} }
.mx_Autocomplete_Completion_pill { .mx_Autocomplete_Completion_pill {
border-radius: 17px; box-sizing: border-box;
height: 34px; border-radius: 2rem;
padding: 0px 5px; height: $font-34px;
padding: 0.4rem;
display: flex; display: flex;
user-select: none; user-select: none;
cursor: pointer; cursor: pointer;
@ -42,7 +43,7 @@
} }
.mx_Autocomplete_Completion_pill > * { .mx_Autocomplete_Completion_pill > * {
margin: 0 3px; margin-right: 0.3rem;
} }
/* styling for common completion elements */ /* styling for common completion elements */

View file

@ -44,27 +44,26 @@ limitations under the License.
outline: none; outline: none;
overflow-x: hidden; overflow-x: hidden;
span.mx_UserPill, span.mx_RoomPill { &.mx_BasicMessageComposer_input_shouldShowPillAvatar {
padding-left: 21px; span.mx_UserPill, span.mx_RoomPill {
position: relative; position: relative;
// avatar psuedo element // avatar psuedo element
&::before { &::before {
position: absolute; content: var(--avatar-letter);
left: 2px; width: $font-16px;
top: 2px; height: $font-16px;
content: var(--avatar-letter); margin-right: 0.24rem;
width: 16px; background: var(--avatar-background), $avatar-bg-color;
height: 16px; color: $avatar-initial-color;
background: var(--avatar-background), $avatar-bg-color; background-repeat: no-repeat;
color: $avatar-initial-color; background-size: $font-16px;
background-repeat: no-repeat; border-radius: $font-16px;
background-size: 16px; text-align: center;
border-radius: 8px; font-weight: normal;
text-align: center; line-height: $font-16px;
font-weight: normal; font-size: $font-10-4px;
line-height: $font-16px; }
font-size: $font-10-4px;
} }
} }
} }

View file

@ -69,8 +69,6 @@ limitations under the License.
padding-right: 12px; padding-right: 12px;
padding-top: 4px; padding-top: 4px;
padding-bottom: 4px; padding-bottom: 4px;
width: 36px;
height: 36px;
position: relative; position: relative;
} }

View file

@ -37,7 +37,6 @@ limitations under the License.
} }
.mx_EventTile_avatar { .mx_EventTile_avatar {
position: absolute;
top: 14px; top: 14px;
left: 8px; left: 8px;
cursor: pointer; cursor: pointer;
@ -45,7 +44,7 @@ limitations under the License.
} }
.mx_EventTile.mx_EventTile_info .mx_EventTile_avatar { .mx_EventTile.mx_EventTile_info .mx_EventTile_avatar {
top: 8px; top: $font-8px;
left: 65px; left: 65px;
} }
@ -68,11 +67,9 @@ limitations under the License.
display: inline-block; /* anti-zalgo, with overflow hidden */ display: inline-block; /* anti-zalgo, with overflow hidden */
overflow: hidden; overflow: hidden;
cursor: pointer; cursor: pointer;
padding-left: 65px; /* left gutter */
padding-bottom: 0px; padding-bottom: 0px;
padding-top: 0px; padding-top: 0px;
margin: 0px; margin: 0px;
line-height: $font-17px;
/* the next three lines, along with overflow hidden, truncate long display names */ /* the next three lines, along with overflow hidden, truncate long display names */
white-space: nowrap; white-space: nowrap;
text-overflow: ellipsis; text-overflow: ellipsis;
@ -104,26 +101,24 @@ limitations under the License.
visibility: hidden; visibility: hidden;
white-space: nowrap; white-space: nowrap;
left: 0px; left: 0px;
width: 46px; /* 8 + 30 (avatar) + 8 */
text-align: center; text-align: center;
position: absolute;
user-select: none; user-select: none;
} }
.mx_EventTile_continuation .mx_EventTile_line {
clear: both;
}
.mx_EventTile_line, .mx_EventTile_reply { .mx_EventTile_line, .mx_EventTile_reply {
position: relative; position: relative;
padding-left: 65px; /* left gutter */ padding-left: 65px; /* left gutter */
padding-top: 4px;
padding-bottom: 2px;
border-radius: 4px; border-radius: 4px;
min-height: 24px;
line-height: $font-22px;
} }
.mx_RoomView_timeline_rr_enabled, .mx_RoomView_timeline_rr_enabled,
// on ELS we need the margin to allow interaction with the expand/collapse button which is normally in the RR gutter // on ELS we need the margin to allow interaction with the expand/collapse button which is normally in the RR gutter
.mx_EventListSummary { .mx_EventListSummary {
.mx_EventTile_line, .mx_EventTile_reply { .mx_EventTile_line {
/* ideally should be 100px, but 95px gives us a max thumbnail size of 800x600, which is nice */ /* ideally should be 100px, but 95px gives us a max thumbnail size of 800x600, which is nice */
margin-right: 110px; margin-right: 110px;
} }
@ -148,10 +143,6 @@ limitations under the License.
margin-right: 10px; margin-right: 10px;
} }
.mx_EventTile_info .mx_EventTile_line {
padding-left: 83px;
}
/* HACK to override line-height which is already marked important elsewhere */ /* HACK to override line-height which is already marked important elsewhere */
.mx_EventTile_bigEmoji.mx_EventTile_bigEmoji { .mx_EventTile_bigEmoji.mx_EventTile_bigEmoji {
font-size: 48px !important; font-size: 48px !important;
@ -168,10 +159,15 @@ limitations under the License.
} }
// Explicit relationships so that it doesn't apply to nested EventTile components (e.g in Replies) // Explicit relationships so that it doesn't apply to nested EventTile components (e.g in Replies)
// The first set is to handle the 'group layout' (default) and the second for the IRC layout
.mx_EventTile_last > div > a > .mx_MessageTimestamp, .mx_EventTile_last > div > a > .mx_MessageTimestamp,
.mx_EventTile:hover > div > a > .mx_MessageTimestamp, .mx_EventTile:hover > div > a > .mx_MessageTimestamp,
.mx_EventTile.mx_EventTile_actionBarFocused > div > a > .mx_MessageTimestamp, .mx_EventTile.mx_EventTile_actionBarFocused > div > a > .mx_MessageTimestamp,
.mx_EventTile.focus-visible:focus-within > div > a > .mx_MessageTimestamp { .mx_EventTile.focus-visible:focus-within > div > a > .mx_MessageTimestamp,
.mx_IRCLayout .mx_EventTile_last > a > .mx_MessageTimestamp,
.mx_IRCLayout .mx_EventTile:hover > a > .mx_MessageTimestamp,
.mx_IRCLayout .mx_EventTile.mx_EventTile_actionBarFocused > a > .mx_MessageTimestamp,
.mx_IRCLayout .mx_EventTile.focus-visible:focus-within > a > .mx_MessageTimestamp {
visibility: visible; visibility: visible;
} }
@ -241,34 +237,6 @@ limitations under the License.
color: $event-notsent-color; color: $event-notsent-color;
} }
.mx_EventTile_redacted .mx_EventTile_line .mx_UnknownBody,
.mx_EventTile_redacted .mx_EventTile_reply .mx_UnknownBody {
--lozenge-color: $event-redacted-fg-color;
--lozenge-border-color: $event-redacted-border-color;
display: block;
height: 22px;
width: 250px;
border-radius: 11px;
background:
repeating-linear-gradient(
-45deg,
var(--lozenge-color),
var(--lozenge-color) 3px,
transparent 3px,
transparent 6px
);
box-shadow: 0px 0px 3px var(--lozenge-border-color) inset;
}
.mx_EventTile_sending.mx_EventTile_redacted .mx_UnknownBody {
opacity: 0.4;
}
div.mx_EventTile_notSent.mx_EventTile_redacted .mx_UnknownBody {
--lozenge-color: $event-notsent-color;
--lozenge-border-color: $event-notsent-color;
}
.mx_EventTile_contextual { .mx_EventTile_contextual {
opacity: 0.4; opacity: 0.4;
} }
@ -310,6 +278,8 @@ div.mx_EventTile_notSent.mx_EventTile_redacted .mx_UnknownBody {
.mx_EventTile_readAvatars .mx_BaseAvatar { .mx_EventTile_readAvatars .mx_BaseAvatar {
position: absolute; position: absolute;
display: inline-block; display: inline-block;
height: $font-14px;
width: $font-14px;
} }
.mx_EventTile_readAvatarRemainder { .mx_EventTile_readAvatarRemainder {
@ -583,80 +553,22 @@ div.mx_EventTile_notSent.mx_EventTile_redacted .mx_UnknownBody {
/* end of overrides */ /* end of overrides */
.mx_MatrixChat_useCompactLayout { .mx_EventTile_tileError {
.mx_EventTile { color: red;
padding-top: 4px; text-align: center;
// Remove some of the default tile padding so that the error is centered
margin-right: 0;
.mx_EventTile_line {
padding-left: 0;
margin-right: 0;
} }
.mx_EventTile.mx_EventTile_info { .mx_EventTile_line span {
// same as the padding for non-compact .mx_EventTile.mx_EventTile_info padding: 4px 8px;
padding-top: 0px;
font-size: $font-13px;
.mx_EventTile_line, .mx_EventTile_reply {
line-height: $font-20px;
}
.mx_EventTile_avatar {
top: 4px;
}
} }
.mx_EventTile .mx_SenderProfile { a {
font-size: $font-13px; margin-left: 1em;
}
.mx_EventTile.mx_EventTile_emote {
// add a bit more space for emotes so that avatars don't collide
padding-top: 8px;
.mx_EventTile_avatar {
top: 2px;
}
.mx_EventTile_line, .mx_EventTile_reply {
padding-top: 0px;
padding-bottom: 1px;
}
}
.mx_EventTile.mx_EventTile_emote.mx_EventTile_continuation {
padding-top: 0;
.mx_EventTile_line, .mx_EventTile_reply {
padding-top: 0px;
padding-bottom: 0px;
}
}
.mx_EventTile_line, .mx_EventTile_reply {
padding-top: 0px;
padding-bottom: 0px;
}
.mx_EventTile_avatar {
top: 2px;
}
.mx_EventTile_e2eIcon {
top: 3px;
}
.mx_EventTile_readAvatars {
top: 27px;
}
.mx_EventTile_continuation .mx_EventTile_readAvatars,
.mx_EventTile_emote .mx_EventTile_readAvatars {
top: 5px;
}
.mx_EventTile_info .mx_EventTile_readAvatars {
top: 4px;
}
.mx_RoomView_MessageList h2 {
margin-top: 6px;
}
.mx_EventTile_content .markdown-body {
p, ul, ol, dl, blockquote, pre, table {
margin-bottom: 4px; // 1/4 of the non-compact margin-bottom
}
} }
} }

View file

@ -0,0 +1,131 @@
/*
Copyright 2015, 2016 OpenMarket Ltd
Copyright 2020 The Matrix.org Foundation C.I.C.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
$left-gutter: 65px;
.mx_GroupLayout {
.mx_EventTile {
> .mx_SenderProfile {
line-height: $font-17px;
padding-left: $left-gutter;
}
> .mx_EventTile_line {
padding-left: $left-gutter;
}
> .mx_EventTile_avatar {
position: absolute;
}
.mx_MessageTimestamp {
position: absolute;
width: 46px; /* 8 + 30 (avatar) + 8 */
}
.mx_EventTile_line, .mx_EventTile_reply {
padding-top: 3px;
padding-bottom: 3px;
line-height: $font-22px;
}
}
.mx_EventTile_info .mx_EventTile_line {
padding-left: calc($left-gutter + 18px);
}
}
/* Compact layout overrides */
.mx_MatrixChat_useCompactLayout {
.mx_EventTile {
padding-top: 4px;
}
.mx_EventTile.mx_EventTile_info {
// same as the padding for non-compact .mx_EventTile.mx_EventTile_info
padding-top: 0px;
font-size: $font-13px;
.mx_EventTile_line, .mx_EventTile_reply {
line-height: $font-20px;
}
.mx_EventTile_avatar {
top: 4px;
}
}
.mx_EventTile .mx_SenderProfile {
font-size: $font-13px;
}
.mx_EventTile.mx_EventTile_emote {
// add a bit more space for emotes so that avatars don't collide
padding-top: 8px;
.mx_EventTile_avatar {
top: 2px;
}
.mx_EventTile_line, .mx_EventTile_reply {
padding-top: 0px;
padding-bottom: 1px;
}
}
.mx_EventTile.mx_EventTile_emote.mx_EventTile_continuation {
padding-top: 0;
.mx_EventTile_line, .mx_EventTile_reply {
padding-top: 0px;
padding-bottom: 0px;
}
}
.mx_EventTile_line, .mx_EventTile_reply {
padding-top: 0px;
padding-bottom: 0px;
}
.mx_EventTile_avatar {
top: 2px;
}
.mx_EventTile_e2eIcon {
top: 3px;
}
.mx_EventTile_readAvatars {
top: 27px;
}
.mx_EventTile_continuation .mx_EventTile_readAvatars,
.mx_EventTile_emote .mx_EventTile_readAvatars {
top: 5px;
}
.mx_EventTile_info .mx_EventTile_readAvatars {
top: 4px;
}
.mx_RoomView_MessageList h2 {
margin-top: 6px;
}
.mx_EventTile_content .markdown-body {
p, ul, ol, dl, blockquote, pre, table {
margin-bottom: 4px; // 1/4 of the non-compact margin-bottom
}
}
}

View file

@ -0,0 +1,218 @@
/*
Copyright 2020 The Matrix.org Foundation C.I.C.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
$icon-width: 14px;
$timestamp-width: 45px;
$right-padding: 5px;
$irc-line-height: $font-18px;
.mx_IRCLayout {
--name-width: 70px;
line-height: $irc-line-height !important;
.mx_EventTile {
// timestamps are links which shouldn't be underlined
> a {
text-decoration: none;
}
display: flex;
flex-direction: row;
align-items: flex-start;
padding-top: 0;
> * {
margin-right: $right-padding;
}
> .mx_EventTile_msgOption {
order: 5;
flex-shrink: 0;
}
> .mx_SenderProfile {
order: 2;
flex-shrink: 0;
width: var(--name-width);
text-overflow: ellipsis;
text-align: right;
display: flex;
align-items: center;
overflow: visible;
justify-content: flex-end;
}
.mx_EventTile_line, .mx_EventTile_reply {
padding: 0;
display: flex;
flex-direction: column;
order: 3;
flex-grow: 1;
flex-shrink: 1;
min-width: 0;
}
> .mx_EventTile_avatar {
order: 1;
position: relative;
top: 0;
left: 0;
flex-shrink: 0;
height: $irc-line-height;
display: flex;
align-items: center;
// Need to use important to override the js provided height and width values.
> .mx_BaseAvatar, .mx_BaseAvatar > * {
height: $font-14px !important;
width: $font-14px !important;
font-size: $font-10px !important;
line-height: $font-15px !important;
}
}
.mx_MessageTimestamp {
font-size: $font-10px;
width: $timestamp-width;
text-align: right;
}
> .mx_EventTile_e2eIcon {
position: relative;
right: unset;
left: unset;
padding: 0;
order: 3;
flex-shrink: 0;
flex-grow: 0;
}
.mx_EventTile_line {
.mx_EventTile_e2eIcon,
.mx_TextualEvent,
.mx_MTextBody,
.mx_ReplyThread_wrapper_empty {
display: inline-block;
}
}
.mx_EvenTile_line .mx_MessageActionBar,
.mx_EvenTile_line .mx_ReplyThread_wrapper {
display: block;
}
.mx_EventTile_reply {
order: 4;
}
.mx_EditMessageComposer_buttons {
position: relative;
}
}
.mx_EventTile_emote {
> .mx_EventTile_avatar {
margin-left: calc(var(--name-width) + $icon-width + $right-padding);
}
}
blockquote {
margin: 0;
}
.mx_EventListSummary {
> .mx_EventTile_line {
padding-left: calc(var(--name-width) + $icon-width + $timestamp-width + 3 * $right-padding); // 15 px of padding
}
.mx_EventListSummary_avatars {
padding: 0;
margin: 0 9px 0 0;
}
}
.mx_EventTile.mx_EventTile_info {
.mx_EventTile_avatar {
left: calc(var(--name-width) + 10px + $icon-width);
top: 0;
}
.mx_EventTile_line {
left: calc(var(--name-width) + 10px + $icon-width);
}
.mx_TextualEvent {
line-height: $irc-line-height;
}
}
// Suppress highlight thing from the normal Layout.
.mx_EventTile:hover.mx_EventTile_verified .mx_EventTile_line,
.mx_EventTile:hover.mx_EventTile_unverified .mx_EventTile_line,
.mx_EventTile:hover.mx_EventTile_unknown .mx_EventTile_line {
padding-left: 0;
border-left: 0;
}
.mx_SenderProfile_hover {
background-color: $primary-bg-color;
overflow: hidden;
> span {
display: flex;
> .mx_SenderProfile_name {
overflow: hidden;
text-overflow: ellipsis;
}
}
}
.mx_SenderProfile:hover {
justify-content: flex-start;
}
.mx_SenderProfile_hover:hover {
overflow: visible;
width: max(auto, 100%);
z-index: 10;
}
.mx_ReplyThread {
margin: 0;
.mx_SenderProfile {
width: unset;
max-width: var(--name-width);
}
}
.mx_ProfileResizer {
position: absolute;
height: 100%;
width: 15px;
left: calc(80px + var(--name-width));
cursor: col-resize;
z-index: 100;
}
// Need to use important to override the js provided height and width values.
.mx_Flair > img {
height: $font-14px !important;
width: $font-14px !important;
}
}

View file

@ -173,8 +173,6 @@ limitations under the License.
.mx_RoomHeader_avatar { .mx_RoomHeader_avatar {
flex: 0; flex: 0;
width: 28px;
height: 28px;
margin: 0 7px; margin: 0 7px;
position: relative; position: relative;
} }

View file

@ -33,11 +33,6 @@ limitations under the License.
margin-bottom: 1em; margin-bottom: 1em;
} }
.mx_RoomRecoveryReminder_button {
@mixin mx_DialogButton;
margin: 0 10px;
}
.mx_RoomRecoveryReminder_secondary { .mx_RoomRecoveryReminder_secondary {
font-size: 90%; font-size: 90%;
margin-top: 1em; margin-top: 1em;

View file

@ -24,6 +24,20 @@ limitations under the License.
margin: 0; margin: 0;
padding: 0 8px 0 10px; padding: 0 8px 0 10px;
position: relative; position: relative;
.mx_RoomTile_menuButton {
display: none;
flex: 0 0 16px;
height: 16px;
background-image: url('$(res)/img/icon_context.svg');
background-repeat: no-repeat;
background-position: center;
}
.mx_UserOnlineDot {
display: block;
margin-right: 5px;
}
} }
.mx_RoomTile:focus { .mx_RoomTile:focus {
@ -31,15 +45,6 @@ limitations under the License.
background-color: $roomtile-focused-bg-color; background-color: $roomtile-focused-bg-color;
} }
.mx_RoomTile_menuButton {
display: none;
flex: 0 0 16px;
height: 16px;
background-image: url('$(res)/img/icon_context.svg');
background-repeat: no-repeat;
background-position: center;
}
.mx_RoomTile_tooltip { .mx_RoomTile_tooltip {
display: inline-block; display: inline-block;
position: relative; position: relative;
@ -76,6 +81,7 @@ limitations under the License.
.mx_RoomTile_avatar_container { .mx_RoomTile_avatar_container {
position: relative; position: relative;
display: flex;
} }
.mx_RoomTile_avatar { .mx_RoomTile_avatar {
@ -151,7 +157,10 @@ limitations under the License.
} }
.mx_RoomTile_menuButton { .mx_RoomTile_menuButton {
display: none; //no design for this for now display: none; // no design for this for now
}
.mx_UserOnlineDot {
display: none; // no design for this for now
} }
} }
@ -164,6 +173,9 @@ limitations under the License.
.mx_RoomTile_menuButton { .mx_RoomTile_menuButton {
display: block; display: block;
} }
.mx_UserOnlineDot {
display: none;
}
} }
.mx_RoomTile_unreadNotify .mx_RoomTile_badge, .mx_RoomTile_unreadNotify .mx_RoomTile_badge,

View file

@ -17,7 +17,7 @@ limitations under the License.
.mx_UserOnlineDot { .mx_UserOnlineDot {
border-radius: 50%; border-radius: 50%;
background-color: $accent-color; background-color: $accent-color;
height: 5px; height: 6px;
width: 5px; width: 6px;
display: inline-block; display: inline-block;
} }

View file

@ -15,13 +15,13 @@ limitations under the License.
*/ */
.mx_AvatarSetting_avatar { .mx_AvatarSetting_avatar {
width: 88px; width: $font-88px;
height: 88px; height: $font-88px;
margin-left: 13px; margin-left: 13px;
position: relative; position: relative;
& > * { & > * {
width: 88px; width: $font-88px;
box-sizing: border-box; box-sizing: border-box;
} }
@ -63,7 +63,7 @@ limitations under the License.
& > img, & > img,
.mx_AvatarSetting_avatarPlaceholder { .mx_AvatarSetting_avatarPlaceholder {
display: block; display: block;
height: 88px; height: $font-88px;
border-radius: 4px; border-radius: 4px;
} }

View file

@ -63,7 +63,7 @@ limitations under the License.
display: inline-block; display: inline-block;
font-size: $font-14px; font-size: $font-14px;
color: $primary-fg-color; color: $primary-fg-color;
max-width: calc(100% - 48px); // Force word wrap instead of colliding with the switch max-width: calc(100% - $font-48px); // Force word wrap instead of colliding with the switch
box-sizing: border-box; box-sizing: border-box;
padding-right: 10px; padding-right: 10px;
} }

View file

@ -0,0 +1,45 @@
/*
Copyright 2020 The Matrix.org Foundation C.I.C.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
.mx_AppearanceUserSettingsTab_fontSlider,
.mx_AppearanceUserSettingsTab_themeSection .mx_Field,
.mx_AppearanceUserSettingsTab_fontScaling .mx_Field {
@mixin mx_Settings_fullWidthField;
}
.mx_AppearanceUserSettingsTab_fontSlider {
display: flex;
flex-direction: row;
align-items: center;
padding: 15px;
background: $font-slider-bg-color;
border-radius: 10px;
font-size: 10px;
margin-top: 24px;
margin-bottom: 24px;
}
.mx_AppearanceUserSettingsTab_fontSlider_smallText {
font-size: 15px;
padding-right: 20px;
padding-left: 5px;
}
.mx_AppearanceUserSettingsTab_fontSlider_largeText {
font-size: 18px;
padding-left: 20px;
padding-right: 5px;
}

View file

@ -14,8 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License. limitations under the License.
*/ */
.mx_GeneralUserSettingsTab_changePassword .mx_Field, .mx_GeneralUserSettingsTab_changePassword .mx_Field {
.mx_GeneralUserSettingsTab_themeSection .mx_Field {
@mixin mx_Settings_fullWidthField; @mixin mx_Settings_fullWidthField;
} }
@ -23,6 +22,12 @@ limitations under the License.
margin-top: 0; margin-top: 0;
} }
.mx_GeneralUserSettingsTab_accountSection .mx_Spinner,
.mx_GeneralUserSettingsTab_discovery .mx_Spinner {
// Move the spinner to the left side of the container (default center)
justify-content: left;
}
.mx_GeneralUserSettingsTab_accountSection .mx_EmailAddresses, .mx_GeneralUserSettingsTab_accountSection .mx_EmailAddresses,
.mx_GeneralUserSettingsTab_accountSection .mx_PhoneNumbers, .mx_GeneralUserSettingsTab_accountSection .mx_PhoneNumbers,
.mx_GeneralUserSettingsTab_discovery .mx_ExistingEmailAddress, .mx_GeneralUserSettingsTab_discovery .mx_ExistingEmailAddress,

View file

@ -55,3 +55,12 @@ limitations under the License.
.mx_SecurityUserSettingsTab_ignoredUser .mx_AccessibleButton { .mx_SecurityUserSettingsTab_ignoredUser .mx_AccessibleButton {
margin-right: 10px; margin-right: 10px;
} }
.mx_SecurityUserSettingsTab {
.mx_SettingsTab_section {
.mx_AccessibleButton_kind_link {
padding: 0;
font-size: inherit;
}
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 169 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 171 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 170 B

View file

@ -0,0 +1,5 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M12 16.5C12 18.9853 9.98528 21 7.5 21C6.21514 21 3 21 3 21C3 21 3 17.7004 3 16.5C3 14.0147 5.01472 12 7.5 12C9.98528 12 12 14.0147 12 16.5Z" stroke="#2E2F32" stroke-linejoin="round"/>
<path d="M8.25 12L17.1955 3.69345C18.0632 2.88776 19.4127 2.91274 20.25 3.75V3.75C21.0873 4.58726 21.1122 5.93682 20.3065 6.80449L12 15.75" stroke="#2E2F32"/>
<path d="M11.25 9C11.25 9 12.3929 9.45 13.5 10.5C14.6071 11.55 15 12.75 15 12.75" stroke="#2E2F32"/>
</svg>

After

Width:  |  Height:  |  Size: 556 B

View file

@ -0,0 +1,5 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M2 5C2 3.89543 2.89543 3 4 3H20C21.1046 3 22 3.89543 22 5V15C22 16.1046 21.1046 17 20 17H4C2.89543 17 2 16.1046 2 15V5Z" stroke="#2E2F32" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M8 21H16" stroke="#2E2F32" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M12 17V21" stroke="#2E2F32" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 510 B

View file

@ -0,0 +1,4 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M5 4C5 2.89543 5.89543 2 7 2H17C18.1046 2 19 2.89543 19 4V20C19 21.1046 18.1046 22 17 22H7C5.89543 22 5 21.1046 5 20V4Z" stroke="#2E2F32" stroke-linecap="round" stroke-linejoin="round"/>
<circle cx="12" cy="18" r="1" fill="#2E2F32"/>
</svg>

After

Width:  |  Height:  |  Size: 386 B

View file

@ -0,0 +1,7 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M2.25 5.5H5.16667H21.75" stroke="#2E2F32" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M16.5 5.5L15 1H9L7.5 5.5" stroke="#2E2F32" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M5.25 9.25V20.75C5.25 21.8546 6.14543 22.75 7.25 22.75H16.75C17.8546 22.75 18.75 21.8546 18.75 20.75V9.25" stroke="#2E2F32" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M9.75 9.25V18.25" stroke="#2E2F32" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M14.25 9.25V18.25" stroke="#2E2F32" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 673 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1,015 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 654 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 655 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 558 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 659 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 811 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 566 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 668 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 672 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 669 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

Some files were not shown because too many files have changed in this diff Show more