Merge branch 'johannes/webpack-cli-4.10.0' into johannes/webpack-5

This commit is contained in:
Johannes Marbach 2023-09-29 11:00:03 +02:00
commit c844d80217
14 changed files with 505 additions and 448 deletions

View file

@ -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

View file

@ -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 }}"

View file

@ -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)
================================================================================================= =================================================================================================

View file

@ -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",

View file

@ -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": {

View file

@ -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) {

View file

@ -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();

View file

@ -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();

View file

@ -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();

View file

@ -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();

View file

@ -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 =>

View file

@ -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", () => {

View file

@ -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": [

885
yarn.lock

File diff suppressed because it is too large Load diff