Switch to importing most things from the main matrix-js-sdk export (#11406)

* Switch to importing most things from the main matrix-js-sdk export

* fix imports

* Iterate

* Fix tests
This commit is contained in:
Michael Telatynski 2023-08-15 16:00:17 +01:00 committed by GitHub
parent 0842559fb2
commit ad73b0c16e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
52 changed files with 262 additions and 277 deletions

View file

@ -62,118 +62,6 @@ module.exports = {
name: "matrix-js-sdk/src/index", name: "matrix-js-sdk/src/index",
message: "Please use matrix-js-sdk/src/matrix instead", message: "Please use matrix-js-sdk/src/matrix instead",
}, },
{
name: "matrix-js-sdk/src/models/typed-event-emitter",
message: "Please use matrix-js-sdk/src/matrix instead",
},
{
name: "matrix-js-sdk/src/models/room",
message: "Please use matrix-js-sdk/src/matrix instead",
},
{
name: "matrix-js-sdk/src/models/room-member",
message: "Please use matrix-js-sdk/src/matrix instead",
},
{
name: "matrix-js-sdk/src/models/room-state",
message: "Please use matrix-js-sdk/src/matrix instead",
},
{
name: "matrix-js-sdk/src/models/event",
message: "Please use matrix-js-sdk/src/matrix instead",
},
{
name: "matrix-js-sdk/src/models/event-status",
message: "Please use matrix-js-sdk/src/matrix instead",
},
{
name: "matrix-js-sdk/src/models/user",
message: "Please use matrix-js-sdk/src/matrix instead",
},
{
name: "matrix-js-sdk/src/models/device",
message: "Please use matrix-js-sdk/src/matrix instead",
},
{
name: "matrix-js-sdk/src/models/event-timeline",
message: "Please use matrix-js-sdk/src/matrix instead",
},
{
name: "matrix-js-sdk/src/models/event-timeline-set",
message: "Please use matrix-js-sdk/src/matrix instead",
},
{
name: "matrix-js-sdk/src/@types/partials",
message: "Please use matrix-js-sdk/src/matrix instead",
},
{
name: "matrix-js-sdk/src/@types/event",
message: "Please use matrix-js-sdk/src/matrix instead",
},
{
name: "matrix-js-sdk/src/client",
message: "Please use matrix-js-sdk/src/matrix instead",
},
{
name: "matrix-js-sdk/src/models/search-result",
message: "Please use matrix-js-sdk/src/matrix instead",
},
{
name: "matrix-js-sdk/src/models/poll",
message: "Please use matrix-js-sdk/src/matrix instead",
},
{
name: "matrix-js-sdk/src/models/relations",
message: "Please use matrix-js-sdk/src/matrix instead",
},
{
name: "matrix-js-sdk/src/http-api",
message: "Please use matrix-js-sdk/src/matrix instead",
},
{
name: "matrix-js-sdk/src/@types/PushRules",
message: "Please use matrix-js-sdk/src/matrix instead",
},
{
name: "matrix-js-sdk/src/@types/search",
message: "Please use matrix-js-sdk/src/matrix instead",
},
{
name: "matrix-js-sdk/src/filter",
message: "Please use matrix-js-sdk/src/matrix instead",
},
{
name: "matrix-js-sdk/src/webrtc/groupCall",
message: "Please use matrix-js-sdk/src/matrix instead",
},
{
name: "matrix-js-sdk/src/service-types",
message: "Please use matrix-js-sdk/src/matrix instead",
},
{
name: "matrix-js-sdk/src/sync",
message: "Please use matrix-js-sdk/src/matrix instead",
},
{
name: "matrix-js-sdk/src/timeline-window",
message: "Please use matrix-js-sdk/src/matrix instead",
},
{
name: "matrix-js-sdk/src/store/indexeddb",
message: "Please use matrix-js-sdk/src/matrix instead",
},
{
name: "matrix-js-sdk/src/crypto/store/indexeddb-crypto-store",
message: "Please use matrix-js-sdk/src/matrix instead",
},
{
name: "matrix-js-sdk/src/crypto/store/localStorage-crypto-store",
message: "Please use matrix-js-sdk/src/matrix instead",
},
{
name: "matrix-js-sdk/src/models/thread",
message: "Please use matrix-js-sdk/src/matrix instead",
},
{ {
name: "matrix-react-sdk", name: "matrix-react-sdk",
message: "Please use matrix-react-sdk/src/index instead", message: "Please use matrix-react-sdk/src/index instead",
@ -185,8 +73,93 @@ module.exports = {
], ],
patterns: [ patterns: [
{ {
group: ["matrix-js-sdk/lib", "matrix-js-sdk/lib/", "matrix-js-sdk/lib/**"], group: [
message: "Please use matrix-js-sdk/src/* instead", "matrix-js-sdk/src/**",
"!matrix-js-sdk/src/matrix",
"matrix-js-sdk/lib",
"matrix-js-sdk/lib/",
"matrix-js-sdk/lib/**",
// XXX: Temporarily allow these as they are not available via the main export
"!matrix-js-sdk/src/logger",
"!matrix-js-sdk/src/errors",
"!matrix-js-sdk/src/utils",
"!matrix-js-sdk/src/version-support",
"!matrix-js-sdk/src/randomstring",
"!matrix-js-sdk/src/sliding-sync",
"!matrix-js-sdk/src/browser-index",
"!matrix-js-sdk/src/feature",
"!matrix-js-sdk/src/NamespacedValue",
"!matrix-js-sdk/src/ReEmitter",
"!matrix-js-sdk/src/event-mapper",
"!matrix-js-sdk/src/interactive-auth",
"!matrix-js-sdk/src/secret-storage",
"!matrix-js-sdk/src/room-hierarchy",
"!matrix-js-sdk/src/rendezvous",
"!matrix-js-sdk/src/rendezvous/transports",
"!matrix-js-sdk/src/rendezvous/channels",
"!matrix-js-sdk/src/indexeddb-worker",
"!matrix-js-sdk/src/pushprocessor",
"!matrix-js-sdk/src/extensible_events_v1",
"!matrix-js-sdk/src/extensible_events_v1/PollStartEvent",
"!matrix-js-sdk/src/extensible_events_v1/PollResponseEvent",
"!matrix-js-sdk/src/extensible_events_v1/PollEndEvent",
"!matrix-js-sdk/src/extensible_events_v1/InvalidEventError",
"!matrix-js-sdk/src/crypto-api",
"!matrix-js-sdk/src/crypto-api/verification",
"!matrix-js-sdk/src/crypto",
"!matrix-js-sdk/src/crypto/algorithms",
"!matrix-js-sdk/src/crypto/api",
"!matrix-js-sdk/src/crypto/aes",
"!matrix-js-sdk/src/crypto/backup",
"!matrix-js-sdk/src/crypto/olmlib",
"!matrix-js-sdk/src/crypto/crypto",
"!matrix-js-sdk/src/crypto/keybackup",
"!matrix-js-sdk/src/crypto/RoomList",
"!matrix-js-sdk/src/crypto/deviceinfo",
"!matrix-js-sdk/src/crypto/key_passphrase",
"!matrix-js-sdk/src/crypto/CrossSigning",
"!matrix-js-sdk/src/crypto/recoverykey",
"!matrix-js-sdk/src/crypto/dehydration",
"!matrix-js-sdk/src/crypto/verification",
"!matrix-js-sdk/src/crypto/verification/SAS",
"!matrix-js-sdk/src/crypto/verification/QRCode",
"!matrix-js-sdk/src/crypto/verification/request",
"!matrix-js-sdk/src/crypto/verification/request/VerificationRequest",
"!matrix-js-sdk/src/common-crypto",
"!matrix-js-sdk/src/common-crypto/CryptoBackend",
"!matrix-js-sdk/src/oidc",
"!matrix-js-sdk/src/oidc/discovery",
"!matrix-js-sdk/src/oidc/authorize",
"!matrix-js-sdk/src/oidc/validate",
"!matrix-js-sdk/src/oidc/error",
"!matrix-js-sdk/src/oidc/register",
"!matrix-js-sdk/src/webrtc",
"!matrix-js-sdk/src/webrtc/call",
"!matrix-js-sdk/src/webrtc/callFeed",
"!matrix-js-sdk/src/webrtc/mediaHandler",
"!matrix-js-sdk/src/webrtc/callEventTypes",
"!matrix-js-sdk/src/webrtc/callEventHandler",
"!matrix-js-sdk/src/webrtc/groupCallEventHandler",
"!matrix-js-sdk/src/models",
"!matrix-js-sdk/src/models/read-receipt",
"!matrix-js-sdk/src/models/relations-container",
"!matrix-js-sdk/src/models/related-relations",
"!matrix-js-sdk/src/@types",
"!matrix-js-sdk/src/@types/global",
"!matrix-js-sdk/src/@types/auth",
"!matrix-js-sdk/src/@types/beacon",
"!matrix-js-sdk/src/@types/threepids",
"!matrix-js-sdk/src/@types/polls",
"!matrix-js-sdk/src/@types/crypto",
"!matrix-js-sdk/src/@types/local_notifications",
"!matrix-js-sdk/src/@types/location",
"!matrix-js-sdk/src/@types/topic",
"!matrix-js-sdk/src/@types/registration",
"!matrix-js-sdk/src/@types/read_receipts",
"!matrix-js-sdk/src/@types/extensible_events",
"!matrix-js-sdk/src/@types/IIdentityServerProvider",
],
message: "Please use matrix-js-sdk/src/matrix instead",
}, },
], ],
}, },

View file

@ -18,12 +18,11 @@ limitations under the License.
*/ */
import { ReactNode } from "react"; import { ReactNode } from "react";
import { createClient, MatrixClient } from "matrix-js-sdk/src/matrix"; import { createClient, MatrixClient, SSOAction } from "matrix-js-sdk/src/matrix";
import { InvalidStoreError } from "matrix-js-sdk/src/errors"; import { InvalidStoreError } from "matrix-js-sdk/src/errors";
import { decryptAES, encryptAES, IEncryptedPayload } from "matrix-js-sdk/src/crypto/aes"; import { decryptAES, encryptAES, IEncryptedPayload } from "matrix-js-sdk/src/crypto/aes";
import { QueryDict } from "matrix-js-sdk/src/utils"; import { QueryDict } from "matrix-js-sdk/src/utils";
import { logger } from "matrix-js-sdk/src/logger"; import { logger } from "matrix-js-sdk/src/logger";
import { SSOAction } from "matrix-js-sdk/src/@types/auth";
import { MINIMUM_MATRIX_VERSION } from "matrix-js-sdk/src/version-support"; import { MINIMUM_MATRIX_VERSION } from "matrix-js-sdk/src/version-support";
import { IMatrixClientCreds, MatrixClientPeg } from "./MatrixClientPeg"; import { IMatrixClientCreds, MatrixClientPeg } from "./MatrixClientPeg";

