Skip to content

Commit 11e4aaf

Browse files
applying changes from code review
1 parent ecd12e7 commit 11e4aaf

5 files changed

Lines changed: 8 additions & 12 deletions

File tree

apps/meteor/app/api/server/v1/media-calls.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { MediaCall } from '@rocket.chat/core-services';
22
import type { IMediaCall } from '@rocket.chat/core-typings';
3-
import type { ServerMediaSignal } from '@rocket.chat/media-signaling';
3+
import type { ServerMediaCallSignal } from '@rocket.chat/media-signaling';
44
import { MediaCalls } from '@rocket.chat/models';
55
import {
66
ajv,
@@ -77,7 +77,7 @@ const mediaCallsStateEndpoints = API.v1
7777
{
7878
response: {
7979
200: ajv.compile<{
80-
signals: ServerMediaSignal[];
80+
signals: ServerMediaCallSignal[];
8181
}>({
8282
additionalProperties: false,
8383
type: 'object',

apps/meteor/server/services/media-call/service.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,10 +72,10 @@ export class MediaCallService extends ServiceClassInternal implements IMediaCall
7272
}
7373
}
7474

75-
public async getUserStateSignals(uid: IUser['_id'], contractId: string): Promise<ServerMediaSignal[]> {
75+
public async getUserStateSignals(uid: IUser['_id'], contractId: string): Promise<ServerMediaCallSignal[]> {
7676
const calls = await MediaCalls.findAllNotOverByUid(uid).toArray();
7777

78-
const signals: ServerMediaSignal[] = [];
78+
const signals: ServerMediaCallSignal[] = [];
7979
for (const call of calls) {
8080
const callSignals = await getSignalsForExistingCall(call, uid, contractId);
8181
signals.push(...callSignals);

ee/packages/media-calls/src/server/signals/getInitialOfferSignal.ts

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,13 @@ import type { CallRole, ServerMediaSignalRemoteSDP } from '@rocket.chat/media-si
33
import { MediaCallNegotiations } from '@rocket.chat/models';
44

55
export async function getInitialOfferSignal(call: IMediaCall, role: CallRole): Promise<ServerMediaSignalRemoteSDP | null> {
6-
// Since the initial offer is always provided by the caller, they don't need to receive it from the server
7-
if (role !== 'callee') {
8-
return null;
9-
}
10-
116
const { [role]: actor } = call;
127
if (!actor.contractId) {
138
return null;
149
}
1510

1611
const negotiation = await MediaCallNegotiations.findLatestByCallId(call._id);
17-
if (!negotiation?.offer) {
12+
if (!negotiation?.offer || negotiation.offerer === role) {
1813
return null;
1914
}
2015

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import type { IUser } from '@rocket.chat/core-typings';
2-
import type { ClientMediaSignal, ServerMediaSignal } from '@rocket.chat/media-signaling';
2+
import type { ClientMediaSignal, ServerMediaCallSignal } from '@rocket.chat/media-signaling';
33

44
export interface IMediaCallService {
55
processSignal(fromUid: IUser['_id'], signal: ClientMediaSignal): Promise<void>;
66
processSerializedSignal(fromUid: IUser['_id'], signal: string): Promise<void>;
77
hangupExpiredCalls(): Promise<void>;
8-
getUserStateSignals(uid: IUser['_id'], contractId: string): Promise<ServerMediaSignal[]>;
8+
getUserStateSignals(uid: IUser['_id'], contractId: string): Promise<ServerMediaCallSignal[]>;
99
}

packages/media-signaling/src/lib/Session.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -699,6 +699,7 @@ export class MediaSignalingSession extends Emitter<MediaSignalingEvents> {
699699
if (!this.registration.active) {
700700
if (hadCall) {
701701
this.emit('endedCall');
702+
this.lastState.hasCall = false;
702703
}
703704
this.config.logger?.debug('skipping session events on inactive session');
704705
return;

0 commit comments

Comments
 (0)