Simplify types (#28749)

renovate/vector-im
Michael Telatynski 2024-12-23 16:12:56 +00:00 committed by GitHub
parent db02f26005
commit 0b24d33c64
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 12 additions and 41 deletions

View File

@ -87,6 +87,7 @@
"@matrix-org/react-sdk-module-api": "^2.4.0", "@matrix-org/react-sdk-module-api": "^2.4.0",
"@matrix-org/spec": "^1.7.0", "@matrix-org/spec": "^1.7.0",
"@sentry/browser": "^8.0.0", "@sentry/browser": "^8.0.0",
"@types/png-chunks-extract": "^1.0.2",
"@vector-im/compound-design-tokens": "^2.0.1", "@vector-im/compound-design-tokens": "^2.0.1",
"@vector-im/compound-web": "^7.5.0", "@vector-im/compound-web": "^7.5.0",
"@vector-im/matrix-wysiwyg": "2.37.13", "@vector-im/matrix-wysiwyg": "2.37.13",

View File

@ -1,18 +0,0 @@
/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE files in the repository root for full details.
*/
declare module "png-chunks-extract" {
interface IChunk {
name: string;
data: Uint8Array;
}
function extractPngChunks(data: Uint8Array): IChunk[];
export default extractPngChunks;
}

View File

@ -1,15 +0,0 @@
/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE files in the repository root for full details.
*/
import sanitizeHtml from "sanitize-html";
export interface IExtendedSanitizeOptions extends sanitizeHtml.IOptions {
// This option only exists in 2.x RCs so far, so not yet present in the
// separate type definition module.
nestingLimit?: number;
}

View File

@ -10,7 +10,7 @@ Please see LICENSE files in the repository root for full details.
*/ */
import React, { LegacyRef, ReactNode } from "react"; import React, { LegacyRef, ReactNode } from "react";
import sanitizeHtml from "sanitize-html"; import sanitizeHtml, { IOptions } from "sanitize-html";
import classNames from "classnames"; import classNames from "classnames";
import katex from "katex"; import katex from "katex";
import { decode } from "html-entities"; import { decode } from "html-entities";
@ -19,7 +19,6 @@ import { Optional } from "matrix-events-sdk";
import escapeHtml from "escape-html"; import escapeHtml from "escape-html";
import { getEmojiFromUnicode } from "@matrix-org/emojibase-bindings"; import { getEmojiFromUnicode } from "@matrix-org/emojibase-bindings";
import { IExtendedSanitizeOptions } from "./@types/sanitize-html";
import SettingsStore from "./settings/SettingsStore"; import SettingsStore from "./settings/SettingsStore";
import { stripHTMLReply, stripPlainReply } from "./utils/Reply"; import { stripHTMLReply, stripPlainReply } from "./utils/Reply";
import { PERMITTED_URL_SCHEMES } from "./utils/UrlUtils"; import { PERMITTED_URL_SCHEMES } from "./utils/UrlUtils";
@ -126,7 +125,7 @@ export function isUrlPermitted(inputUrl: string): boolean {
} }
// this is the same as the above except with less rewriting // this is the same as the above except with less rewriting
const composerSanitizeHtmlParams: IExtendedSanitizeOptions = { const composerSanitizeHtmlParams: IOptions = {
...sanitizeHtmlParams, ...sanitizeHtmlParams,
transformTags: { transformTags: {
"code": transformTags["code"], "code": transformTags["code"],
@ -135,7 +134,7 @@ const composerSanitizeHtmlParams: IExtendedSanitizeOptions = {
}; };
// reduced set of allowed tags to avoid turning topics into Myspace // reduced set of allowed tags to avoid turning topics into Myspace
const topicSanitizeHtmlParams: IExtendedSanitizeOptions = { const topicSanitizeHtmlParams: IOptions = {
...sanitizeHtmlParams, ...sanitizeHtmlParams,
allowedTags: [ allowedTags: [
"font", // custom to matrix for IRC-style font coloring "font", // custom to matrix for IRC-style font coloring

View File

@ -7,7 +7,7 @@ Please see LICENSE files in the repository root for full details.
*/ */
import React, { ReactElement } from "react"; import React, { ReactElement } from "react";
import sanitizeHtml from "sanitize-html"; import sanitizeHtml, { IOptions } from "sanitize-html";
import { merge } from "lodash"; import { merge } from "lodash";
import _Linkify from "linkify-react"; import _Linkify from "linkify-react";
@ -17,7 +17,6 @@ import {
ELEMENT_URL_PATTERN, ELEMENT_URL_PATTERN,
options as linkifyMatrixOptions, options as linkifyMatrixOptions,
} from "./linkify-matrix"; } from "./linkify-matrix";
import { IExtendedSanitizeOptions } from "./@types/sanitize-html";
import SettingsStore from "./settings/SettingsStore"; import SettingsStore from "./settings/SettingsStore";
import { tryTransformPermalinkToLocalHref } from "./utils/permalinks/Permalinks"; import { tryTransformPermalinkToLocalHref } from "./utils/permalinks/Permalinks";
import { mediaFromMxc } from "./customisations/Media"; import { mediaFromMxc } from "./customisations/Media";
@ -26,7 +25,7 @@ import { PERMITTED_URL_SCHEMES } from "./utils/UrlUtils";
const COLOR_REGEX = /^#[0-9a-fA-F]{6}$/; const COLOR_REGEX = /^#[0-9a-fA-F]{6}$/;
const MEDIA_API_MXC_REGEX = /\/_matrix\/media\/r0\/(?:download|thumbnail)\/(.+?)\/(.+?)(?:[?/]|$)/; const MEDIA_API_MXC_REGEX = /\/_matrix\/media\/r0\/(?:download|thumbnail)\/(.+?)\/(.+?)(?:[?/]|$)/;
export const transformTags: NonNullable<IExtendedSanitizeOptions["transformTags"]> = { export const transformTags: NonNullable<IOptions["transformTags"]> = {
// custom to matrix // custom to matrix
// add blank targets to all hyperlinks except vector URLs // add blank targets to all hyperlinks except vector URLs
"a": function (tagName: string, attribs: sanitizeHtml.Attributes) { "a": function (tagName: string, attribs: sanitizeHtml.Attributes) {
@ -137,7 +136,7 @@ export const transformTags: NonNullable<IExtendedSanitizeOptions["transformTags"
}, },
}; };
export const sanitizeHtmlParams: IExtendedSanitizeOptions = { export const sanitizeHtmlParams: IOptions = {
allowedTags: [ allowedTags: [
// These tags are suggested by the spec https://spec.matrix.org/v1.10/client-server-api/#mroommessage-msgtypes // These tags are suggested by the spec https://spec.matrix.org/v1.10/client-server-api/#mroommessage-msgtypes
"font", // custom to matrix for IRC-style font coloring "font", // custom to matrix for IRC-style font coloring

View File

@ -3128,6 +3128,11 @@
resolved "https://registry.yarnpkg.com/@types/pbf/-/pbf-3.0.5.tgz#a9495a58d8c75be4ffe9a0bd749a307715c07404" resolved "https://registry.yarnpkg.com/@types/pbf/-/pbf-3.0.5.tgz#a9495a58d8c75be4ffe9a0bd749a307715c07404"
integrity sha512-j3pOPiEcWZ34R6a6mN07mUkM4o4Lwf6hPNt8eilOeZhTFbxFXmKhvXl9Y28jotFPaI1bpPDJsbCprUoNke6OrA== integrity sha512-j3pOPiEcWZ34R6a6mN07mUkM4o4Lwf6hPNt8eilOeZhTFbxFXmKhvXl9Y28jotFPaI1bpPDJsbCprUoNke6OrA==
"@types/png-chunks-extract@^1.0.2":
version "1.0.2"
resolved "https://registry.yarnpkg.com/@types/png-chunks-extract/-/png-chunks-extract-1.0.2.tgz#31dd8d74d6ba879ace317c1e042dcdabc6300d6e"
integrity sha512-z6djfFIbrrddtunoMJBOPlyZrnmeuG1kkvHUNi2QfpOb+JMMLuLliHHTmMyRi7k7LiTAut0HbdGCF6ibDtQAHQ==
"@types/prop-types@*": "@types/prop-types@*":
version "15.7.13" version "15.7.13"
resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.13.tgz#2af91918ee12d9d32914feb13f5326658461b451" resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.13.tgz#2af91918ee12d9d32914feb13f5326658461b451"