View file

@ -15,9 +15,9 @@ See the License for the specific language governing permissions and
limitations under the License. limitations under the License.
*/ */
import { createClient, MatrixClient } from "matrix-js-sdk/src/matrix"; import { createClient, MatrixClient, LoginFlow } from "matrix-js-sdk/src/matrix";
import { logger } from "matrix-js-sdk/src/logger"; import { logger } from "matrix-js-sdk/src/logger";
import { DELEGATED_OIDC_COMPATIBILITY, ILoginFlow, LoginFlow, LoginRequest } from "matrix-js-sdk/src/@types/auth"; import { DELEGATED_OIDC_COMPATIBILITY, ILoginFlow, LoginRequest } from "matrix-js-sdk/src/@types/auth";
import { IMatrixClientCreds } from "./MatrixClientPeg"; import { IMatrixClientCreds } from "./MatrixClientPeg";
import SecurityCustomisations from "./customisations/Security"; import SecurityCustomisations from "./customisations/Security";

View file

@ -26,8 +26,8 @@ import {
EventTimelineSet, EventTimelineSet,
IStartClientOpts, IStartClientOpts,
MatrixClient, MatrixClient,
MemoryStore,
} from "matrix-js-sdk/src/matrix"; } from "matrix-js-sdk/src/matrix";
import { MemoryStore } from "matrix-js-sdk/src/store/memory";
import * as utils from "matrix-js-sdk/src/utils"; import * as utils from "matrix-js-sdk/src/utils";
import { verificationMethods } from "matrix-js-sdk/src/crypto"; import { verificationMethods } from "matrix-js-sdk/src/crypto";
import { SHOW_QR_CODE_METHOD } from "matrix-js-sdk/src/crypto/verification/QRCode"; import { SHOW_QR_CODE_METHOD } from "matrix-js-sdk/src/crypto/verification/QRCode";

View file

@ -18,8 +18,7 @@ limitations under the License.
*/ */
import * as React from "react"; import * as React from "react";
import { User, IContent, Direction } from "matrix-js-sdk/src/matrix"; import { User, IContent, Direction, ContentHelpers } from "matrix-js-sdk/src/matrix";
import * as ContentHelpers from "matrix-js-sdk/src/content-helpers";
import { logger } from "matrix-js-sdk/src/logger"; import { logger } from "matrix-js-sdk/src/logger";
import { MRoomTopicEventContent } from "matrix-js-sdk/src/@types/topic"; import { MRoomTopicEventContent } from "matrix-js-sdk/src/@types/topic";

View file

@ -20,11 +20,10 @@ import FileSaver from "file-saver";
import { logger } from "matrix-js-sdk/src/logger"; import { logger } from "matrix-js-sdk/src/logger";
import { IKeyBackupInfo } from "matrix-js-sdk/src/crypto/keybackup"; import { IKeyBackupInfo } from "matrix-js-sdk/src/crypto/keybackup";
import { TrustInfo } from "matrix-js-sdk/src/crypto/backup"; import { TrustInfo } from "matrix-js-sdk/src/crypto/backup";
import { CrossSigningKeys, IAuthDict, MatrixError, UIAFlow } from "matrix-js-sdk/src/matrix"; import { CrossSigningKeys, IAuthDict, MatrixError, UIAFlow, UIAResponse } from "matrix-js-sdk/src/matrix";
import { IRecoveryKey } from "matrix-js-sdk/src/crypto/api"; import { IRecoveryKey } from "matrix-js-sdk/src/crypto/api";
import { CryptoEvent } from "matrix-js-sdk/src/crypto"; import { CryptoEvent } from "matrix-js-sdk/src/crypto";
import classNames from "classnames"; import classNames from "classnames";
import { UIAResponse } from "matrix-js-sdk/src/@types/uia";
import { MatrixClientPeg } from "../../../../MatrixClientPeg"; import { MatrixClientPeg } from "../../../../MatrixClientPeg";
import { _t, _td } from "../../../../languageHandler"; import { _t, _td } from "../../../../languageHandler";

View file

