chore: upgrade TypeScript 4.9 to 5.9, ESLint 8.29 to 8.57, @typescript-eslint 5 to 7
CI / Build & Quality Checks (push) Successful in 10m33s

Resolves all TS2345/TS2347/TS7006 type errors introduced by stricter TypeScript 5.x.
Fix Icons.Settings to Icons.Setting, cast account data returns, fix implicit any.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Lotus Bot
2026-05-22 11:16:11 -04:00
parent 31071749d5
commit a6da8ebbf4
33 changed files with 389 additions and 334 deletions
+1 -1
View File
@@ -814,7 +814,7 @@ export const RoomInput = forwardRef<HTMLDivElement, RoomInputProps>(
)}
{gifError && (
<Text
size="T100"
size="T200"
style={{
color: 'var(--tc-danger-normal)',
padding: '2px 6px',
+1 -1
View File
@@ -27,7 +27,7 @@ import { HTMLReactParserOptions } from 'html-react-parser';
import classNames from 'classnames';
import { ReactEditor } from 'slate-react';
import { Editor } from 'slate';
import { SessionMembershipData } from 'matrix-js-sdk/lib/matrixrtc/CallMembership';
import { type SessionMembershipData } from 'matrix-js-sdk/lib/matrixrtc';
import to from 'await-to-js';
import { useAtomValue, useSetAtom } from 'jotai';
import {
@@ -39,7 +39,8 @@ export function ForwardMessageDialog({ mEvent, onClose }: Props) {
const forward = (roomId: string, roomName: string) => {
const fwdContent: Record<string, unknown> = { ...mEvent.getContent() };
delete fwdContent['m.relates_to'];
mx.sendEvent(roomId, mEvent.getType(), fwdContent as any);
// eslint-disable-next-line @typescript-eslint/no-explicit-any
(mx as any).sendEvent(roomId, mEvent.getType(), fwdContent);
setSentTo(roomName);
setTimeout(onClose, 1200);
};
@@ -83,6 +83,7 @@ import { MemberPowerTag, StateEvent } from '../../../../types/matrix/room';
import { PowerIcon } from '../../../components/power';
import colorMXID from '../../../../util/colorMXID';
import { getPowerTagIconSrc } from '../../../hooks/useMemberPowerTag';
import { ForwardMessageDialog } from './ForwardMessageDialog';
// Delivery status indicator for own messages
function DeliveryStatus({
@@ -153,7 +153,8 @@ export const MessageEditor = as<'div', MessageEditorProps>(
},
};
return mx.sendMessage(roomId, content);
// eslint-disable-next-line @typescript-eslint/no-explicit-any
return mx.sendMessage(roomId, content as any);
}, [mx, editor, roomId, mEvent, isMarkdown, getPrevBodyAndFormattedBody]),
);
+8 -8
View File
@@ -54,8 +54,8 @@ export const getImageMsgContent = async (
const content: IContent = {
msgtype: MsgType.Image,
filename: file.name,
body: metadata.caption?.trim() || file.name,
filename: (file as File).name,
body: metadata.caption?.trim() || (file as File).name,
[MATRIX_SPOILER_PROPERTY_NAME]: metadata.markedAsSpoiler,
};
if (imgEl) {
@@ -89,8 +89,8 @@ export const getVideoMsgContent = async (
const content: IContent = {
msgtype: MsgType.Video,
filename: file.name,
body: metadata.caption?.trim() || file.name,
filename: (file as File).name,
body: metadata.caption?.trim() || (file as File).name,
[MATRIX_SPOILER_PROPERTY_NAME]: metadata.markedAsSpoiler,
};
if (videoEl) {
@@ -130,8 +130,8 @@ export const getAudioMsgContent = (item: TUploadItem, mxc: string): IContent =>
const { file, encInfo } = item;
const content: IContent = {
msgtype: MsgType.Audio,
filename: file.name,
body: file.name,
filename: (file as File).name,
body: (file as File).name,
info: {
mimetype: file.type,
size: file.size,
@@ -152,8 +152,8 @@ export const getFileMsgContent = (item: TUploadItem, mxc: string): IContent => {
const { file, encInfo } = item;
const content: IContent = {
msgtype: MsgType.File,
body: file.name,
filename: file.name,
body: (file as File).name,
filename: (file as File).name,
info: {
mimetype: file.type,
size: file.size,