chore: upgrade i18next 26, prettier 3, fontsource-variable, domhandler 6, lint-staged 17
CI / Build & Quality Checks (push) Successful in 10m13s

- i18next 23->26 + react-i18next 15->17
- prettier 2->3, reformat all files
- replace @fontsource/inter with @fontsource-variable/inter 5, update import path
- domhandler 5->6 (aligns with transitive deps)
- lint-staged 16->17
This commit is contained in:
Lotus Bot
2026-05-21 23:30:50 -04:00
parent 98fde12682
commit 23008670f3
363 changed files with 1443 additions and 1419 deletions
@@ -60,7 +60,7 @@ export function DeveloperTools({ requestClose }: DeveloperToolsProps) {
async (type, content) => {
await mx.setRoomAccountData(room.roomId, type, content);
},
[mx, room.roomId]
[mx, room.roomId],
);
if (accountDataType !== undefined) {
@@ -40,7 +40,7 @@ export function SendRoomEvent({ type, stateKey, requestClose }: SendRoomEventPro
const [jsonError, setJSONError] = useState<SyntaxError>();
const { handleKeyDown, operations, getTarget } = useTextAreaCodeEditor(
textAreaRef,
EDITOR_INTENT_SPACE_COUNT
EDITOR_INTENT_SPACE_COUNT,
);
const [submitState, submit] = useAsyncCallback<
@@ -55,8 +55,8 @@ export function SendRoomEvent({ type, stateKey, requestClose }: SendRoomEventPro
}
return mx.sendEvent(room.roomId, evtType as any, evtContent);
},
[mx, room]
)
[mx, room],
),
);
const submitting = submitState.status === AsyncStatus.Loading;
@@ -47,21 +47,21 @@ function StateEventEdit({ type, stateKey, content, requestClose }: StateEventEdi
const defaultContentStr = useMemo(
() => JSON.stringify(content, undefined, EDITOR_INTENT_SPACE_COUNT),
[content]
[content],
);
const textAreaRef = useRef<HTMLTextAreaElement>(null);
const [jsonError, setJSONError] = useState<SyntaxError>();
const { handleKeyDown, operations, getTarget } = useTextAreaCodeEditor(
textAreaRef,
EDITOR_INTENT_SPACE_COUNT
EDITOR_INTENT_SPACE_COUNT,
);
const [submitState, submit] = useAsyncCallback<object, MatrixError, [object]>(
useCallback(
(c) => mx.sendStateEvent(room.roomId, type as any, c, stateKey),
[mx, room, type, stateKey]
)
[mx, room, type, stateKey],
),
);
const submitting = submitState.status === AsyncStatus.Loading;
@@ -59,8 +59,8 @@ function CreatePackTile({ packs, roomId }: CreatePackTileProps) {
};
await mx.sendStateEvent(roomId, StateEvent.PoniesRoomEmotes as any, content, stateKey);
},
[mx, roomId]
)
[mx, roomId],
),
);
const creating = addState.status === AsyncStatus.Loading;
@@ -166,7 +166,7 @@ export function RoomPacks({ onViewPack }: RoomPacksProps) {
// eslint-disable-next-line no-await-in-loop
await mx.sendStateEvent(room.roomId, StateEvent.PoniesRoomEmotes as any, {}, addr.stateKey);
}
}, [mx, room, removedPacks])
}, [mx, room, removedPacks]),
);
const applyingChanges = applyState.status === AsyncStatus.Loading;
@@ -44,7 +44,7 @@ export function RoomPublishedAddresses({ permissions }: RoomPublishedAddressesPr
const canEditCanonical = permissions.stateEvent(
StateEvent.RoomCanonicalAlias,
mx.getSafeUserId()
mx.getSafeUserId(),
);
const [canonicalAlias, publishedAliases] = usePublishedAliases(room);
@@ -241,8 +241,8 @@ function LocalAddressesList({
await removeLocalAlias(alias);
}
},
[removeLocalAlias]
)
[removeLocalAlias],
),
);
const [publishState, publish] = useAsyncCallback(publishAliases);
const [unpublishState, unpublish] = useAsyncCallback(unpublishAliases);
@@ -365,7 +365,7 @@ export function RoomLocalAddresses({ permissions }: { permissions: RoomPermissio
const canEditCanonical = permissions.stateEvent(
StateEvent.RoomCanonicalAlias,
mx.getSafeUserId()
mx.getSafeUserId(),
);
const [expand, setExpand] = useState(false);
@@ -49,7 +49,7 @@ export function RoomEncryption({ permissions }: RoomEncryptionProps) {
await mx.sendStateEvent(room.roomId, StateEvent.RoomEncryption as any, {
algorithm: ROOM_ENC_ALGO,
});
}, [mx, room.roomId])
}, [mx, room.roomId]),
);
const enabling = enableState.status === AsyncStatus.Loading;
@@ -34,7 +34,7 @@ const useVisibilityStr = () =>
[HistoryVisibility.Shared]: 'All Messages',
[HistoryVisibility.WorldReadable]: 'All Messages (Guests)',
}),
[]
[],
);
const useVisibilityMenu = () =>
@@ -45,7 +45,7 @@ const useVisibilityMenu = () =>
HistoryVisibility.Joined,
HistoryVisibility.WorldReadable,
],
[]
[],
);
type RoomHistoryVisibilityProps = {
@@ -78,8 +78,8 @@ export function RoomHistoryVisibility({ permissions }: RoomHistoryVisibilityProp
};
await mx.sendStateEvent(room.roomId, StateEvent.RoomHistoryVisibility as any, content);
},
[mx, room.roomId]
)
[mx, room.roomId],
),
);
const submitting = submitState.status === AsyncStatus.Loading;
@@ -113,8 +113,8 @@ export function RoomJoinRules({ permissions }: RoomJoinRulesProps) {
if (allow.length > 0) c.allow = allow;
await mx.sendStateEvent(room.roomId, StateEvent.RoomJoinRules as any, c);
},
[mx, room, space, subspaces, roomIdToParents]
)
[mx, room, space, subspaces, roomIdToParents],
),
);
const submitting = submitState.status === AsyncStatus.Loading;
@@ -67,7 +67,7 @@ export function RoomProfileEdit({
const [roomAvatar, setRoomAvatar] = useState(avatar);
const avatarUrl = roomAvatar
? mxcUrlToHttp(mx, roomAvatar, useAuthentication) ?? undefined
? (mxcUrlToHttp(mx, roomAvatar, useAuthentication) ?? undefined)
: undefined;
const [imageFile, setImageFile] = useState<File>();
@@ -104,8 +104,8 @@ export function RoomProfileEdit({
await mx.sendStateEvent(room.roomId, StateEvent.RoomTopic as any, { topic: roomTopic });
}
},
[mx, room.roomId]
)
[mx, room.roomId],
),
);
const submitting = submitState.status === AsyncStatus.Loading;
@@ -128,7 +128,7 @@ export function RoomProfileEdit({
submit(
roomAvatar === avatar ? undefined : roomAvatar || null,
roomName === name ? undefined : roomName,
roomTopic === topic ? undefined : roomTopic
roomTopic === topic ? undefined : roomTopic,
).then(() => {
if (alive()) {
onClose();
@@ -280,7 +280,7 @@ export function RoomProfile({ permissions }: RoomProfileProps) {
const canEdit = canEditAvatar || canEditName || canEditTopic;
const avatarUrl = avatar
? mxcUrlToHttp(mx, avatar, useAuthentication, 96, 96, 'crop') ?? undefined
? (mxcUrlToHttp(mx, avatar, useAuthentication, 96, 96, 'crop') ?? undefined)
: undefined;
const [edit, setEdit] = useState(false);
@@ -23,7 +23,7 @@ export function RoomPublish({ permissions }: RoomPublishProps) {
const canEditCanonical = permissions.stateEvent(
StateEvent.RoomCanonicalAlias,
mx.getSafeUserId()
mx.getSafeUserId(),
);
const joinRuleEvent = useStateEvent(room, StateEvent.RoomJoinRules);
const content = joinRuleEvent?.getContent<RoomJoinRulesEventContent>();
@@ -66,8 +66,8 @@ function RoomUpgradeDialog({ requestClose }: { requestClose: () => void }) {
additional_creators: newAdditionalCreators,
});
},
[mx, room]
)
[mx, room],
),
);
const upgrading = upgradeState.status === AsyncStatus.Loading;
@@ -170,14 +170,14 @@ export function RoomUpgrade({ permissions, requestClose }: RoomUpgradeProps) {
const { navigateRoom, navigateSpace } = useRoomNavigate();
const createContent = useStateEvent(
room,
StateEvent.RoomCreate
StateEvent.RoomCreate,
)?.getContent<IRoomCreateContent>();
const roomVersion = createContent?.room_version ?? '1';
const predecessorRoomId = createContent?.predecessor?.room_id;
const tombstoneContent = useStateEvent(
room,
StateEvent.RoomTombstone
StateEvent.RoomTombstone,
)?.getContent<RoomTombstoneEventContent>();
const replacementRoom = tombstoneContent?.replacement_room;
@@ -105,13 +105,13 @@ export function Members({ requestClose }: MembersProps) {
.filter(membershipFilter.filterFn)
.sort(memberSort.sortFn)
.sort(memberPowerSort),
[members, membershipFilter, memberSort, memberPowerSort]
[members, membershipFilter, memberSort, memberPowerSort],
);
const [result, search, resetSearch] = useAsyncSearch(
sortedMembers,
getRoomMemberStr,
SEARCH_OPTIONS
SEARCH_OPTIONS,
);
if (!result && searchInputRef.current?.value) search(searchInputRef.current.value);
@@ -130,9 +130,9 @@ export function Members({ requestClose }: MembersProps) {
if (evt.target.value) search(evt.target.value);
else resetSearch();
},
[search, resetSearch]
[search, resetSearch],
),
{ wait: 200 }
{ wait: 200 },
);
const handleSearchReset = () => {
@@ -225,7 +225,7 @@ export function Members({ requestClose }: MembersProps) {
onClick={
((evt) =>
setAnchor(
evt.currentTarget.getBoundingClientRect()
evt.currentTarget.getBoundingClientRect(),
)) as MouseEventHandler<HTMLButtonElement>
}
variant="SurfaceVariant"
@@ -257,7 +257,7 @@ export function Members({ requestClose }: MembersProps) {
onClick={
((evt) =>
setAnchor(
evt.currentTarget.getBoundingClientRect()
evt.currentTarget.getBoundingClientRect(),
)) as MouseEventHandler<HTMLButtonElement>
}
variant="SurfaceVariant"
@@ -42,7 +42,7 @@ export function PermissionGroups({
const maxPower = useMemo(() => Math.max(...getPowers(powerLevelTags)), [powerLevelTags]);
const [permissionUpdate, setPermissionUpdate] = useState<Map<PermissionLocation, number>>(
new Map()
new Map(),
);
useEffect(() => {
@@ -54,7 +54,7 @@ export function PermissionGroups({
const handleChangePermission = (
location: PermissionLocation,
newPower: number,
currentPower: number
currentPower: number,
) => {
setPermissionUpdate((p) => {
const up: typeof p = new Map();
@@ -77,16 +77,16 @@ export function PermissionGroups({
group.items.forEach((item) => {
const power = getPermissionPower(powerLevels, item.location);
applyPermissionPower(draftPowerLevels, item.location, power);
})
}),
);
permissionUpdate.forEach((power, location) =>
applyPermissionPower(draftPowerLevels, location, power)
applyPermissionPower(draftPowerLevels, location, power),
);
return draftPowerLevels;
});
await mx.sendStateEvent(room.roomId, StateEvent.RoomPowerLevels as any, editedPowerLevels);
}, [mx, room, powerLevels, permissionUpdate, permissionGroups])
}, [mx, room, powerLevels, permissionUpdate, permissionGroups]),
);
const resetChanges = useCallback(() => {
@@ -228,7 +228,7 @@ function EditPower({ maxPower, power, tag, onSave, onClose }: EditPowerProps) {
onClick={
((evt) =>
setCords(
evt.currentTarget.getBoundingClientRect()
evt.currentTarget.getBoundingClientRect(),
)) as MouseEventHandler<HTMLButtonElement>
}
type="button"
@@ -324,7 +324,7 @@ export function PowersEditor({ powerLevels, requestClose }: PowersEditorProps) {
return editedTags;
});
},
[powerLevelTags]
[powerLevelTags],
);
const [applyState, applyChanges] = useAsyncCallback(
@@ -334,7 +334,7 @@ export function PowersEditor({ powerLevels, requestClose }: PowersEditorProps) {
delete content[power];
});
await mx.sendStateEvent(room.roomId, StateEvent.PowerLevelTags as any, content);
}, [mx, room, powerLevelTags, editedPowerTags, deleted])
}, [mx, room, powerLevelTags, editedPowerTags, deleted]),
);
const resetChanges = useCallback(() => {