@ -38,9 +38,10 @@ import {
RoomType, RoomType,
GuestAccess, GuestAccess,
HistoryVisibility, HistoryVisibility,
HierarchyRelation,
HierarchyRoom,
} from "matrix-js-sdk/src/matrix"; } from "matrix-js-sdk/src/matrix";
import { RoomHierarchy } from "matrix-js-sdk/src/room-hierarchy"; import { RoomHierarchy } from "matrix-js-sdk/src/room-hierarchy";
import { IHierarchyRelation, IHierarchyRoom } from "matrix-js-sdk/src/@types/spaces";
import classNames from "classnames"; import classNames from "classnames";
import { sortBy, uniqBy } from "lodash"; import { sortBy, uniqBy } from "lodash";
import { logger } from "matrix-js-sdk/src/logger"; import { logger } from "matrix-js-sdk/src/logger";
@ -85,7 +86,7 @@ interface IProps {
} }
interface ITileProps { interface ITileProps {
room: IHierarchyRoom; room: HierarchyRoom;
suggested?: boolean; suggested?: boolean;
selected?: boolean; selected?: boolean;
numChildRooms?: number; numChildRooms?: number;
@ -429,8 +430,8 @@ export const joinRoom = async (cli: MatrixClient, hierarchy: RoomHierarchy, room
}; };
interface IHierarchyLevelProps { interface IHierarchyLevelProps {
root: IHierarchyRoom; root: HierarchyRoom;
roomSet: Set<IHierarchyRoom>; roomSet: Set<HierarchyRoom>;
hierarchy: RoomHierarchy; hierarchy: RoomHierarchy;
parents: Set<string>; parents: Set<string>;
selectedMap?: Map<string, Set<string>>; selectedMap?: Map<string, Set<string>>;
@ -439,7 +440,7 @@ interface IHierarchyLevelProps {
onToggleClick?(parentId: string, childId: string): void; onToggleClick?(parentId: string, childId: string): void;
} }
export const toLocalRoom = (cli: MatrixClient, room: IHierarchyRoom, hierarchy: RoomHierarchy): IHierarchyRoom => { export const toLocalRoom = (cli: MatrixClient, room: HierarchyRoom, hierarchy: RoomHierarchy): HierarchyRoom => {
const history = cli.getRoomUpgradeHistory( const history = cli.getRoomUpgradeHistory(
room.room_id, room.room_id,
true, true,
@ -497,14 +498,14 @@ export const HierarchyLevel: React.FC<IHierarchyLevelProps> = ({
}); });
const [subspaces, childRooms] = sortedChildren.reduce( const [subspaces, childRooms] = sortedChildren.reduce(
(result, ev: IHierarchyRelation) => { (result, ev: HierarchyRelation) => {
const room = hierarchy.roomMap.get(ev.state_key); const room = hierarchy.roomMap.get(ev.state_key);
if (room && roomSet.has(room)) { if (room && roomSet.has(room)) {
result[room.room_type === RoomType.Space ? 0 : 1].push(toLocalRoom(cli, room, hierarchy)); result[room.room_type === RoomType.Space ? 0 : 1].push(toLocalRoom(cli, room, hierarchy));
} }
return result; return result;
}, },
[[] as IHierarchyRoom[], [] as IHierarchyRoom[]], [[] as HierarchyRoom[], [] as HierarchyRoom[]],
); );
const newParents = new Set(parents).add(root.room_id); const newParents = new Set(parents).add(root.room_id);
@ -564,12 +565,12 @@ export const useRoomHierarchy = (
space: Room, space: Room,
): { ): {
loading: boolean; loading: boolean;
rooms?: IHierarchyRoom[]; rooms?: HierarchyRoom[];
hierarchy?: RoomHierarchy; hierarchy?: RoomHierarchy;
error?: Error; error?: Error;
loadMore(pageSize?: number): Promise<void>; loadMore(pageSize?: number): Promise<void>;
} => { } => {
const [rooms, setRooms] = useState<IHierarchyRoom[]>([]); const [rooms, setRooms] = useState<HierarchyRoom[]>([]);
const [hierarchy, setHierarchy] = useState<RoomHierarchy>(); const [hierarchy, setHierarchy] = useState<RoomHierarchy>();
const [error, setError] = useState<Error | undefined>(); const [error, setError] = useState<Error | undefined>();
@ -760,7 +761,7 @@ const SpaceHierarchy: React.FC<IProps> = ({ space, initialText = "", showRoom, a
const { loading, rooms, hierarchy, loadMore, error: hierarchyError } = useRoomHierarchy(space); const { loading, rooms, hierarchy, loadMore, error: hierarchyError } = useRoomHierarchy(space);
const filteredRoomSet = useMemo<Set<IHierarchyRoom>>(() => { const filteredRoomSet = useMemo<Set<HierarchyRoom>>(() => {
if (!rooms?.length || !hierarchy) return new Set(); if (!rooms?.length || !hierarchy) return new Set();
const lcQuery = query.toLowerCase().trim(); const lcQuery = query.toLowerCase().trim();
if (!lcQuery) return new Set(rooms); if (!lcQuery) return new Set(rooms);

View file

@ -17,7 +17,7 @@ limitations under the License.
import React, { ReactNode } from "react"; import React, { ReactNode } from "react";
import classNames from "classnames"; import classNames from "classnames";
import { logger } from "matrix-js-sdk/src/logger"; import { logger } from "matrix-js-sdk/src/logger";
import { ISSOFlow, SSOAction } from "matrix-js-sdk/src/@types/auth"; import { SSOFlow, SSOAction } from "matrix-js-sdk/src/matrix";
import { _t, _td, UserFriendlyError } from "../../../languageHandler"; import { _t, _td, UserFriendlyError } from "../../../languageHandler";
import Login, { ClientLoginFlow, OidcNativeFlow } from "../../../Login"; import Login, { ClientLoginFlow, OidcNativeFlow } from "../../../Login";
@ -487,7 +487,7 @@ export default class LoginComponent extends React.PureComponent<IProps, IState>
}; };
private renderSsoStep = (loginType: "cas" | "sso"): JSX.Element => { private renderSsoStep = (loginType: "cas" | "sso"): JSX.Element => {
const flow = this.state.flows?.find((flow) => flow.type === "m.login." + loginType) as ISSOFlow; const flow = this.state.flows?.find((flow) => flow.type === "m.login." + loginType) as SSOFlow;
return ( return (
<SSOButtons <SSOButtons

View file

@ -24,11 +24,12 @@ import {
IRegisterRequestParams, IRegisterRequestParams,
IRequestTokenResponse, IRequestTokenResponse,
MatrixClient, MatrixClient,
SSOFlow,
SSOAction,
} from "matrix-js-sdk/src/matrix"; } from "matrix-js-sdk/src/matrix";
import React, { Fragment, ReactNode } from "react"; import React, { Fragment, ReactNode } from "react";
import classNames from "classnames"; import classNames from "classnames";
import { logger } from "matrix-js-sdk/src/logger"; import { logger } from "matrix-js-sdk/src/logger";
import { ISSOFlow, SSOAction } from "matrix-js-sdk/src/@types/auth";
import { RegisterResponse } from "matrix-js-sdk/src/@types/registration"; import { RegisterResponse } from "matrix-js-sdk/src/@types/registration";
import { _t } from "../../../languageHandler"; import { _t } from "../../../languageHandler";
@ -121,7 +122,7 @@ interface IState {
differentLoggedInUserId?: string; differentLoggedInUserId?: string;
// the SSO flow definition, this is fetched from /login as that's the only // the SSO flow definition, this is fetched from /login as that's the only
// place it is exposed. // place it is exposed.
ssoFlow?: ISSOFlow; ssoFlow?: SSOFlow;
} }
export default class Registration extends React.Component<IProps, IState> { export default class Registration extends React.Component<IProps, IState> {
@ -219,11 +220,11 @@ export default class Registration extends React.Component<IProps, IState> {
this.loginLogic.setHomeserverUrl(hsUrl); this.loginLogic.setHomeserverUrl(hsUrl);
this.loginLogic.setIdentityServerUrl(isUrl); this.loginLogic.setIdentityServerUrl(isUrl);
let ssoFlow: ISSOFlow | undefined; let ssoFlow: SSOFlow | undefined;
try { try {
const loginFlows = await this.loginLogic.getFlows(); const loginFlows = await this.loginLogic.getFlows();
if (serverConfig !== this.latestServerConfig) return; // discard, serverConfig changed from under us if (serverConfig !== this.latestServerConfig) return; // discard, serverConfig changed from under us
ssoFlow = loginFlows.find((f) => f.type === "m.login.sso" || f.type === "m.login.cas") as ISSOFlow; ssoFlow = loginFlows.find((f) => f.type === "m.login.sso" || f.type === "m.login.cas") as SSOFlow;
} catch (e) { } catch (e) {
if (serverConfig !== this.latestServerConfig) return; // discard, serverConfig changed from under us if (serverConfig !== this.latestServerConfig) return; // discard, serverConfig changed from under us
logger.error("Failed to get login flows to check for SSO support", e); logger.error("Failed to get login flows to check for SSO support", e);

View file

@ -17,8 +17,7 @@ limitations under the License.
import React, { ChangeEvent, SyntheticEvent } from "react"; import React, { ChangeEvent, SyntheticEvent } from "react";
import { logger } from "matrix-js-sdk/src/logger"; import { logger } from "matrix-js-sdk/src/logger";
import { Optional } from "matrix-events-sdk"; import { Optional } from "matrix-events-sdk";
import { ISSOFlow, LoginFlow, SSOAction } from "matrix-js-sdk/src/@types/auth"; import { SSOFlow, LoginFlow, SSOAction, MatrixError } from "matrix-js-sdk/src/matrix";
import { MatrixError } from "matrix-js-sdk/src/matrix";
import { _t } from "../../../languageHandler"; import { _t } from "../../../languageHandler";
import dis from "../../../dispatcher/dispatcher"; import dis from "../../../dispatcher/dispatcher";
@ -257,7 +256,7 @@ export default class SoftLogout extends React.Component<IProps, IState> {
private renderSsoForm(introText: Optional<string>): JSX.Element { private renderSsoForm(introText: Optional<string>): JSX.Element {
const loginType = this.state.loginView === LoginView.CAS ? "cas" : "sso"; const loginType = this.state.loginView === LoginView.CAS ? "cas" : "sso";
const flow = this.state.flows.find((flow) => flow.type === "m.login." + loginType) as ISSOFlow; const flow = this.state.flows.find((flow) => flow.type === "m.login." + loginType) as SSOFlow;
return ( return (
<div> <div>

View file

@ -15,8 +15,7 @@ limitations under the License.
*/ */
import React, { HTMLProps, useContext } from "react"; import React, { HTMLProps, useContext } from "react";
import { Beacon, BeaconEvent } from "matrix-js-sdk/src/matrix"; import { Beacon, BeaconEvent, LocationAssetType } from "matrix-js-sdk/src/matrix";
import { LocationAssetType } from "matrix-js-sdk/src/@types/location";
import MatrixClientContext from "../../../contexts/MatrixClientContext"; import MatrixClientContext from "../../../contexts/MatrixClientContext";
import { useEventEmitterState } from "../../../hooks/useEventEmitter"; import { useEventEmitterState } from "../../../hooks/useEventEmitter";

View file

@ -16,8 +16,7 @@ limitations under the License.
import React, { ReactNode, useContext } from "react"; import React, { ReactNode, useContext } from "react";
import * as maplibregl from "maplibre-gl"; import * as maplibregl from "maplibre-gl";
import { Beacon, BeaconEvent } from "matrix-js-sdk/src/matrix"; import { Beacon, BeaconEvent, LocationAssetType } from "matrix-js-sdk/src/matrix";
import { LocationAssetType } from "matrix-js-sdk/src/@types/location";
import MatrixClientContext from "../../../contexts/MatrixClientContext"; import MatrixClientContext from "../../../contexts/MatrixClientContext";
import { useEventEmitterState } from "../../../hooks/useEventEmitter"; import { useEventEmitterState } from "../../../hooks/useEventEmitter";

View file

@ -15,8 +15,7 @@ limitations under the License.
*/ */
import React, { useContext } from "react"; import React, { useContext } from "react";
import { Beacon } from "matrix-js-sdk/src/matrix"; import { Beacon, LocationAssetType } from "matrix-js-sdk/src/matrix";
import { LocationAssetType } from "matrix-js-sdk/src/@types/location";
import MatrixClientContext from "../../../contexts/MatrixClientContext"; import MatrixClientContext from "../../../contexts/MatrixClientContext";
import BeaconStatus from "./BeaconStatus"; import BeaconStatus from "./BeaconStatus";

View file

@ -15,8 +15,7 @@ limitations under the License.
*/ */
import React, { useContext } from "react"; import React, { useContext } from "react";
import { Room, Beacon } from "matrix-js-sdk/src/matrix"; import { Room, Beacon, LocationAssetType } from "matrix-js-sdk/src/matrix";
import { LocationAssetType } from "matrix-js-sdk/src/@types/location";
import { OwnBeaconStore, OwnBeaconStoreEvent } from "../../../stores/OwnBeaconStore"; import { OwnBeaconStore, OwnBeaconStoreEvent } from "../../../stores/OwnBeaconStore";
import { useEventEmitterState } from "../../../hooks/useEventEmitter"; import { useEventEmitterState } from "../../../hooks/useEventEmitter";

View file

@ -15,7 +15,7 @@ limitations under the License.
*/ */
import React, { useEffect, useState } from "react"; import React, { useEffect, useState } from "react";
import { BeaconLocationState } from "matrix-js-sdk/src/content-helpers"; import { ContentHelpers } from "matrix-js-sdk/src/matrix";
import { Icon as ExternalLinkIcon } from "../../../../res/img/external-link.svg"; import { Icon as ExternalLinkIcon } from "../../../../res/img/external-link.svg";
import { _t } from "../../../languageHandler"; import { _t } from "../../../languageHandler";
@ -24,7 +24,7 @@ import CopyableText from "../elements/CopyableText";
import TooltipTarget from "../elements/TooltipTarget"; import TooltipTarget from "../elements/TooltipTarget";
interface Props { interface Props {
latestLocationState?: BeaconLocationState; latestLocationState?: ContentHelpers.BeaconLocationState;
} }
const ShareLatestLocation: React.FC<Props> = ({ latestLocationState }) => { const ShareLatestLocation: React.FC<Props> = ({ latestLocationState }) => {

View file

@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License. limitations under the License.
*/ */
import { BeaconLocationState } from "matrix-js-sdk/src/content-helpers"; import { ContentHelpers } from "matrix-js-sdk/src/matrix";
export enum BeaconDisplayStatus { export enum BeaconDisplayStatus {
Loading = "Loading", Loading = "Loading",
@ -24,7 +24,7 @@ export enum BeaconDisplayStatus {
} }
export const getBeaconDisplayStatus = ( export const getBeaconDisplayStatus = (
isLive: boolean, isLive: boolean,
latestLocationState?: BeaconLocationState, latestLocationState?: ContentHelpers.BeaconLocationState,
error?: Error, error?: Error,
waitingToStart?: boolean, waitingToStart?: boolean,
): BeaconDisplayStatus => { ): BeaconDisplayStatus => {

View file

@ -16,9 +16,16 @@ limitations under the License.
import React, { useEffect, useMemo, useState } from "react"; import React, { useEffect, useMemo, useState } from "react";
import classnames from "classnames"; import classnames from "classnames";
import { IContent, MatrixEvent, Room, RoomMember, EventType, MatrixClient } from "matrix-js-sdk/src/matrix"; import {
IContent,
MatrixEvent,
Room,
RoomMember,
EventType,
MatrixClient,
ContentHelpers,
} from "matrix-js-sdk/src/matrix";
import { ILocationContent, LocationAssetType, M_TIMESTAMP } from "matrix-js-sdk/src/@types/location"; import { ILocationContent, LocationAssetType, M_TIMESTAMP } from "matrix-js-sdk/src/@types/location";
import { makeLocationContent } from "matrix-js-sdk/src/content-helpers";
import { M_BEACON } from "matrix-js-sdk/src/@types/beacon"; import { M_BEACON } from "matrix-js-sdk/src/@types/beacon";
import { _t } from "../../../languageHandler"; import { _t } from "../../../languageHandler";
@ -176,7 +183,7 @@ const transformEvent = (event: MatrixEvent): { type: string; content: IContent }
type, type,
content: { content: {
...content, ...content,
...makeLocationContent( ...ContentHelpers.makeLocationContent(
undefined, // text undefined, // text
geoUri, geoUri,
timestamp || Date.now(), timestamp || Date.now(),

View file

@ -17,9 +17,8 @@ limitations under the License.
*/ */
import React from "react"; import React from "react";
import { MatrixClient } from "matrix-js-sdk/src/matrix"; import { MatrixClient, UIAResponse } from "matrix-js-sdk/src/matrix";
import { AuthType } from "matrix-js-sdk/src/interactive-auth"; import { AuthType } from "matrix-js-sdk/src/interactive-auth";
import { UIAResponse } from "matrix-js-sdk/src/@types/uia";
import { _t } from "../../../languageHandler"; import { _t } from "../../../languageHandler";
import AccessibleButton from "../elements/AccessibleButton"; import AccessibleButton from "../elements/AccessibleButton";

View file

@ -15,7 +15,7 @@ limitations under the License.
*/ */
import React, { ChangeEvent, createRef, SyntheticEvent } from "react"; import React, { ChangeEvent, createRef, SyntheticEvent } from "react";
import { AutoDiscovery } from "matrix-js-sdk/src/autodiscovery"; import { AutoDiscovery } from "matrix-js-sdk/src/matrix";
import { logger } from "matrix-js-sdk/src/logger"; import { logger } from "matrix-js-sdk/src/logger";
import AutoDiscoveryUtils from "../../../utils/AutoDiscoveryUtils"; import AutoDiscoveryUtils from "../../../utils/AutoDiscoveryUtils";

View file

@ -16,9 +16,8 @@ limitations under the License.
*/ */
import React from "react"; import React from "react";
import { CrossSigningKeys, AuthDict, MatrixError, UIAFlow } from "matrix-js-sdk/src/matrix"; import { CrossSigningKeys, AuthDict, MatrixError, UIAFlow, UIAResponse } from "matrix-js-sdk/src/matrix";
import { logger } from "matrix-js-sdk/src/logger"; import { logger } from "matrix-js-sdk/src/logger";
import { UIAResponse } from "matrix-js-sdk/src/@types/uia";
import { MatrixClientPeg } from "../../../../MatrixClientPeg"; import { MatrixClientPeg } from "../../../../MatrixClientPeg";
import { _t } from "../../../../languageHandler"; import { _t } from "../../../../languageHandler";

View file

@ -17,8 +17,14 @@ limitations under the License.
import { WebSearch as WebSearchEvent } from "@matrix-org/analytics-events/types/typescript/WebSearch"; import { WebSearch as WebSearchEvent } from "@matrix-org/analytics-events/types/typescript/WebSearch";
import classNames from "classnames"; import classNames from "classnames";
import { capitalize, sum } from "lodash"; import { capitalize, sum } from "lodash";
import { IHierarchyRoom } from "matrix-js-sdk/src/@types/spaces"; import {
import { IPublicRoomsChunkRoom, MatrixClient, RoomMember, RoomType, Room } from "matrix-js-sdk/src/matrix"; IPublicRoomsChunkRoom,
MatrixClient,
RoomMember,
RoomType,
Room,
HierarchyRoom,
} from "matrix-js-sdk/src/matrix";
import { normalize } from "matrix-js-sdk/src/utils"; import { normalize } from "matrix-js-sdk/src/utils";
import React, { ChangeEvent, RefObject, useCallback, useContext, useEffect, useMemo, useRef, useState } from "react"; import React, { ChangeEvent, RefObject, useCallback, useContext, useEffect, useMemo, useRef, useState } from "react";
import sanitizeHtml from "sanitize-html"; import sanitizeHtml from "sanitize-html";
@ -825,7 +831,7 @@ const SpotlightDialog: React.FC<IProps> = ({ initialText = "", initialFilter = n
</h4> </h4>
<div> <div>
{spaceResults.slice(0, SECTION_LIMIT).map( {spaceResults.slice(0, SECTION_LIMIT).map(
(room: IHierarchyRoom): JSX.Element => ( (room: HierarchyRoom): JSX.Element => (
<Option <Option
id={`mx_SpotlightDialog_button_result_${room.room_id}`} id={`mx_SpotlightDialog_button_result_${room.room_id}`}
key={room.room_id} key={room.room_id}

View file

@ -17,15 +17,9 @@ limitations under the License.
import React from "react"; import React from "react";
import { chunk } from "lodash"; import { chunk } from "lodash";
import classNames from "classnames"; import classNames from "classnames";
import { MatrixClient } from "matrix-js-sdk/src/matrix"; import { MatrixClient, IdentityProviderBrand, SSOFlow, SSOAction } from "matrix-js-sdk/src/matrix";
import { Signup } from "@matrix-org/analytics-events/types/typescript/Signup"; import { Signup } from "@matrix-org/analytics-events/types/typescript/Signup";
import { import { IIdentityProvider, DELEGATED_OIDC_COMPATIBILITY } from "matrix-js-sdk/src/@types/auth";
IdentityProviderBrand,
IIdentityProvider,
ISSOFlow,
DELEGATED_OIDC_COMPATIBILITY,
SSOAction,
} from "matrix-js-sdk/src/@types/auth";
import PlatformPeg from "../../../PlatformPeg"; import PlatformPeg from "../../../PlatformPeg";
import AccessibleButton from "./AccessibleButton"; import AccessibleButton from "./AccessibleButton";
@ -147,7 +141,7 @@ const SSOButton: React.FC<ISSOButtonProps> = ({
interface IProps { interface IProps {
matrixClient: MatrixClient; matrixClient: MatrixClient;
flow: ISSOFlow; flow: SSOFlow;
loginType: "sso" | "cas"; loginType: "sso" | "cas";
fragmentAfterLogin?: string; fragmentAfterLogin?: string;
primary?: boolean; primary?: boolean;

View file

@ -14,10 +14,16 @@ See the License for the specific language governing permissions and
limitations under the License. limitations under the License.
*/ */
import { MatrixClient, IContent, IEventRelation, MatrixError, THREAD_RELATION_TYPE } from "matrix-js-sdk/src/matrix"; import {
import { makeLocationContent, makeBeaconInfoContent } from "matrix-js-sdk/src/content-helpers"; MatrixClient,
IContent,
IEventRelation,
MatrixError,
THREAD_RELATION_TYPE,
ContentHelpers,
LocationAssetType,
} from "matrix-js-sdk/src/matrix";
import { logger } from "matrix-js-sdk/src/logger"; import { logger } from "matrix-js-sdk/src/logger";
import { LocationAssetType } from "matrix-js-sdk/src/@types/location";
import { _t } from "../../../languageHandler"; import { _t } from "../../../languageHandler";
import Modal from "../../../Modal"; import Modal from "../../../Modal";
@ -109,7 +115,7 @@ export const shareLiveLocation =
try { try {
await OwnBeaconStore.instance.createLiveBeacon( await OwnBeaconStore.instance.createLiveBeacon(
roomId, roomId,
makeBeaconInfoContent( ContentHelpers.makeBeaconInfoContent(
timeout ?? DEFAULT_LIVE_DURATION, timeout ?? DEFAULT_LIVE_DURATION,
true /* isLive */, true /* isLive */,
description, description,
@ -134,7 +140,13 @@ export const shareLocation =
try { try {
const threadId = (relation?.rel_type === THREAD_RELATION_TYPE.name && relation?.event_id) || null; const threadId = (relation?.rel_type === THREAD_RELATION_TYPE.name && relation?.event_id) || null;
const assetType = shareType === LocationShareType.Pin ? LocationAssetType.Pin : LocationAssetType.Self; const assetType = shareType === LocationShareType.Pin ? LocationAssetType.Pin : LocationAssetType.Self;
const content = makeLocationContent(undefined, uri, timestamp, undefined, assetType) as IContent; const content = ContentHelpers.makeLocationContent(
undefined,
uri,
timestamp,
undefined,
assetType,
) as IContent;
await doMaybeLocalRoomAction( await doMaybeLocalRoomAction(
roomId, roomId,
(actualRoomId: string) => client.sendMessage(actualRoomId, threadId, content), (actualRoomId: string) => client.sendMessage(actualRoomId, threadId, content),

View file

@ -23,8 +23,8 @@ import {
MatrixClient, MatrixClient,
RelationType, RelationType,
IRedactOpts, IRedactOpts,
ContentHelpers,
} from "matrix-js-sdk/src/matrix"; } from "matrix-js-sdk/src/matrix";
import { BeaconLocationState } from "matrix-js-sdk/src/content-helpers";
import { randomString } from "matrix-js-sdk/src/randomstring"; import { randomString } from "matrix-js-sdk/src/randomstring";
import { M_BEACON } from "matrix-js-sdk/src/@types/beacon"; import { M_BEACON } from "matrix-js-sdk/src/@types/beacon";
import classNames from "classnames"; import classNames from "classnames";
@ -51,7 +51,7 @@ const useBeaconState = (
): { ): {
beacon?: Beacon; beacon?: Beacon;
description?: string; description?: string;
latestLocationState?: BeaconLocationState; latestLocationState?: ContentHelpers.BeaconLocationState;
isLive?: boolean; isLive?: boolean;
waitingToStart?: boolean; waitingToStart?: boolean;
} => { } => {

View file

@ -15,7 +15,7 @@ limitations under the License.
*/ */
import React, { ComponentProps, lazy, Suspense } from "react"; import React, { ComponentProps, lazy, Suspense } from "react";
import { ISendEventResponse } from "matrix-js-sdk/src/@types/requests"; import { ISendEventResponse } from "matrix-js-sdk/src/matrix";
// we need to import the types for TS, but do not import the sendMessage // we need to import the types for TS, but do not import the sendMessage
// function to avoid importing from "@matrix-org/matrix-wysiwyg" // function to avoid importing from "@matrix-org/matrix-wysiwyg"

View file

@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License. limitations under the License.
*/ */
import { ISendEventResponse } from "matrix-js-sdk/src/@types/requests"; import { ISendEventResponse } from "matrix-js-sdk/src/matrix";
import { useCallback, useState } from "react"; import { useCallback, useState } from "react";
import { useMatrixClientContext } from "../../../../../contexts/MatrixClientContext"; import { useMatrixClientContext } from "../../../../../contexts/MatrixClientContext";

View file

@ -26,8 +26,14 @@ import React, {
ReactNode, ReactNode,
} from "react"; } from "react";
import classNames from "classnames"; import classNames from "classnames";
import { RoomType, HistoryVisibility, Preset, Visibility, MatrixClient } from "matrix-js-sdk/src/matrix"; import {
import { ICreateRoomOpts } from "matrix-js-sdk/src/@types/requests"; RoomType,
HistoryVisibility,
Preset,
Visibility,
MatrixClient,
ICreateRoomOpts,
} from "matrix-js-sdk/src/matrix";
import { logger } from "matrix-js-sdk/src/logger"; import { logger } from "matrix-js-sdk/src/logger";
import { _t } from "../../../languageHandler"; import { _t } from "../../../languageHandler";

View file

@ -15,7 +15,7 @@ limitations under the License.
*/ */
import { JoinedRoom as JoinedRoomEvent } from "@matrix-org/analytics-events/types/typescript/JoinedRoom"; import { JoinedRoom as JoinedRoomEvent } from "@matrix-org/analytics-events/types/typescript/JoinedRoom";
import { IJoinRoomOpts } from "matrix-js-sdk/src/@types/requests"; import { IJoinRoomOpts } from "matrix-js-sdk/src/matrix";
import { ActionPayload } from "../payloads"; import { ActionPayload } from "../payloads";
import { Action } from "../actions"; import { Action } from "../actions";

View file

@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License. limitations under the License.
*/ */
import { KnockRoomOpts } from "matrix-js-sdk/src/@types/requests"; import { KnockRoomOpts } from "matrix-js-sdk/src/matrix";
import { Action } from "../actions"; import { Action } from "../actions";
import { ActionPayload } from "../payloads"; import { ActionPayload } from "../payloads";

View file

@ -15,19 +15,18 @@ limitations under the License.
*/ */
import { useEffect, useState } from "react"; import { useEffect, useState } from "react";
import { EventType, MatrixEvent, Room, RoomStateEvent } from "matrix-js-sdk/src/matrix"; import { EventType, MatrixEvent, Room, RoomStateEvent, ContentHelpers } from "matrix-js-sdk/src/matrix";
import { parseTopicContent, TopicState } from "matrix-js-sdk/src/content-helpers";
import { MRoomTopicEventContent } from "matrix-js-sdk/src/@types/topic"; import { MRoomTopicEventContent } from "matrix-js-sdk/src/@types/topic";
import { Optional } from "matrix-events-sdk"; import { Optional } from "matrix-events-sdk";
import { useTypedEventEmitter } from "../useEventEmitter"; import { useTypedEventEmitter } from "../useEventEmitter";
export const getTopic = (room?: Room): Optional<TopicState> => { export const getTopic = (room?: Room): Optional<ContentHelpers.TopicState> => {
const content = room?.currentState?.getStateEvents(EventType.RoomTopic, "")?.getContent<MRoomTopicEventContent>(); const content = room?.currentState?.getStateEvents(EventType.RoomTopic, "")?.getContent<MRoomTopicEventContent>();
return !!content ? parseTopicContent(content) : null; return !!content ? ContentHelpers.parseTopicContent(content) : null;
}; };
export function useTopic(room?: Room): Optional<TopicState> { export function useTopic(room?: Room): Optional<ContentHelpers.TopicState> {
const [topic, setTopic] = useState(getTopic(room)); const [topic, setTopic] = useState(getTopic(room));
useTypedEventEmitter(room?.currentState, RoomStateEvent.Events, (ev: MatrixEvent) => { useTypedEventEmitter(room?.currentState, RoomStateEvent.Events, (ev: MatrixEvent) => {
if (ev.getType() !== EventType.RoomTopic) return; if (ev.getType() !== EventType.RoomTopic) return;

View file

@ -14,8 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License. limitations under the License.
*/ */
import { RoomType, IProtocol, IPublicRoomsChunkRoom } from "matrix-js-sdk/src/matrix"; import { RoomType, IProtocol, IPublicRoomsChunkRoom, IRoomDirectoryOptions } from "matrix-js-sdk/src/matrix";
import { IRoomDirectoryOptions } from "matrix-js-sdk/src/@types/requests";
import { useCallback, useEffect, useState } from "react"; import { useCallback, useEffect, useState } from "react";
import { IPublicRoomDirectoryConfig } from "../components/views/directory/NetworkDropdown"; import { IPublicRoomDirectoryConfig } from "../components/views/directory/NetworkDropdown";

View file

@ -15,15 +15,14 @@ limitations under the License.
*/ */
import { useCallback, useEffect, useMemo, useState } from "react"; import { useCallback, useEffect, useMemo, useState } from "react";
import { Room, RoomType } from "matrix-js-sdk/src/matrix"; import { Room, RoomType, HierarchyRoom } from "matrix-js-sdk/src/matrix";
import { IHierarchyRoom } from "matrix-js-sdk/src/@types/spaces";
import { RoomHierarchy } from "matrix-js-sdk/src/room-hierarchy"; import { RoomHierarchy } from "matrix-js-sdk/src/room-hierarchy";
import { normalize } from "matrix-js-sdk/src/utils"; import { normalize } from "matrix-js-sdk/src/utils";
import { MatrixClientPeg } from "../MatrixClientPeg"; import { MatrixClientPeg } from "../MatrixClientPeg";
export const useSpaceResults = (space: Room | undefined, query: string): [IHierarchyRoom[], boolean] => { export const useSpaceResults = (space: Room | undefined, query: string): [HierarchyRoom[], boolean] => {
const [rooms, setRooms] = useState<IHierarchyRoom[]>([]); const [rooms, setRooms] = useState<HierarchyRoom[]>([]);
const [hierarchy, setHierarchy] = useState<RoomHierarchy>(); const [hierarchy, setHierarchy] = useState<RoomHierarchy>();
const resetHierarchy = useCallback(() => { const resetHierarchy = useCallback(() => {

View file

@ -24,8 +24,8 @@ import {
RoomMember, RoomMember,
RoomState, RoomState,
RoomStateEvent, RoomStateEvent,
ContentHelpers,
} from "matrix-js-sdk/src/matrix"; } from "matrix-js-sdk/src/matrix";
import { BeaconInfoState, makeBeaconContent, makeBeaconInfoContent } from "matrix-js-sdk/src/content-helpers";
import { MBeaconInfoEventContent, M_BEACON } from "matrix-js-sdk/src/@types/beacon"; import { MBeaconInfoEventContent, M_BEACON } from "matrix-js-sdk/src/@types/beacon";
import { logger } from "matrix-js-sdk/src/logger"; import { logger } from "matrix-js-sdk/src/logger";
@ -549,13 +549,16 @@ export class OwnBeaconStore extends AsyncStoreWithClient<OwnBeaconStoreState> {
* Records error in beaconUpdateErrors * Records error in beaconUpdateErrors
* rethrows * rethrows
*/ */
private updateBeaconEvent = async (beacon: Beacon, update: Partial<BeaconInfoState>): Promise<void> => { private updateBeaconEvent = async (
beacon: Beacon,
update: Partial<ContentHelpers.BeaconInfoState>,
): Promise<void> => {
const { description, timeout, timestamp, live, assetType } = { const { description, timeout, timestamp, live, assetType } = {
...beacon.beaconInfo, ...beacon.beaconInfo,
...update, ...update,
}; };
const updateContent = makeBeaconInfoContent(timeout, live, description, assetType, timestamp); const updateContent = ContentHelpers.makeBeaconInfoContent(timeout, live, description, assetType, timestamp);
try { try {
await this.matrixClient!.unstable_setLiveBeacon(beacon.roomId, updateContent); await this.matrixClient!.unstable_setLiveBeacon(beacon.roomId, updateContent);
@ -593,7 +596,7 @@ export class OwnBeaconStore extends AsyncStoreWithClient<OwnBeaconStoreState> {
* Sends m.location event to referencing given beacon * Sends m.location event to referencing given beacon
*/ */
private sendLocationToBeacon = async (beacon: Beacon, { geoUri, timestamp }: TimedGeoUri): Promise<void> => { private sendLocationToBeacon = async (beacon: Beacon, { geoUri, timestamp }: TimedGeoUri): Promise<void> => {
const content = makeBeaconContent(geoUri, timestamp, beacon.beaconInfoId); const content = ContentHelpers.makeBeaconContent(geoUri, timestamp, beacon.beaconInfoId);
try { try {
await this.matrixClient!.sendEvent(beacon.roomId, M_BEACON.name, content); await this.matrixClient!.sendEvent(beacon.roomId, M_BEACON.name, content);
this.incrementBeaconLocationPublishErrorCount(beacon.identifier, false); this.incrementBeaconLocationPublishErrorCount(beacon.identifier, false);

View file

@ -24,9 +24,9 @@ import {
RoomStateEvent, RoomStateEvent,
MatrixEvent, MatrixEvent,
ClientEvent, ClientEvent,
ISendEventResponse,
} from "matrix-js-sdk/src/matrix"; } from "matrix-js-sdk/src/matrix";
import { logger } from "matrix-js-sdk/src/logger"; import { logger } from "matrix-js-sdk/src/logger";
import { ISendEventResponse } from "matrix-js-sdk/src/@types/requests";
import { AsyncStoreWithClient } from "../AsyncStoreWithClient"; import { AsyncStoreWithClient } from "../AsyncStoreWithClient";
import defaultDispatcher from "../../dispatcher/dispatcher"; import defaultDispatcher from "../../dispatcher/dispatcher";

View file

@ -14,8 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License. limitations under the License.
*/ */
import { Room } from "matrix-js-sdk/src/matrix"; import { Room, HierarchyRoom } from "matrix-js-sdk/src/matrix";
import { IHierarchyRoom } from "matrix-js-sdk/src/@types/spaces";
import { _t } from "../../languageHandler"; import { _t } from "../../languageHandler";
@ -50,7 +49,7 @@ export const getMetaSpaceName = (spaceKey: MetaSpace, allRoomsInHome = false): s
export type SpaceKey = MetaSpace | Room["roomId"]; export type SpaceKey = MetaSpace | Room["roomId"];
export interface ISuggestedRoom extends IHierarchyRoom { export interface ISuggestedRoom extends HierarchyRoom {
viaServers: string[]; viaServers: string[];
} }

View file

@ -15,8 +15,13 @@ limitations under the License.
*/ */
import React, { ReactNode } from "react"; import React, { ReactNode } from "react";
import { AutoDiscovery, ClientConfig, OidcClientConfig } from "matrix-js-sdk/src/autodiscovery"; import {
import { M_AUTHENTICATION, IClientWellKnown } from "matrix-js-sdk/src/matrix"; AutoDiscovery,
ClientConfig,
OidcClientConfig,
M_AUTHENTICATION,
IClientWellKnown,
} from "matrix-js-sdk/src/matrix";
import { logger } from "matrix-js-sdk/src/logger"; import { logger } from "matrix-js-sdk/src/logger";
import { _t, UserFriendlyError } from "../languageHandler"; import { _t, UserFriendlyError } from "../languageHandler";

View file

@ -15,7 +15,7 @@ limitations under the License.
*/ */
import { AuthDict } from "matrix-js-sdk/src/interactive-auth"; import { AuthDict } from "matrix-js-sdk/src/interactive-auth";
import { UIAResponse } from "matrix-js-sdk/src/@types/uia"; import { UIAResponse } from "matrix-js-sdk/src/matrix";
import Modal from "../Modal"; import Modal from "../Modal";
import InteractiveAuthDialog, { InteractiveAuthDialogProps } from "../components/views/dialogs/InteractiveAuthDialog"; import InteractiveAuthDialog, { InteractiveAuthDialogProps } from "../components/views/dialogs/InteractiveAuthDialog";

View file

@ -14,8 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License. limitations under the License.
*/ */
import { OidcClientConfig } from "matrix-js-sdk/src/autodiscovery"; import { OidcClientConfig, IDelegatedAuthConfig } from "matrix-js-sdk/src/matrix";
import { IDelegatedAuthConfig } from "matrix-js-sdk/src/matrix";
import { ValidatedIssuerConfig } from "matrix-js-sdk/src/oidc/validate"; import { ValidatedIssuerConfig } from "matrix-js-sdk/src/oidc/validate";
export type ValidatedDelegatedAuthConfig = IDelegatedAuthConfig & ValidatedIssuerConfig; export type ValidatedDelegatedAuthConfig = IDelegatedAuthConfig & ValidatedIssuerConfig;

View file

@ -14,8 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License. limitations under the License.
*/ */
import { BeaconInfoState } from "matrix-js-sdk/src/content-helpers"; import { Beacon, ContentHelpers } from "matrix-js-sdk/src/matrix";
import { Beacon } from "matrix-js-sdk/src/matrix";
/** /**
* Get ms until expiry * Get ms until expiry
@ -27,7 +26,7 @@ import { Beacon } from "matrix-js-sdk/src/matrix";
export const msUntilExpiry = (startTimestamp: number, durationMs: number): number => export const msUntilExpiry = (startTimestamp: number, durationMs: number): number =>
Math.max(0, startTimestamp + durationMs - Date.now()); Math.max(0, startTimestamp + durationMs - Date.now());
export const getBeaconMsUntilExpiry = (beaconInfo: BeaconInfoState): number => export const getBeaconMsUntilExpiry = (beaconInfo: ContentHelpers.BeaconInfoState): number =>
msUntilExpiry(beaconInfo.timestamp || 0, beaconInfo.timeout); msUntilExpiry(beaconInfo.timestamp || 0, beaconInfo.timeout);
export const getBeaconExpiryTimestamp = (beacon: Beacon): number => export const getBeaconExpiryTimestamp = (beacon: Beacon): number =>

View file

@ -16,7 +16,7 @@ limitations under the License.
import { completeAuthorizationCodeGrant, generateOidcAuthorizationUrl } from "matrix-js-sdk/src/oidc/authorize"; import { completeAuthorizationCodeGrant, generateOidcAuthorizationUrl } from "matrix-js-sdk/src/oidc/authorize";
import { QueryDict } from "matrix-js-sdk/src/utils"; import { QueryDict } from "matrix-js-sdk/src/utils";
import { OidcClientConfig } from "matrix-js-sdk/src/autodiscovery"; import { OidcClientConfig } from "matrix-js-sdk/src/matrix";
import { randomString } from "matrix-js-sdk/src/randomstring"; import { randomString } from "matrix-js-sdk/src/randomstring";
/** /**

View file

@ -17,9 +17,8 @@ limitations under the License.
import React from "react"; import React from "react";
import { mocked } from "jest-mock"; import { mocked } from "jest-mock";
import { fireEvent, render, screen, waitFor, waitForElementToBeRemoved } from "@testing-library/react"; import { fireEvent, render, screen, waitFor, waitForElementToBeRemoved } from "@testing-library/react";
import { MatrixClient, Room } from "matrix-js-sdk/src/matrix"; import { MatrixClient, Room, HierarchyRoom } from "matrix-js-sdk/src/matrix";
import { RoomHierarchy } from "matrix-js-sdk/src/room-hierarchy"; import { RoomHierarchy } from "matrix-js-sdk/src/room-hierarchy";
import { IHierarchyRoom } from "matrix-js-sdk/src/@types/spaces";
import { MatrixClientPeg } from "../../../src/MatrixClientPeg"; import { MatrixClientPeg } from "../../../src/MatrixClientPeg";
import { mkStubRoom, stubClient } from "../../test-utils"; import { mkStubRoom, stubClient } from "../../test-utils";
@ -85,41 +84,41 @@ describe("SpaceHierarchy", () => {
it("grabs last room that is in hierarchy when latest version is in hierarchy", () => { it("grabs last room that is in hierarchy when latest version is in hierarchy", () => {
const hierarchy = { const hierarchy = {
roomMap: new Map([ roomMap: new Map([
[roomV1.roomId, { room_id: roomV1.roomId } as IHierarchyRoom], [roomV1.roomId, { room_id: roomV1.roomId } as HierarchyRoom],
[roomV2.roomId, { room_id: roomV2.roomId } as IHierarchyRoom], [roomV2.roomId, { room_id: roomV2.roomId } as HierarchyRoom],
[roomV3.roomId, { room_id: roomV3.roomId } as IHierarchyRoom], [roomV3.roomId, { room_id: roomV3.roomId } as HierarchyRoom],
]), ]),
} as RoomHierarchy; } as RoomHierarchy;
const localRoomV1 = toLocalRoom(client, { room_id: roomV1.roomId } as IHierarchyRoom, hierarchy); const localRoomV1 = toLocalRoom(client, { room_id: roomV1.roomId } as HierarchyRoom, hierarchy);
expect(localRoomV1.room_id).toEqual(roomV3.roomId); expect(localRoomV1.room_id).toEqual(roomV3.roomId);
const localRoomV2 = toLocalRoom(client, { room_id: roomV2.roomId } as IHierarchyRoom, hierarchy); const localRoomV2 = toLocalRoom(client, { room_id: roomV2.roomId } as HierarchyRoom, hierarchy);
expect(localRoomV2.room_id).toEqual(roomV3.roomId); expect(localRoomV2.room_id).toEqual(roomV3.roomId);
const localRoomV3 = toLocalRoom(client, { room_id: roomV3.roomId } as IHierarchyRoom, hierarchy); const localRoomV3 = toLocalRoom(client, { room_id: roomV3.roomId } as HierarchyRoom, hierarchy);
expect(localRoomV3.room_id).toEqual(roomV3.roomId); expect(localRoomV3.room_id).toEqual(roomV3.roomId);
}); });
it("grabs last room that is in hierarchy when latest version is *not* in hierarchy", () => { it("grabs last room that is in hierarchy when latest version is *not* in hierarchy", () => {
const hierarchy = { const hierarchy = {
roomMap: new Map([ roomMap: new Map([
[roomV1.roomId, { room_id: roomV1.roomId } as IHierarchyRoom], [roomV1.roomId, { room_id: roomV1.roomId } as HierarchyRoom],
[roomV2.roomId, { room_id: roomV2.roomId } as IHierarchyRoom], [roomV2.roomId, { room_id: roomV2.roomId } as HierarchyRoom],
]), ]),
} as RoomHierarchy; } as RoomHierarchy;
const localRoomV1 = toLocalRoom(client, { room_id: roomV1.roomId } as IHierarchyRoom, hierarchy); const localRoomV1 = toLocalRoom(client, { room_id: roomV1.roomId } as HierarchyRoom, hierarchy);
expect(localRoomV1.room_id).toEqual(roomV2.roomId); expect(localRoomV1.room_id).toEqual(roomV2.roomId);
const localRoomV2 = toLocalRoom(client, { room_id: roomV2.roomId } as IHierarchyRoom, hierarchy); const localRoomV2 = toLocalRoom(client, { room_id: roomV2.roomId } as HierarchyRoom, hierarchy);
expect(localRoomV2.room_id).toEqual(roomV2.roomId); expect(localRoomV2.room_id).toEqual(roomV2.roomId);
const localRoomV3 = toLocalRoom(client, { room_id: roomV3.roomId } as IHierarchyRoom, hierarchy); const localRoomV3 = toLocalRoom(client, { room_id: roomV3.roomId } as HierarchyRoom, hierarchy);
expect(localRoomV3.room_id).toEqual(roomV2.roomId); expect(localRoomV3.room_id).toEqual(roomV2.roomId);
}); });
it("returns specified room when none of the versions is in hierarchy", () => { it("returns specified room when none of the versions is in hierarchy", () => {
const hierarchy = { roomMap: new Map([]) } as RoomHierarchy; const hierarchy = { roomMap: new Map([]) } as RoomHierarchy;
const localRoomV1 = toLocalRoom(client, { room_id: roomV1.roomId } as IHierarchyRoom, hierarchy); const localRoomV1 = toLocalRoom(client, { room_id: roomV1.roomId } as HierarchyRoom, hierarchy);
expect(localRoomV1.room_id).toEqual(roomV1.roomId); expect(localRoomV1.room_id).toEqual(roomV1.roomId);
const localRoomV2 = toLocalRoom(client, { room_id: roomV2.roomId } as IHierarchyRoom, hierarchy); const localRoomV2 = toLocalRoom(client, { room_id: roomV2.roomId } as HierarchyRoom, hierarchy);
expect(localRoomV2.room_id).toEqual(roomV2.roomId); expect(localRoomV2.room_id).toEqual(roomV2.roomId);
const localRoomV3 = toLocalRoom(client, { room_id: roomV3.roomId } as IHierarchyRoom, hierarchy); const localRoomV3 = toLocalRoom(client, { room_id: roomV3.roomId } as HierarchyRoom, hierarchy);
expect(localRoomV3.room_id).toEqual(roomV3.roomId); expect(localRoomV3.room_id).toEqual(roomV3.roomId);
}); });
@ -130,7 +129,7 @@ describe("SpaceHierarchy", () => {
it("Passes through the dynamic predecessor setting", async () => { it("Passes through the dynamic predecessor setting", async () => {
mocked(client.getRoomUpgradeHistory).mockClear(); mocked(client.getRoomUpgradeHistory).mockClear();
const hierarchy = { roomMap: new Map([]) } as RoomHierarchy; const hierarchy = { roomMap: new Map([]) } as RoomHierarchy;
toLocalRoom(client, { room_id: roomV1.roomId } as IHierarchyRoom, hierarchy); toLocalRoom(client, { room_id: roomV1.roomId } as HierarchyRoom, hierarchy);
expect(client.getRoomUpgradeHistory).toHaveBeenCalledWith(roomV1.roomId, true, false); expect(client.getRoomUpgradeHistory).toHaveBeenCalledWith(roomV1.roomId, true, false);
}); });
}); });
@ -146,7 +145,7 @@ describe("SpaceHierarchy", () => {
it("Passes through the dynamic predecessor setting", async () => { it("Passes through the dynamic predecessor setting", async () => {
mocked(client.getRoomUpgradeHistory).mockClear(); mocked(client.getRoomUpgradeHistory).mockClear();
const hierarchy = { roomMap: new Map([]) } as RoomHierarchy; const hierarchy = { roomMap: new Map([]) } as RoomHierarchy;
toLocalRoom(client, { room_id: roomV1.roomId } as IHierarchyRoom, hierarchy); toLocalRoom(client, { room_id: roomV1.roomId } as HierarchyRoom, hierarchy);
expect(client.getRoomUpgradeHistory).toHaveBeenCalledWith(roomV1.roomId, true, true); expect(client.getRoomUpgradeHistory).toHaveBeenCalledWith(roomV1.roomId, true, true);
}); });
}); });
@ -183,7 +182,7 @@ describe("SpaceHierarchy", () => {
); );
[room1, room2, space1, room3].forEach((r) => mocked(r.getMyMembership).mockReturnValue("leave")); [room1, room2, space1, room3].forEach((r) => mocked(r.getMyMembership).mockReturnValue("leave"));
const hierarchyRoot: IHierarchyRoom = { const hierarchyRoot: HierarchyRoom = {
room_id: root.roomId, room_id: root.roomId,
num_joined_members: 1, num_joined_members: 1,
room_type: "m.space", room_type: "m.space",
@ -213,21 +212,21 @@ describe("SpaceHierarchy", () => {
world_readable: true, world_readable: true,
guest_can_join: true, guest_can_join: true,
}; };
const hierarchyRoom1: IHierarchyRoom = { const hierarchyRoom1: HierarchyRoom = {
room_id: room1.roomId, room_id: room1.roomId,
num_joined_members: 2, num_joined_members: 2,
children_state: [], children_state: [],
world_readable: true, world_readable: true,
guest_can_join: true, guest_can_join: true,
}; };
const hierarchyRoom2: IHierarchyRoom = { const hierarchyRoom2: HierarchyRoom = {
room_id: room2.roomId, room_id: room2.roomId,
num_joined_members: 3, num_joined_members: 3,
children_state: [], children_state: [],
world_readable: true, world_readable: true,
guest_can_join: true, guest_can_join: true,
}; };
const hierarchyRoom3: IHierarchyRoom = { const hierarchyRoom3: HierarchyRoom = {
name: "Nested room", name: "Nested room",
room_id: room3.roomId, room_id: room3.roomId,
num_joined_members: 3, num_joined_members: 3,
@ -235,7 +234,7 @@ describe("SpaceHierarchy", () => {
world_readable: true, world_readable: true,
guest_can_join: true, guest_can_join: true,
}; };
const hierarchySpace1: IHierarchyRoom = { const hierarchySpace1: HierarchyRoom = {
room_id: space1.roomId, room_id: space1.roomId,
name: "Nested space", name: "Nested space",
num_joined_members: 1, num_joined_members: 1,

View file

@ -20,7 +20,7 @@ import { mocked, MockedObject } from "jest-mock";
import fetchMock from "fetch-mock-jest"; import fetchMock from "fetch-mock-jest";
import { DELEGATED_OIDC_COMPATIBILITY, IdentityProviderBrand } from "matrix-js-sdk/src/@types/auth"; import { DELEGATED_OIDC_COMPATIBILITY, IdentityProviderBrand } from "matrix-js-sdk/src/@types/auth";
import { logger } from "matrix-js-sdk/src/logger"; import { logger } from "matrix-js-sdk/src/logger";
import { createClient, MatrixClient } from "matrix-js-sdk/src/matrix"; import * as Matrix from "matrix-js-sdk/src/matrix";
import { OidcError } from "matrix-js-sdk/src/oidc/error"; import { OidcError } from "matrix-js-sdk/src/oidc/error";
import SdkConfig from "../../../../src/SdkConfig"; import SdkConfig from "../../../../src/SdkConfig";
@ -32,8 +32,6 @@ import { Features } from "../../../../src/settings/Settings";
import { ValidatedDelegatedAuthConfig } from "../../../../src/utils/ValidatedServerConfig"; import { ValidatedDelegatedAuthConfig } from "../../../../src/utils/ValidatedServerConfig";
import * as registerClientUtils from "../../../../src/utils/oidc/registerClient"; import * as registerClientUtils from "../../../../src/utils/oidc/registerClient";
jest.mock("matrix-js-sdk/src/matrix");
jest.useRealTimers(); jest.useRealTimers();
const oidcStaticClientsConfig = { const oidcStaticClientsConfig = {
@ -48,7 +46,7 @@ describe("Login", function () {
const mockClient = mocked({ const mockClient = mocked({
login: jest.fn().mockResolvedValue({}), login: jest.fn().mockResolvedValue({}),
loginFlows: jest.fn(), loginFlows: jest.fn(),
} as unknown as MatrixClient); } as unknown as Matrix.MatrixClient);
beforeEach(function () { beforeEach(function () {
SdkConfig.put({ SdkConfig.put({
@ -62,7 +60,7 @@ describe("Login", function () {
user_id: "@user:server", user_id: "@user:server",
}); });
mockClient.loginFlows.mockClear().mockResolvedValue({ flows: [{ type: "m.login.password" }] }); mockClient.loginFlows.mockClear().mockResolvedValue({ flows: [{ type: "m.login.password" }] });
mocked(createClient).mockImplementation((opts) => { jest.spyOn(Matrix, "createClient").mockImplementation((opts) => {
mockClient.idBaseUrl = opts.idBaseUrl; mockClient.idBaseUrl = opts.idBaseUrl;
mockClient.baseUrl = opts.baseUrl; mockClient.baseUrl = opts.baseUrl;
return mockClient; return mockClient;

View file

@ -16,8 +16,7 @@ limitations under the License.
import React from "react"; import React from "react";
import { act, fireEvent, render } from "@testing-library/react"; import { act, fireEvent, render } from "@testing-library/react";
import { Beacon, RoomMember, MatrixEvent } from "matrix-js-sdk/src/matrix"; import { Beacon, RoomMember, MatrixEvent, LocationAssetType } from "matrix-js-sdk/src/matrix";
import { LocationAssetType } from "matrix-js-sdk/src/@types/location";
import BeaconListItem from "../../../../src/components/views/beacon/BeaconListItem"; import BeaconListItem from "../../../../src/components/views/beacon/BeaconListItem";
import MatrixClientContext from "../../../../src/contexts/MatrixClientContext"; import MatrixClientContext from "../../../../src/contexts/MatrixClientContext";

View file

@ -16,8 +16,7 @@ limitations under the License.
import React from "react"; import React from "react";
import { render, RenderResult } from "@testing-library/react"; import { render, RenderResult } from "@testing-library/react";
import { RoomMember } from "matrix-js-sdk/src/matrix"; import { RoomMember, LocationAssetType } from "matrix-js-sdk/src/matrix";
import { LocationAssetType } from "matrix-js-sdk/src/@types/location";
import LocationViewDialog from "../../../../src/components/views/location/LocationViewDialog"; import LocationViewDialog from "../../../../src/components/views/location/LocationViewDialog";
import { TILE_SERVER_WK_KEY } from "../../../../src/utils/WellKnownUtils"; import { TILE_SERVER_WK_KEY } from "../../../../src/utils/WellKnownUtils";

View file

@ -15,8 +15,7 @@ limitations under the License.
*/ */
import { mocked } from "jest-mock"; import { mocked } from "jest-mock";
import { MatrixClient } from "matrix-js-sdk/src/matrix"; import { ContentHelpers, MatrixClient } from "matrix-js-sdk/src/matrix";
import { makeLocationContent } from "matrix-js-sdk/src/content-helpers";
import { LegacyLocationEventContent, MLocationEventContent } from "matrix-js-sdk/src/@types/location"; import { LegacyLocationEventContent, MLocationEventContent } from "matrix-js-sdk/src/@types/location";
import { doMaybeLocalRoomAction } from "../../../../src/utils/local-room"; import { doMaybeLocalRoomAction } from "../../../../src/utils/local-room";
@ -30,10 +29,6 @@ jest.mock("../../../../src/utils/local-room", () => ({
doMaybeLocalRoomAction: jest.fn(), doMaybeLocalRoomAction: jest.fn(),
})); }));
jest.mock("matrix-js-sdk/src/content-helpers", () => ({
makeLocationContent: jest.fn(),
}));
describe("shareLocation", () => { describe("shareLocation", () => {
const roomId = "!room:example.com"; const roomId = "!room:example.com";
const shareType = LocationShareType.Pin; const shareType = LocationShareType.Pin;
@ -42,6 +37,7 @@ describe("shareLocation", () => {
let shareLocationFn: ShareLocationFn; let shareLocationFn: ShareLocationFn;
beforeEach(() => { beforeEach(() => {
const makeLocationContent = jest.spyOn(ContentHelpers, "makeLocationContent");
client = { client = {
sendMessage: jest.fn(), sendMessage: jest.fn(),
} as unknown as MatrixClient; } as unknown as MatrixClient;

View file

@ -16,8 +16,7 @@ limitations under the License.
import React, { ComponentProps } from "react"; import React, { ComponentProps } from "react";
import { fireEvent, render } from "@testing-library/react"; import { fireEvent, render } from "@testing-library/react";
import { LocationAssetType } from "matrix-js-sdk/src/@types/location"; import { LocationAssetType, ClientEvent, RoomMember, SyncState } from "matrix-js-sdk/src/matrix";
import { ClientEvent, RoomMember, SyncState } from "matrix-js-sdk/src/matrix";
import * as maplibregl from "maplibre-gl"; import * as maplibregl from "maplibre-gl";
import { logger } from "matrix-js-sdk/src/logger"; import { logger } from "matrix-js-sdk/src/logger";

View file

@ -22,8 +22,8 @@ import {
MatrixEvent, MatrixEvent,
RoomStateEvent, RoomStateEvent,
RoomMember, RoomMember,
ContentHelpers,
} from "matrix-js-sdk/src/matrix"; } from "matrix-js-sdk/src/matrix";
import { makeBeaconContent, makeBeaconInfoContent } from "matrix-js-sdk/src/content-helpers";
import { M_BEACON } from "matrix-js-sdk/src/@types/beacon"; import { M_BEACON } from "matrix-js-sdk/src/@types/beacon";
import { logger } from "matrix-js-sdk/src/logger"; import { logger } from "matrix-js-sdk/src/logger";
import { Mocked } from "jest-mock"; import { Mocked } from "jest-mock";
@ -239,12 +239,12 @@ describe("OwnBeaconStore", () => {
expect(mockClient.sendEvent).toHaveBeenCalledWith( expect(mockClient.sendEvent).toHaveBeenCalledWith(
room1Id, room1Id,
M_BEACON.name, M_BEACON.name,
makeBeaconContent(defaultLocationUri, now, alicesRoom1BeaconInfo.getId()!), ContentHelpers.makeBeaconContent(defaultLocationUri, now, alicesRoom1BeaconInfo.getId()!),
); );
expect(mockClient.sendEvent).toHaveBeenCalledWith( expect(mockClient.sendEvent).toHaveBeenCalledWith(
room2Id, room2Id,
M_BEACON.name, M_BEACON.name,
makeBeaconContent(defaultLocationUri, now, alicesRoom2BeaconInfo.getId()!), ContentHelpers.makeBeaconContent(defaultLocationUri, now, alicesRoom2BeaconInfo.getId()!),
); );
}); });
}); });
@ -1155,14 +1155,14 @@ describe("OwnBeaconStore", () => {
it("creates a live beacon", async () => { it("creates a live beacon", async () => {
const store = await makeOwnBeaconStore(); const store = await makeOwnBeaconStore();
const content = makeBeaconInfoContent(100); const content = ContentHelpers.makeBeaconInfoContent(100);
await store.createLiveBeacon(room1Id, content); await store.createLiveBeacon(room1Id, content);
expect(mockClient.unstable_createLiveBeacon).toHaveBeenCalledWith(room1Id, content); expect(mockClient.unstable_createLiveBeacon).toHaveBeenCalledWith(room1Id, content);
}); });
it("sets new beacon event id in local storage", async () => { it("sets new beacon event id in local storage", async () => {
const store = await makeOwnBeaconStore(); const store = await makeOwnBeaconStore();
const content = makeBeaconInfoContent(100); const content = ContentHelpers.makeBeaconInfoContent(100);
await store.createLiveBeacon(room1Id, content); await store.createLiveBeacon(room1Id, content);
expect(localStorageSetSpy).toHaveBeenCalledWith( expect(localStorageSetSpy).toHaveBeenCalledWith(
@ -1174,7 +1174,7 @@ describe("OwnBeaconStore", () => {
it("handles saving beacon event id when local storage has bad value", async () => { it("handles saving beacon event id when local storage has bad value", async () => {
localStorageGetSpy.mockReturnValue(JSON.stringify({ id: "1" })); localStorageGetSpy.mockReturnValue(JSON.stringify({ id: "1" }));
const store = await makeOwnBeaconStore(); const store = await makeOwnBeaconStore();
const content = makeBeaconInfoContent(100); const content = ContentHelpers.makeBeaconInfoContent(100);
await store.createLiveBeacon(room1Id, content); await store.createLiveBeacon(room1Id, content);
// stored successfully // stored successfully
@ -1183,7 +1183,7 @@ describe("OwnBeaconStore", () => {
it("creates a live beacon without error when no beacons exist for room", async () => { it("creates a live beacon without error when no beacons exist for room", async () => {
const store = await makeOwnBeaconStore(); const store = await makeOwnBeaconStore();
const content = makeBeaconInfoContent(100); const content = ContentHelpers.makeBeaconInfoContent(100);
await store.createLiveBeacon(room1Id, content); await store.createLiveBeacon(room1Id, content);
// didn't throw, no error log // didn't throw, no error log
@ -1195,7 +1195,7 @@ describe("OwnBeaconStore", () => {
makeRoomsWithStateEvents([alicesRoom1BeaconInfo, alicesRoom2BeaconInfo]); makeRoomsWithStateEvents([alicesRoom1BeaconInfo, alicesRoom2BeaconInfo]);
const store = await makeOwnBeaconStore(); const store = await makeOwnBeaconStore();
const content = makeBeaconInfoContent(100); const content = ContentHelpers.makeBeaconInfoContent(100);
await store.createLiveBeacon(room1Id, content); await store.createLiveBeacon(room1Id, content);
// stop alicesRoom1BeaconInfo // stop alicesRoom1BeaconInfo

View file

@ -15,10 +15,15 @@ limitations under the License.
*/ */
import { MockedObject } from "jest-mock"; import { MockedObject } from "jest-mock";
import { makeBeaconInfoContent, makeBeaconContent } from "matrix-js-sdk/src/content-helpers"; import {
import { MatrixClient, MatrixEvent, Beacon, getBeaconInfoIdentifier } from "matrix-js-sdk/src/matrix"; MatrixClient,
MatrixEvent,
Beacon,
getBeaconInfoIdentifier,
ContentHelpers,
LocationAssetType,
} from "matrix-js-sdk/src/matrix";
import { M_BEACON, M_BEACON_INFO } from "matrix-js-sdk/src/@types/beacon"; import { M_BEACON, M_BEACON_INFO } from "matrix-js-sdk/src/@types/beacon";
import { LocationAssetType } from "matrix-js-sdk/src/@types/location";
import { getMockGeolocationPositionError } from "./location"; import { getMockGeolocationPositionError } from "./location";
import { makeRoomWithStateEvents } from "./room"; import { makeRoomWithStateEvents } from "./room";
@ -54,7 +59,7 @@ export const makeBeaconInfoEvent = (
room_id: roomId, room_id: roomId,
state_key: sender, state_key: sender,
sender, sender,
content: makeBeaconInfoContent(timeout, isLive, description, assetType, timestamp), content: ContentHelpers.makeBeaconInfoContent(timeout, isLive, description, assetType, timestamp),
}); });
event.event.origin_server_ts = Date.now(); event.event.origin_server_ts = Date.now();
@ -97,7 +102,7 @@ export const makeBeaconEvent = (
type: M_BEACON.name, type: M_BEACON.name,
room_id: roomId, room_id: roomId,
sender, sender,
content: makeBeaconContent(geoUri, timestamp, beaconInfoId, description), content: ContentHelpers.makeBeaconContent(geoUri, timestamp, beaconInfoId, description),
}); });
}; };

View file

@ -15,8 +15,7 @@ limitations under the License.
*/ */
import { LocationAssetType, M_LOCATION } from "matrix-js-sdk/src/@types/location"; import { LocationAssetType, M_LOCATION } from "matrix-js-sdk/src/@types/location";
import { makeLocationContent } from "matrix-js-sdk/src/content-helpers"; import { MatrixEvent, EventType, ContentHelpers } from "matrix-js-sdk/src/matrix";
import { MatrixEvent, EventType } from "matrix-js-sdk/src/matrix";
let id = 1; let id = 1;
export const makeLegacyLocationEvent = (geoUri: string): MatrixEvent => { export const makeLegacyLocationEvent = (geoUri: string): MatrixEvent => {
@ -35,7 +34,7 @@ export const makeLocationEvent = (geoUri: string, assetType?: LocationAssetType)
return new MatrixEvent({ return new MatrixEvent({
event_id: `$${++id}`, event_id: `$${++id}`,
type: M_LOCATION.name, type: M_LOCATION.name,
content: makeLocationContent( content: ContentHelpers.makeLocationContent(
`Found at ${geoUri} at 2021-12-21T12:22+0000`, `Found at ${geoUri} at 2021-12-21T12:22+0000`,
geoUri, geoUri,
252523, 252523,

View file

@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License. limitations under the License.
*/ */
import { OidcClientConfig } from "matrix-js-sdk/src/autodiscovery"; import { OidcClientConfig } from "matrix-js-sdk/src/matrix";
import { ValidatedIssuerMetadata } from "matrix-js-sdk/src/oidc/validate"; import { ValidatedIssuerMetadata } from "matrix-js-sdk/src/oidc/validate";
/** /**

View file

@ -14,9 +14,8 @@ See the License for the specific language governing permissions and
limitations under the License. limitations under the License.
*/ */
import { AutoDiscovery, AutoDiscoveryAction, ClientConfig } from "matrix-js-sdk/src/autodiscovery"; import { AutoDiscovery, AutoDiscoveryAction, ClientConfig, M_AUTHENTICATION } from "matrix-js-sdk/src/matrix";
import { logger } from "matrix-js-sdk/src/logger"; import { logger } from "matrix-js-sdk/src/logger";
import { M_AUTHENTICATION } from "matrix-js-sdk/src/matrix";
import AutoDiscoveryUtils from "../../src/utils/AutoDiscoveryUtils"; import AutoDiscoveryUtils from "../../src/utils/AutoDiscoveryUtils";

View file

@ -22,13 +22,13 @@ import {
M_LOCATION, M_LOCATION,
M_TIMESTAMP, M_TIMESTAMP,
} from "matrix-js-sdk/src/@types/location"; } from "matrix-js-sdk/src/@types/location";
import { makeLocationContent } from "matrix-js-sdk/src/content-helpers"; import { ContentHelpers } from "matrix-js-sdk/src/matrix";
import { isSelfLocation } from "../../../src/utils/location"; import { isSelfLocation } from "../../../src/utils/location";
describe("isSelfLocation", () => { describe("isSelfLocation", () => {
it("Returns true for a full m.asset event", () => { it("Returns true for a full m.asset event", () => {
const content = makeLocationContent("", "0", Date.now()); const content = ContentHelpers.makeLocationContent("", "0", Date.now());
expect(isSelfLocation(content)).toBe(true); expect(isSelfLocation(content)).toBe(true);
}); });
@ -61,7 +61,7 @@ describe("isSelfLocation", () => {
}); });
it("Returns false for an unknown asset type", () => { it("Returns false for an unknown asset type", () => {
const content = makeLocationContent( const content = ContentHelpers.makeLocationContent(
undefined /* text */, undefined /* text */,
"geo:foo", "geo:foo",
0, 0,