Skip to content
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion ee/apps/federation-service/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,11 @@
},
"dependencies": {
"@hono/node-server": "^1.14.4",
"@hs/federation-sdk": "workspace:*",
"@rocket.chat/core-services": "workspace:^",
"@rocket.chat/core-typings": "workspace:*",
"@rocket.chat/emitter": "^0.31.25",
"@rocket.chat/federation-matrix": "workspace:^",
"@rocket.chat/federation-sdk": "0.1.3",
"@rocket.chat/http-router": "workspace:*",
"@rocket.chat/instance-status": "workspace:^",
"@rocket.chat/license": "workspace:^",
Expand Down
3 changes: 1 addition & 2 deletions ee/packages/federation-matrix/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -34,11 +34,10 @@
"extends": "../../../package.json"
},
"dependencies": {
"@hs/crypto": "workspace:^",
"@hs/federation-sdk": "workspace:^",
"@rocket.chat/core-services": "workspace:^",
"@rocket.chat/core-typings": "workspace:^",
"@rocket.chat/emitter": "^0.31.25",
"@rocket.chat/federation-sdk": "0.1.3",
"@rocket.chat/http-router": "workspace:^",
"@rocket.chat/license": "workspace:^",
"@rocket.chat/models": "workspace:^",
Expand Down
15 changes: 10 additions & 5 deletions ee/packages/federation-matrix/src/FederationMatrix.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
import 'reflect-metadata';

import type { FileMessageType, PresenceState } from '@hs/core';
import { ConfigService, createFederationContainer, getAllServices } from '@hs/federation-sdk';
import type { HomeserverEventSignatures, HomeserverServices, FederationContainerOptions } from '@hs/federation-sdk';
import type { EventID } from '@hs/room';
import { type IFederationMatrixService, ServiceClass, Settings } from '@rocket.chat/core-services';
import {
isDeletedMessage,
Expand All @@ -15,6 +11,15 @@ import {
} from '@rocket.chat/core-typings';
import type { MessageQuoteAttachment, IMessage, IRoom, IUser, IRoomNativeFederated } from '@rocket.chat/core-typings';
import { Emitter } from '@rocket.chat/emitter';
import { ConfigService, createFederationContainer, getAllServices } from '@rocket.chat/federation-sdk';
import type {
EventID,
HomeserverEventSignatures,
HomeserverServices,
FederationContainerOptions,
FileMessageType,
PresenceState,
} from '@rocket.chat/federation-sdk';
import { Router } from '@rocket.chat/http-router';
import { Logger } from '@rocket.chat/logger';
import { Users, Subscriptions, Messages, Rooms } from '@rocket.chat/models';
Expand Down Expand Up @@ -43,7 +48,7 @@ export const fileTypes: Record<string, FileMessageType> = {
file: 'm.file',
};

export { generateEd25519RandomSecretKey } from '@hs/crypto';
export { generateEd25519RandomSecretKey } from '@rocket.chat/federation-sdk';

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

🧩 Analysis chain

Verify exported symbol availability in the new SDK

Please confirm generateEd25519RandomSecretKey is exported by @rocket.chat/federation-sdk@0.1.3.


🌐 Web query:

Does @rocket.chat/federation-sdk@0.1.3 export a `generateEd25519RandomSecretKey` function?

💡 Result:

I couldn't find any export named generateEd25519RandomSecretKey in @rocket.chat/federation-sdk@0.1.3. (I searched the Rocket.Chat federation repositories and npm-related package listings and found no reference to that function.) [1][2]

If you want, I can fetch the package tarball (or a specific file path in that version) and inspect its exports directly.


Fix broken re-export — missing symbol in SDK

generateEd25519RandomSecretKey is not exported by @rocket.chat/federation-sdk@0.1.3; the re-export in ee/packages/federation-matrix/src/FederationMatrix.ts:51 will fail. Replace the import with the actual exported symbol from the SDK, vendor/implement the function locally, or pin/revert to an SDK version that provides it.

🤖 Prompt for AI Agents
In ee/packages/federation-matrix/src/FederationMatrix.ts around line 51, the
file re-exports generateEd25519RandomSecretKey which is not exported by
@rocket.chat/federation-sdk@0.1.3 and will break the build; remove this broken
re-export and either (a) replace it with the actual symbol name exported by the
SDK (update the import to the correct exported function if the SDK provides it),
(b) vendor/implement a local generateEd25519RandomSecretKey in this package and
export that instead, or (c) pin/revert the dependency to a SDK version that
includes this symbol; ensure whichever approach you choose updates
imports/exports and tests accordingly so no unresolved export remains.


export class FederationMatrix extends ServiceClass implements IFederationMatrixService {
protected name = 'federation-matrix';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { Router } from "@rocket.chat/http-router";
import { ajv } from '@rocket.chat/rest-typings/dist/v1/Ajv';
import { createHash } from 'node:crypto';

import type { HomeserverServices } from '@hs/federation-sdk';
import type { HomeserverServices } from '@rocket.chat/federation-sdk';

const WellKnownServerResponseSchema = {
type: 'object',
Expand Down
10 changes: 8 additions & 2 deletions ee/packages/federation-matrix/src/api/_matrix/invite.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,13 @@
import type { HomeserverServices, RoomService, StateService } from '@hs/federation-sdk';
import type { PduMembershipEventContent, PersistentEventBase, RoomVersion } from '@hs/room';
import { Room } from '@rocket.chat/core-services';
import type { IUser, UserStatus } from '@rocket.chat/core-typings';
import type {
HomeserverServices,
RoomService,
StateService,
PduMembershipEventContent,
PersistentEventBase,
RoomVersion,
} from '@rocket.chat/federation-sdk';
import { Router } from '@rocket.chat/http-router';
import { Rooms, Users } from '@rocket.chat/models';
import { ajv } from '@rocket.chat/rest-typings/dist/v1/Ajv';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import type { HomeserverServices } from '@hs/federation-sdk';
import type { HomeserverServices } from '@rocket.chat/federation-sdk';
import { Router } from '@rocket.chat/http-router';
import { ajv } from '@rocket.chat/rest-typings/dist/v1/Ajv';

Expand Down
2 changes: 1 addition & 1 deletion ee/packages/federation-matrix/src/api/_matrix/media.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import crypto from 'crypto';

import type { HomeserverServices } from '@hs/federation-sdk';
import type { IUpload } from '@rocket.chat/core-typings';
import type { HomeserverServices } from '@rocket.chat/federation-sdk';
import { Router } from '@rocket.chat/http-router';
import { ajv } from '@rocket.chat/rest-typings/dist/v1/Ajv';

Expand Down
3 changes: 1 addition & 2 deletions ee/packages/federation-matrix/src/api/_matrix/profiles.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import type { HomeserverServices } from '@hs/federation-sdk';
import type { RoomVersion } from '@hs/room';
import type { HomeserverServices, RoomVersion } from '@rocket.chat/federation-sdk';
import { Router } from '@rocket.chat/http-router';
import { ajv } from '@rocket.chat/rest-typings/dist/v1/Ajv';

Expand Down
2 changes: 1 addition & 1 deletion ee/packages/federation-matrix/src/api/_matrix/rooms.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import type { HomeserverServices } from '@hs/federation-sdk';
import type { HomeserverServices } from '@rocket.chat/federation-sdk';
import { Router } from '@rocket.chat/http-router';
import { ajv } from '@rocket.chat/rest-typings/dist/v1/Ajv';

Expand Down
3 changes: 1 addition & 2 deletions ee/packages/federation-matrix/src/api/_matrix/send-join.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import type { HomeserverServices } from '@hs/federation-sdk';
import type { EventID } from '@hs/room';
import type { HomeserverServices, EventID } from '@rocket.chat/federation-sdk';
import { Router } from '@rocket.chat/http-router';
import { ajv } from '@rocket.chat/rest-typings/dist/v1/Ajv';

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import type { HomeserverServices } from '@hs/federation-sdk';
import type { EventID } from '@hs/room';
import type { HomeserverServices, EventID } from '@rocket.chat/federation-sdk';
import { Router } from '@rocket.chat/http-router';
import { ajv } from '@rocket.chat/rest-typings/dist/v1/Ajv';

Expand Down
2 changes: 1 addition & 1 deletion ee/packages/federation-matrix/src/api/_matrix/versions.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import type { HomeserverServices } from '@hs/federation-sdk';
import type { HomeserverServices } from '@rocket.chat/federation-sdk';
import { Router } from '@rocket.chat/http-router';
import { ajv } from '@rocket.chat/rest-typings/dist/v1/Ajv';

Expand Down
5 changes: 2 additions & 3 deletions ee/packages/federation-matrix/src/api/middlewares.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import type { EventAuthorizationService } from '@hs/federation-sdk';
import { errCodes } from '@hs/federation-sdk';
import type { EventID } from '@hs/room';
import { errCodes } from '@rocket.chat/federation-sdk';
import type { EventAuthorizationService, EventID } from '@rocket.chat/federation-sdk';
import type { Context, Next } from 'hono';

export const canAccessMedia = (federationAuth: EventAuthorizationService) => async (c: Context, next: Next) => {
Expand Down
2 changes: 1 addition & 1 deletion ee/packages/federation-matrix/src/events/edu.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import type { HomeserverEventSignatures } from '@hs/federation-sdk';
import { api } from '@rocket.chat/core-services';
import { UserStatus } from '@rocket.chat/core-typings';
import type { Emitter } from '@rocket.chat/emitter';
import type { HomeserverEventSignatures } from '@rocket.chat/federation-sdk';
import { Logger } from '@rocket.chat/logger';
import { Rooms, Users } from '@rocket.chat/models';

Expand Down
2 changes: 1 addition & 1 deletion ee/packages/federation-matrix/src/events/index.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import type { HomeserverEventSignatures } from '@hs/federation-sdk';
import type { Emitter } from '@rocket.chat/emitter';
import type { HomeserverEventSignatures } from '@rocket.chat/federation-sdk';

import { edus } from './edu';
import { invite } from './invite';
Expand Down
2 changes: 1 addition & 1 deletion ee/packages/federation-matrix/src/events/invite.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import type { HomeserverEventSignatures } from '@hs/federation-sdk';
import { Room } from '@rocket.chat/core-services';
import { UserStatus } from '@rocket.chat/core-typings';
import type { Emitter } from '@rocket.chat/emitter';
import type { HomeserverEventSignatures } from '@rocket.chat/federation-sdk';
import { Rooms, Users } from '@rocket.chat/models';

export function invite(emitter: Emitter<HomeserverEventSignatures>) {
Expand Down
2 changes: 1 addition & 1 deletion ee/packages/federation-matrix/src/events/member.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import type { HomeserverEventSignatures } from '@hs/federation-sdk';
import { Room } from '@rocket.chat/core-services';
import type { Emitter } from '@rocket.chat/emitter';
import type { HomeserverEventSignatures } from '@rocket.chat/federation-sdk';
import { Logger } from '@rocket.chat/logger';
import { Rooms, Users } from '@rocket.chat/models';

Expand Down
4 changes: 1 addition & 3 deletions ee/packages/federation-matrix/src/events/message.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
import type { FileMessageType, MessageType, FileMessageContent } from '@hs/core';
import type { HomeserverEventSignatures } from '@hs/federation-sdk';
import type { EventID } from '@hs/room';
import { FederationMatrix, Message, MeteorService } from '@rocket.chat/core-services';
import type { IUser, IRoom, FileAttachmentProps } from '@rocket.chat/core-typings';
import type { Emitter } from '@rocket.chat/emitter';
import type { FileMessageType, MessageType, FileMessageContent, HomeserverEventSignatures, EventID } from '@rocket.chat/federation-sdk';
import { Logger } from '@rocket.chat/logger';
import { Users, Rooms, Messages } from '@rocket.chat/models';

Expand Down
2 changes: 1 addition & 1 deletion ee/packages/federation-matrix/src/events/ping.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import type { HomeserverEventSignatures } from '@hs/federation-sdk';
import type { Emitter } from '@rocket.chat/emitter';
import type { HomeserverEventSignatures } from '@rocket.chat/federation-sdk';

export const ping = async (emitter: Emitter<HomeserverEventSignatures>) => {
emitter.on('homeserver.ping', async (data) => {
Expand Down
2 changes: 1 addition & 1 deletion ee/packages/federation-matrix/src/events/reaction.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import type { HomeserverEventSignatures } from '@hs/federation-sdk';
import { Message, FederationMatrix } from '@rocket.chat/core-services';
import type { Emitter } from '@rocket.chat/emitter';
import type { HomeserverEventSignatures } from '@rocket.chat/federation-sdk';
import { Logger } from '@rocket.chat/logger';
import { Users, Messages } from '@rocket.chat/models'; // Rooms
import emojione from 'emojione';
Expand Down
2 changes: 1 addition & 1 deletion ee/packages/federation-matrix/src/events/room.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import type { HomeserverEventSignatures } from '@hs/federation-sdk';
import { Room } from '@rocket.chat/core-services';
import type { Emitter } from '@rocket.chat/emitter';
import type { HomeserverEventSignatures } from '@rocket.chat/federation-sdk';
import { Rooms, Users } from '@rocket.chat/models';

export function room(emitter: Emitter<HomeserverEventSignatures>) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import type { HomeserverServices } from '@hs/federation-sdk';
import { Upload } from '@rocket.chat/core-services';
import type { IUpload } from '@rocket.chat/core-typings';
import type { HomeserverServices } from '@rocket.chat/federation-sdk';
import { Logger } from '@rocket.chat/logger';
import { Uploads } from '@rocket.chat/models';

Expand Down
1 change: 0 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@
"typescript": "~5.9.2"
},
"workspaces": [
"homeserver",
"apps/*",
"packages/*",
"ee/apps/*",
Expand Down
Loading
Loading