Merge branch 'johannes/webpack-cli-4.10.0' into johannes/webpack-5
This commit is contained in:
commit
c844d80217
14 changed files with 505 additions and 448 deletions
10
.github/workflows/dockerhub.yaml
vendored
10
.github/workflows/dockerhub.yaml
vendored
|
@ -18,22 +18,22 @@ jobs:
|
||||||
fetch-depth: 0 # needed for docker-package to be able to calculate the version
|
fetch-depth: 0 # needed for docker-package to be able to calculate the version
|
||||||
|
|
||||||
- name: Set up QEMU
|
- name: Set up QEMU
|
||||||
uses: docker/setup-qemu-action@2b82ce82d56a2a04d2637cd93a637ae1b359c0a7 # v2
|
uses: docker/setup-qemu-action@68827325e0b33c7199eb31dd4e31fbe9023e06e3 # v3
|
||||||
|
|
||||||
- name: Set up Docker Buildx
|
- name: Set up Docker Buildx
|
||||||
uses: docker/setup-buildx-action@885d1462b80bc1c1c7f0b00334ad271f09369c55 # v2
|
uses: docker/setup-buildx-action@f95db51fddba0c2d1ec667646a06c2ce06100226 # v3
|
||||||
with:
|
with:
|
||||||
install: true
|
install: true
|
||||||
|
|
||||||
- name: Login to Docker Hub
|
- name: Login to Docker Hub
|
||||||
uses: docker/login-action@465a07811f14bebb1938fbed4728c6a1ff8901fc # v2
|
uses: docker/login-action@343f7c4344506bcbf9b4de18042ae17996df046d # v3
|
||||||
with:
|
with:
|
||||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||||
|
|
||||||
- name: Docker meta
|
- name: Docker meta
|
||||||
id: meta
|
id: meta
|
||||||
uses: docker/metadata-action@818d4b7b91585d195f67373fd9cb0332e31a7175 # v4
|
uses: docker/metadata-action@96383f45573cb7f253c731d3b3ab81c87ef81934 # v5
|
||||||
with:
|
with:
|
||||||
images: |
|
images: |
|
||||||
vectorim/element-web
|
vectorim/element-web
|
||||||
|
@ -44,7 +44,7 @@ jobs:
|
||||||
latest=${{ contains(github.ref_name, '-rc.') && 'false' || 'auto' }}
|
latest=${{ contains(github.ref_name, '-rc.') && 'false' || 'auto' }}
|
||||||
|
|
||||||
- name: Build and push
|
- name: Build and push
|
||||||
uses: docker/build-push-action@2eb1c1961a95fc15694676618e422e8ba1d63825 # v4
|
uses: docker/build-push-action@0565240e2d4ab88bba5387d719585280857ece09 # v5
|
||||||
with:
|
with:
|
||||||
context: .
|
context: .
|
||||||
push: true
|
push: true
|
||||||
|
|
2
.github/workflows/tests.yaml
vendored
2
.github/workflows/tests.yaml
vendored
|
@ -27,7 +27,7 @@ jobs:
|
||||||
|
|
||||||
- name: Get number of CPU cores
|
- name: Get number of CPU cores
|
||||||
id: cpu-cores
|
id: cpu-cores
|
||||||
uses: SimenB/github-actions-cpu-cores@410541432439795d30db6501fb1d8178eb41e502 # v1
|
uses: SimenB/github-actions-cpu-cores@97ba232459a8e02ff6121db9362b09661c875ab8 # v2
|
||||||
|
|
||||||
- name: Run tests with coverage
|
- name: Run tests with coverage
|
||||||
run: "yarn coverage --ci --max-workers ${{ steps.cpu-cores.outputs.count }}"
|
run: "yarn coverage --ci --max-workers ${{ steps.cpu-cores.outputs.count }}"
|
||||||
|
|
24
CHANGELOG.md
24
CHANGELOG.md
|
@ -1,3 +1,27 @@
|
||||||
|
Changes in [1.11.44](https://github.com/vector-im/element-web/releases/tag/v1.11.44) (2023-09-26)
|
||||||
|
=================================================================================================
|
||||||
|
|
||||||
|
## ✨ Features
|
||||||
|
* Make video & voice call buttons pin conference widget if unpinned ([\#11576](https://github.com/matrix-org/matrix-react-sdk/pull/11576)). Fixes vector-im/customer-retainer#72.
|
||||||
|
* OIDC: persist refresh token ([\#11249](https://github.com/matrix-org/matrix-react-sdk/pull/11249)). Contributed by @kerryarchibald.
|
||||||
|
* ElementR: Cross user verification ([\#11364](https://github.com/matrix-org/matrix-react-sdk/pull/11364)). Fixes #25752. Contributed by @florianduros.
|
||||||
|
* Default intentional mentions ([\#11602](https://github.com/matrix-org/matrix-react-sdk/pull/11602)).
|
||||||
|
* Notify users about denied access on ask-to-join rooms ([\#11480](https://github.com/matrix-org/matrix-react-sdk/pull/11480)). Contributed by @nurjinjafar.
|
||||||
|
* Allow setting knock room directory visibility ([\#11529](https://github.com/matrix-org/matrix-react-sdk/pull/11529)). Contributed by @charlynguyen.
|
||||||
|
|
||||||
|
## 🐛 Bug Fixes
|
||||||
|
* Revert "Fix regression around FacePile with overflow (#11527)" ([\#11634](https://github.com/matrix-org/matrix-react-sdk/pull/11634)). Fixes #26209.
|
||||||
|
* Escape placeholder before injecting it into the style ([\#11607](https://github.com/matrix-org/matrix-react-sdk/pull/11607)).
|
||||||
|
* Move ViewUser action callback to RoomView ([\#11495](https://github.com/matrix-org/matrix-react-sdk/pull/11495)). Fixes #26040.
|
||||||
|
* Fix room timeline search toggling behaviour edge case ([\#11605](https://github.com/matrix-org/matrix-react-sdk/pull/11605)). Fixes #26105.
|
||||||
|
* Avoid rendering view-message link in RoomKnocksBar unnecessarily ([\#11598](https://github.com/matrix-org/matrix-react-sdk/pull/11598)). Contributed by @charlynguyen.
|
||||||
|
* Use knock rooms sync to reflect the knock state ([\#11596](https://github.com/matrix-org/matrix-react-sdk/pull/11596)). Fixes #26043 and #26044. Contributed by @charlynguyen.
|
||||||
|
* Fix avatar in right panel not using the correct font ([\#11593](https://github.com/matrix-org/matrix-react-sdk/pull/11593)). Fixes #26061. Contributed by @MidhunSureshR.
|
||||||
|
* Add waits in Spotlight Cypress tests, hoping this unflakes them ([\#11590](https://github.com/matrix-org/matrix-react-sdk/pull/11590)). Fixes #26053, #26140 #26139 and #26138. Contributed by @andybalaam.
|
||||||
|
* Fix vertical alignment of default avatar font ([\#11582](https://github.com/matrix-org/matrix-react-sdk/pull/11582)). Fixes #26081.
|
||||||
|
* Fix avatars in public room & space search being flex shrunk ([\#11580](https://github.com/matrix-org/matrix-react-sdk/pull/11580)). Fixes #26133.
|
||||||
|
* Fix EventTile avatars being rendered with a size of 0 instead of hidden ([\#11558](https://github.com/matrix-org/matrix-react-sdk/pull/11558)). Fixes #26075.
|
||||||
|
|
||||||
Changes in [1.11.43](https://github.com/vector-im/element-web/releases/tag/v1.11.43) (2023-09-15)
|
Changes in [1.11.43](https://github.com/vector-im/element-web/releases/tag/v1.11.43) (2023-09-15)
|
||||||
=================================================================================================
|
=================================================================================================
|
||||||
|
|
||||||
|
|
|
@ -25,10 +25,7 @@ const config: Config = {
|
||||||
},
|
},
|
||||||
testMatch: ["<rootDir>/test/**/*-test.[tj]s?(x)"],
|
testMatch: ["<rootDir>/test/**/*-test.[tj]s?(x)"],
|
||||||
setupFiles: ["jest-canvas-mock"],
|
setupFiles: ["jest-canvas-mock"],
|
||||||
setupFilesAfterEnv: [
|
setupFilesAfterEnv: ["<rootDir>/node_modules/matrix-react-sdk/test/setupTests.ts"],
|
||||||
"<rootDir>/node_modules/matrix-react-sdk/test/setupTests.ts",
|
|
||||||
"<rootDir>/test/setup/setupLanguage.ts",
|
|
||||||
],
|
|
||||||
moduleNameMapper: {
|
moduleNameMapper: {
|
||||||
"\\.(css|scss|pcss)$": "<rootDir>/__mocks__/cssMock.js",
|
"\\.(css|scss|pcss)$": "<rootDir>/__mocks__/cssMock.js",
|
||||||
"\\.(gif|png|ttf|woff2)$": "<rootDir>/node_modules/matrix-react-sdk/__mocks__/imageMock.js",
|
"\\.(gif|png|ttf|woff2)$": "<rootDir>/node_modules/matrix-react-sdk/__mocks__/imageMock.js",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "element-web",
|
"name": "element-web",
|
||||||
"version": "1.11.43",
|
"version": "1.11.44",
|
||||||
"description": "A feature-rich client for Matrix.org",
|
"description": "A feature-rich client for Matrix.org",
|
||||||
"author": "New Vector Ltd.",
|
"author": "New Vector Ltd.",
|
||||||
"repository": {
|
"repository": {
|
||||||
|
|
|
@ -39,7 +39,7 @@ import type EN from "./i18n/strings/en_EN.json";
|
||||||
* which we know will be injected by webpack.
|
* which we know will be injected by webpack.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
export type TranslationKey = Leaves<typeof EN & typeof ReactEN, "|", string | { other: string }>;
|
export type TranslationKey = Leaves<typeof EN & typeof ReactEN, "|", string | { other: string }, 4>;
|
||||||
|
|
||||||
export class UserFriendlyError extends ReactUserFriendlyError {
|
export class UserFriendlyError extends ReactUserFriendlyError {
|
||||||
public constructor(message: TranslationKey, substitutionVariablesAndCause?: IVariables & ErrorOptions) {
|
public constructor(message: TranslationKey, substitutionVariablesAndCause?: IVariables & ErrorOptions) {
|
||||||
|
|
|
@ -25,6 +25,6 @@ fetchMock.config.overwriteRoutes = false;
|
||||||
|
|
||||||
export function setupLanguageMock() {
|
export function setupLanguageMock() {
|
||||||
reactSetupLanguageMock();
|
reactSetupLanguageMock();
|
||||||
fetchMock.get("end:en_EN.json", _.merge(en, reactEn), { overwriteRoutes: true });
|
fetchMock.get("end:en_EN.json", _.merge({}, en, reactEn), { overwriteRoutes: true });
|
||||||
}
|
}
|
||||||
setupLanguageMock();
|
setupLanguageMock();
|
||||||
|
|
|
@ -18,8 +18,13 @@ import * as React from "react";
|
||||||
import { render } from "@testing-library/react";
|
import { render } from "@testing-library/react";
|
||||||
|
|
||||||
import ErrorView from "../../../../src/async-components/structures/ErrorView";
|
import ErrorView from "../../../../src/async-components/structures/ErrorView";
|
||||||
|
import { setupLanguageMock } from "../../../setup/setupLanguage";
|
||||||
|
|
||||||
describe("<ErrorView />", () => {
|
describe("<ErrorView />", () => {
|
||||||
|
beforeEach(() => {
|
||||||
|
setupLanguageMock();
|
||||||
|
});
|
||||||
|
|
||||||
it("should match snapshot", () => {
|
it("should match snapshot", () => {
|
||||||
const { asFragment } = render(<ErrorView title="TITLE" messages={["MSG1", "MSG2"]} />);
|
const { asFragment } = render(<ErrorView title="TITLE" messages={["MSG1", "MSG2"]} />);
|
||||||
expect(asFragment()).toMatchSnapshot();
|
expect(asFragment()).toMatchSnapshot();
|
||||||
|
|
|
@ -18,8 +18,13 @@ import * as React from "react";
|
||||||
import { render } from "@testing-library/react";
|
import { render } from "@testing-library/react";
|
||||||
|
|
||||||
import VectorAuthFooter from "../../../../../src/components/views/auth/VectorAuthFooter";
|
import VectorAuthFooter from "../../../../../src/components/views/auth/VectorAuthFooter";
|
||||||
|
import { setupLanguageMock } from "../../../../setup/setupLanguage";
|
||||||
|
|
||||||
describe("<VectorAuthFooter />", () => {
|
describe("<VectorAuthFooter />", () => {
|
||||||
|
beforeEach(() => {
|
||||||
|
setupLanguageMock();
|
||||||
|
});
|
||||||
|
|
||||||
it("should match snapshot", () => {
|
it("should match snapshot", () => {
|
||||||
const { asFragment } = render(<VectorAuthFooter />);
|
const { asFragment } = render(<VectorAuthFooter />);
|
||||||
expect(asFragment()).toMatchSnapshot();
|
expect(asFragment()).toMatchSnapshot();
|
||||||
|
|
|
@ -18,8 +18,13 @@ import * as React from "react";
|
||||||
import { render } from "@testing-library/react";
|
import { render } from "@testing-library/react";
|
||||||
|
|
||||||
import VectorAuthPage from "../../../../../src/components/views/auth/VectorAuthPage";
|
import VectorAuthPage from "../../../../../src/components/views/auth/VectorAuthPage";
|
||||||
|
import { setupLanguageMock } from "../../../../setup/setupLanguage";
|
||||||
|
|
||||||
describe("<VectorAuthPage />", () => {
|
describe("<VectorAuthPage />", () => {
|
||||||
|
beforeEach(() => {
|
||||||
|
setupLanguageMock();
|
||||||
|
});
|
||||||
|
|
||||||
it("should match snapshot", () => {
|
it("should match snapshot", () => {
|
||||||
const { asFragment } = render(<VectorAuthPage />);
|
const { asFragment } = render(<VectorAuthPage />);
|
||||||
expect(asFragment()).toMatchSnapshot();
|
expect(asFragment()).toMatchSnapshot();
|
||||||
|
|
|
@ -26,6 +26,7 @@ import DesktopCapturerSourcePicker from "matrix-react-sdk/src/components/views/e
|
||||||
import { mocked } from "jest-mock";
|
import { mocked } from "jest-mock";
|
||||||
|
|
||||||
import ElectronPlatform from "../../../../src/vector/platform/ElectronPlatform";
|
import ElectronPlatform from "../../../../src/vector/platform/ElectronPlatform";
|
||||||
|
import { setupLanguageMock } from "../../../setup/setupLanguage";
|
||||||
|
|
||||||
jest.mock("matrix-react-sdk/src/rageshake/rageshake", () => ({
|
jest.mock("matrix-react-sdk/src/rageshake/rageshake", () => ({
|
||||||
flush: jest.fn(),
|
flush: jest.fn(),
|
||||||
|
@ -51,6 +52,7 @@ describe("ElectronPlatform", () => {
|
||||||
window.electron = mockElectron;
|
window.electron = mockElectron;
|
||||||
jest.clearAllMocks();
|
jest.clearAllMocks();
|
||||||
Object.defineProperty(window, "navigator", { value: { userAgent: defaultUserAgent }, writable: true });
|
Object.defineProperty(window, "navigator", { value: { userAgent: defaultUserAgent }, writable: true });
|
||||||
|
setupLanguageMock();
|
||||||
});
|
});
|
||||||
|
|
||||||
const getElectronEventHandlerCall = (eventType: string): [type: string, handler: Function] | undefined =>
|
const getElectronEventHandlerCall = (eventType: string): [type: string, handler: Function] | undefined =>
|
||||||
|
|
|
@ -19,12 +19,14 @@ import { UpdateCheckStatus } from "matrix-react-sdk/src/BasePlatform";
|
||||||
import { MatrixClientPeg } from "matrix-react-sdk/src/MatrixClientPeg";
|
import { MatrixClientPeg } from "matrix-react-sdk/src/MatrixClientPeg";
|
||||||
|
|
||||||
import WebPlatform from "../../../../src/vector/platform/WebPlatform";
|
import WebPlatform from "../../../../src/vector/platform/WebPlatform";
|
||||||
|
import { setupLanguageMock } from "../../../setup/setupLanguage";
|
||||||
|
|
||||||
fetchMock.config.overwriteRoutes = true;
|
fetchMock.config.overwriteRoutes = true;
|
||||||
|
|
||||||
describe("WebPlatform", () => {
|
describe("WebPlatform", () => {
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
jest.clearAllMocks();
|
jest.clearAllMocks();
|
||||||
|
setupLanguageMock();
|
||||||
});
|
});
|
||||||
|
|
||||||
it("returns human readable name", () => {
|
it("returns human readable name", () => {
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
"outDir": "./lib",
|
"outDir": "./lib",
|
||||||
"declaration": true,
|
"declaration": true,
|
||||||
"jsx": "react",
|
"jsx": "react",
|
||||||
"lib": ["es2020", "dom", "dom.iterable"],
|
"lib": ["es2021", "dom", "dom.iterable"],
|
||||||
"strict": true
|
"strict": true
|
||||||
},
|
},
|
||||||
"include": [
|
"include": [
|
||||||
|
|
Loading…
Reference in a new issue