diff --git a/ee/packages/federation-matrix/package.json b/ee/packages/federation-matrix/package.json index 6a6daf05b6343..61bfb8f5b3da1 100644 --- a/ee/packages/federation-matrix/package.json +++ b/ee/packages/federation-matrix/package.json @@ -8,7 +8,6 @@ "@babel/preset-env": "~7.26.0", "@babel/preset-typescript": "~7.26.0", "@rocket.chat/eslint-config": "workspace:^", - "@rocket.chat/federation-sdk": "0.1.21", "@types/emojione": "^2.2.9", "@types/node": "~22.14.0", "@types/sanitize-html": "^2", @@ -39,6 +38,7 @@ "@rocket.chat/core-services": "workspace:^", "@rocket.chat/core-typings": "workspace:^", "@rocket.chat/emitter": "^0.31.25", + "@rocket.chat/federation-sdk": "0.1.21", "@rocket.chat/http-router": "workspace:^", "@rocket.chat/license": "workspace:^", "@rocket.chat/models": "workspace:^", @@ -53,8 +53,5 @@ "sanitize-html": "^2.17.0", "tsyringe": "^4.10.0", "tweetnacl": "^1.0.3" - }, - "peerDependencies": { - "@rocket.chat/federation-sdk": "*" } } diff --git a/ee/packages/federation-matrix/src/FederationMatrix.ts b/ee/packages/federation-matrix/src/FederationMatrix.ts index 81715b89fde11..d2f7d527d140d 100644 --- a/ee/packages/federation-matrix/src/FederationMatrix.ts +++ b/ee/packages/federation-matrix/src/FederationMatrix.ts @@ -9,7 +9,7 @@ import { } from '@rocket.chat/core-typings'; import type { MessageQuoteAttachment, IMessage, IRoom, IUser, IRoomNativeFederated } from '@rocket.chat/core-typings'; import { eventIdSchema, getAllServices, roomIdSchema, userIdSchema } from '@rocket.chat/federation-sdk'; -import type { EventID, UserID, HomeserverServices, FileMessageType, PresenceState, PduForType } from '@rocket.chat/federation-sdk'; +import type { EventID, UserID, HomeserverServices, FileMessageType, PresenceState } from '@rocket.chat/federation-sdk'; import { Logger } from '@rocket.chat/logger'; import { Users, Subscriptions, Messages, Rooms, Settings } from '@rocket.chat/models'; import emojione from 'emojione'; @@ -987,21 +987,4 @@ export class FederationMatrix extends ServiceClass implements IFederationMatrixS return results; } - - async emitJoin(membershipEvent: PduForType<'m.room.member'>, eventId: EventID) { - if (!this.homeserverServices) { - this.logger.warn('Homeserver services not available, skipping user role room scoped'); - return; - } - - this.homeserverServices.emitter.emit('homeserver.matrix.membership', { - event_id: eventId, - event: membershipEvent, - room_id: membershipEvent.room_id, - state_key: membershipEvent.state_key, - content: { membership: 'join' }, - sender: membershipEvent.sender, - origin_server_ts: Date.now(), - }); - } } diff --git a/ee/packages/federation-matrix/src/api/_matrix/invite.ts b/ee/packages/federation-matrix/src/api/_matrix/invite.ts index 7467e321db8a5..fb0c23afeac5f 100644 --- a/ee/packages/federation-matrix/src/api/_matrix/invite.ts +++ b/ee/packages/federation-matrix/src/api/_matrix/invite.ts @@ -1,4 +1,4 @@ -import { FederationMatrix, Room } from '@rocket.chat/core-services'; +import { Room } from '@rocket.chat/core-services'; import { isUserNativeFederated, type IUser } from '@rocket.chat/core-typings'; import { eventIdSchema, roomIdSchema } from '@rocket.chat/federation-sdk'; import type { @@ -265,10 +265,6 @@ async function joinRoom({ } await Room.addUserToRoom(internalRoomId, { _id: user._id }, { _id: senderUserId, username: inviteEvent.sender }); - - for await (const event of matrixRoom.getMemberJoinEvents()) { - await FederationMatrix.emitJoin(event.event, event.eventId); - } } async function startJoiningRoom(...opts: Parameters) { diff --git a/packages/core-services/package.json b/packages/core-services/package.json index 50366e409e40e..1f21ee5185be2 100644 --- a/packages/core-services/package.json +++ b/packages/core-services/package.json @@ -8,7 +8,6 @@ "@babel/preset-typescript": "~7.26.0", "@rocket.chat/apps-engine": "workspace:^", "@rocket.chat/eslint-config": "workspace:^", - "@rocket.chat/federation-sdk": "0.1.21", "@rocket.chat/jest-presets": "workspace:~", "@rocket.chat/tsconfig": "workspace:*", "@types/jest": "~30.0.0", @@ -36,6 +35,7 @@ }, "dependencies": { "@rocket.chat/core-typings": "workspace:^", + "@rocket.chat/federation-sdk": "0.1.21", "@rocket.chat/http-router": "workspace:^", "@rocket.chat/icons": "^0.43.0", "@rocket.chat/media-signaling": "workspace:^", @@ -44,8 +44,5 @@ "@rocket.chat/rest-typings": "workspace:^", "@rocket.chat/tracing": "workspace:^", "@rocket.chat/ui-kit": "workspace:~" - }, - "peerDependencies": { - "@rocket.chat/federation-sdk": "*" } } diff --git a/packages/core-services/src/types/IFederationMatrixService.ts b/packages/core-services/src/types/IFederationMatrixService.ts index fcf0278299ebc..ec03f8d0ecc7e 100644 --- a/packages/core-services/src/types/IFederationMatrixService.ts +++ b/packages/core-services/src/types/IFederationMatrixService.ts @@ -1,5 +1,5 @@ import type { IMessage, IRoomFederated, IRoomNativeFederated, IUser } from '@rocket.chat/core-typings'; -import type { EventID, PduForType, EventStore } from '@rocket.chat/federation-sdk'; +import type { EventStore } from '@rocket.chat/federation-sdk'; export interface IFederationMatrixService { createRoom(room: IRoomFederated, owner: IUser, members: string[]): Promise<{ room_id: string; event_id: string }>; @@ -28,5 +28,4 @@ export interface IFederationMatrixService { inviteUsersToRoom(room: IRoomFederated, usersUserName: string[], inviter: IUser): Promise; notifyUserTyping(rid: string, user: string, isTyping: boolean): Promise; verifyMatrixIds(matrixIds: string[]): Promise<{ [key: string]: string }>; - emitJoin(membershipEvent: PduForType<'m.room.member'>, eventId: EventID): Promise; } diff --git a/yarn.lock b/yarn.lock index 70bc5e8fd3d27..f619215824931 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7342,8 +7342,6 @@ __metadata: mongodb: "npm:6.10.0" prettier: "npm:~3.3.3" typescript: "npm:~5.9.2" - peerDependencies: - "@rocket.chat/federation-sdk": "*" languageName: unknown linkType: soft @@ -7560,8 +7558,6 @@ __metadata: tsyringe: "npm:^4.10.0" tweetnacl: "npm:^1.0.3" typescript: "npm:~5.8.3" - peerDependencies: - "@rocket.chat/federation-sdk": "*" languageName: unknown linkType: soft @@ -9748,7 +9744,7 @@ __metadata: peerDependencies: "@rocket.chat/layout": "*" "@rocket.chat/tools": 0.2.3 - "@rocket.chat/ui-contexts": 23.0.0-rc.1 + "@rocket.chat/ui-contexts": 23.0.0-rc.2 "@tanstack/react-query": "*" react: "*" react-hook-form: "*"