diff --git a/docs/config.md b/docs/config.md index 3102eaf83e..a1d6304e2e 100644 --- a/docs/config.md +++ b/docs/config.md @@ -32,7 +32,7 @@ For a good example, see https://riot.im/develop/config.json. homeserver know what email template to use when talking to you. 1. `branding`: Configures various branding and logo details, such as: 1. `welcomeBackgroundUrl`: An image to use as a wallpaper outside the app - during authentication flows + during authentication flows. If an array is passed, an image is chosen randomly for each visit. 1. `authHeaderLogoUrl`: An logo image that is shown in the header during authentication flows 1. `authFooterLinks`: a list of links to show in the authentication page footer: diff --git a/docs/labs.md b/docs/labs.md index 0605e6c5e2..970a46d1e4 100644 --- a/docs/labs.md +++ b/docs/labs.md @@ -67,13 +67,24 @@ An implementation of [MSC2241](https://github.com/matrix-org/matrix-doc/pull/224 This also includes a new implementation of the user & member info panel, designed to share more code between showing community members & room members. Built on top of this new panel is also a new UX for verification from the member panel. -## Cross-signing (in development) (`feature_cross_signing`) +## Cross-signing Cross-signing ([MSC1756](https://github.com/matrix-org/matrix-doc/pull/1756)) improves the device verification experience by allowing you to verify a user instead of verifying each of their devices. -This feature is still in development and will be landing in several chunks. +The feature is enabled by default and does not follow a traditional labs flag +at the moment. If something goes wrong, add this to your config to disable it: +```json +{ + "settingDefaults": { + "feature_cross_signing": false + } +} +``` + +The setting will be removed in a future release, enabling it non-optionally for +all users. ## Event indexing and E2EE search support using Seshat (`feature_event_indexing`) diff --git a/src/@types/global.d.ts b/src/@types/global.d.ts index 6a5adec6d6..a3fb9028c4 100644 --- a/src/@types/global.d.ts +++ b/src/@types/global.d.ts @@ -14,25 +14,15 @@ See the License for the specific language governing permissions and limitations under the License. */ -import "modernizr"; +import "matrix-react-sdk/src/@types/global"; // load matrix-react-sdk's type extensions first import {Renderer} from "react-dom"; declare global { interface Window { - Modernizr: ModernizrAPI & FeatureDetects; - Olm: { - init: () => Promise; - }; - mxSendRageshake: (text: string, withLogs?: boolean) => void; matrixChat: ReturnType; // electron-only ipcRenderer: any; } - - // workaround for https://github.com/microsoft/TypeScript/issues/30933 - interface ObjectConstructor { - fromEntries?(xs: [string|number|symbol, any][]): object - } } diff --git a/src/components/views/auth/VectorAuthPage.js b/src/components/views/auth/VectorAuthPage.js index 98ddb8ba0f..13b43ca1af 100644 --- a/src/components/views/auth/VectorAuthPage.js +++ b/src/components/views/auth/VectorAuthPage.js @@ -29,7 +29,11 @@ export default class VectorAuthPage extends React.PureComponent { const brandingConfig = SdkConfig.get().branding; let backgroundUrl = "themes/riot/img/backgrounds/valley.jpg"; if (brandingConfig && brandingConfig.welcomeBackgroundUrl) { - backgroundUrl = brandingConfig.welcomeBackgroundUrl; + if (Array.isArray(brandingConfig.welcomeBackgroundUrl)) { + backgroundUrl = brandingConfig.welcomeBackgroundUrl[Math.floor(Math.random() * brandingConfig.welcomeBackgroundUrl.length)]; + } else { + backgroundUrl = brandingConfig.welcomeBackgroundUrl; + } } const pageStyle = {