Skip to content

Commit

Permalink
Adjust Positions (#451)
Browse files Browse the repository at this point in the history
* Revert "remove positions arguments from codebase"

This reverts commit b3d3988.

* adjust position types

* add changeset

* dry a bit

* export VideoPosition types
  • Loading branch information
edolix authored Mar 4, 2022
1 parent edfda1a commit b1b022a
Show file tree
Hide file tree
Showing 9 changed files with 52 additions and 69 deletions.
7 changes: 7 additions & 0 deletions .changeset/curly-trains-impress.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
'@signalwire/core': patch
'@signalwire/js': patch
'@signalwire/realtime-api': patch
---

[internal] Adjust naming of positions
8 changes: 4 additions & 4 deletions packages/core/src/rooms/methods.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ describe('Room Custom Methods', () => {

await instance.setPositions({
positions: {
'cebecb3a-b9e4-499c-a707-0af96c110a04': 'standard',
'cebecb3a-b9e4-499c-a707-0af96c110a04': 'auto',
'aaaaaaa-b9e4-499c-a707-0af96c110a04': 'standard-1',
},
})
Expand All @@ -104,7 +104,7 @@ describe('Room Custom Methods', () => {
params: {
room_session_id: 'mocked',
positions: {
'cebecb3a-b9e4-499c-a707-0af96c110a04': 'standard',
'cebecb3a-b9e4-499c-a707-0af96c110a04': 'auto',
'aaaaaaa-b9e4-499c-a707-0af96c110a04': 'standard-1',
},
},
Expand All @@ -123,7 +123,7 @@ describe('Room Custom Methods', () => {

await instance.setMemberPosition({
member_id: 'cebecb3a-b9e4-499c-a707-0af96c110a04',
position: 'standard',
position: 'auto',
})
expect(instance.execute).toHaveBeenCalledTimes(1)
expect(instance.execute).toHaveBeenCalledWith(
Expand All @@ -132,7 +132,7 @@ describe('Room Custom Methods', () => {
params: {
room_session_id: 'mocked',
member_id: 'cebecb3a-b9e4-499c-a707-0af96c110a04',
position: 'standard',
position: 'auto',
},
},
{
Expand Down
4 changes: 2 additions & 2 deletions packages/core/src/rooms/methods.ts
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ export const getMembers = createRoomMethod<{ members: VideoMemberEntity[] }>(
)
export interface SetLayoutParams {
name: string
// positions?: Record<string, VideoPosition>
positions?: Record<string, VideoPosition>
}
export const setLayout = createRoomMethod<BaseRPCResult, void>(
'video.set_layout',
Expand Down Expand Up @@ -216,7 +216,7 @@ export const getPlaybacks = createRoomMethod<
export type PlayParams = {
url: string
volume?: number
// positions?: Record<string, VideoPosition>
positions?: Record<string, VideoPosition>
}
export const play: RoomMethodDescriptor<any, PlayParams> = {
value: function (params) {
Expand Down
5 changes: 2 additions & 3 deletions packages/core/src/types/video.ts
Original file line number Diff line number Diff line change
Expand Up @@ -36,9 +36,8 @@ export type RTCTrackEventName = 'track'

export type VideoPosition =
| 'self'
// | 'reserved'
// | `reserved-${number}`
| 'standard'
| 'auto'
| `reserved-${number}`
| `standard-${number}`
| 'off-canvas'

Expand Down
8 changes: 4 additions & 4 deletions packages/core/src/types/videoRoomSession.ts
Original file line number Diff line number Diff line change
Expand Up @@ -89,10 +89,10 @@ export interface VideoRoomSessionContract {
setHideVideoMuted(value: boolean): Rooms.SetHideVideoMuted
getLayouts(): Rooms.GetLayouts
setLayout(params: Rooms.SetLayoutParams): Rooms.SetLayout
// setPositions(params: Rooms.SetPositionsParams): Rooms.SetPositions
// setMemberPosition(
// params: Rooms.SetMemberPositionParams
// ): Rooms.SetMemberPosition
setPositions(params: Rooms.SetPositionsParams): Rooms.SetPositions
setMemberPosition(
params: Rooms.SetMemberPositionParams
): Rooms.SetMemberPosition
getRecordings(): Rooms.GetRecordings
startRecording(): Promise<Rooms.RoomSessionRecording>
getPlaybacks(): Rooms.GetPlaybacks
Expand Down
4 changes: 2 additions & 2 deletions packages/js/src/BaseRoomSession.ts
Original file line number Diff line number Diff line change
Expand Up @@ -352,8 +352,8 @@ export const RoomSessionAPI = extendComponent<
getMembers: Rooms.getMembers,
getLayouts: Rooms.getLayouts,
setLayout: Rooms.setLayout,
// setPositions: Rooms.setPositions,
// setMemberPosition: Rooms.setMemberPosition,
setPositions: Rooms.setPositions,
setMemberPosition: Rooms.setMemberPosition,
hideVideoMuted: Rooms.hideVideoMuted,
showVideoMuted: Rooms.showVideoMuted,
getRecordings: Rooms.getRecordings,
Expand Down
41 changes: 14 additions & 27 deletions packages/js/src/RoomSession.docs.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
import type { AssertSameType, VideoPositions, Rooms } from '@signalwire/core'
import type {
AssertSameType,
VideoPositions,
Rooms,
VideoPosition,
} from '@signalwire/core'
import { BaseRoomSession } from './BaseRoomSession'
import { RoomSessionDevice } from './RoomSessionDevice'
import { RoomSessionScreenShare } from './RoomSessionScreenShare'
Expand Down Expand Up @@ -849,10 +854,7 @@ interface RoomControlMethodsInterfaceDocs {
play(params: {
url: string
volume?: number
// positions?: Record<
// string,
// 'self' | 'standard' | `standard-${number}` | 'off-canvas'
// >
positions?: VideoPositions
}): Promise<Rooms.RoomSessionPlayback>
}

Expand Down Expand Up @@ -903,30 +905,15 @@ interface RoomLayoutMethodsInterface {
*/
setLayout(params: {
name: string
// positions?: Record<
// string,
// 'self' | 'standard' | `standard-${number}` | 'off-canvas'
// >
positions?: VideoPositions
}): Rooms.SetLayout

// setPositions(params: {
// positions: Record<
// string,
// | 'self'
// | 'standard'
// | `standard-${number}`
// | 'off-canvas'
// >
// }): Promise<void>

// setMemberPosition(params: {
// memberId?: string
// position:
// | 'self'
// | 'standard'
// | `standard-${number}`
// | 'off-canvas'
// }): Promise<void>
setPositions(params: { positions: VideoPositions }): Promise<void>

setMemberPosition(params: {
memberId?: string
position: VideoPosition
}): Promise<void>
}

/**
Expand Down
6 changes: 4 additions & 2 deletions packages/js/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@
* - {@link WebRTC}
*
* Video gives you access to the classes and methods that let you
* interface with the backend Video APIs. Chat gives you access to the classes and functions that you need to create a real-time chat application. WebRTC
* interface with the backend Video APIs. Chat gives you access to the classes and functions that you need to create a real-time chat application. WebRTC
* contains several functions that are useful for interacting with the hardware of the user's device.
*
*
*
* Don't know where to start? Create an instance of
* {@link Video.RoomSession} to join a room, use the {@link Chat.Client} constructor to start a chat application, or take a look at [Getting Started
Expand Down Expand Up @@ -87,6 +87,8 @@ export type {
MemberTalkingEventNames,
VideoMemberTalkingEventParams,
InternalVideoMemberEntity,
VideoPosition,
VideoPositions,
} from '@signalwire/core'

/** @ignore */
Expand Down
38 changes: 13 additions & 25 deletions packages/realtime-api/src/video/RoomSession.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ import {
AssertSameType,
BaseConsumer,
EventEmitter,
VideoPosition,
VideoPositions,
} from '@signalwire/core'
import { RealTimeRoomApiEvents } from '../types'
import { debounce } from '../utils/debounce'
Expand Down Expand Up @@ -309,25 +311,14 @@ interface RoomSessionDocs extends RoomSessionMain {
* await roomSession.setLayout({name: "6x6"})
* ```
*/
setLayout(params: {
name: string
// positions?: Record<
// string,
// 'self' | 'standard' | `standard-${number}` | 'off-canvas'
// >
}): Promise<void>
setLayout(params: { name: string; positions?: VideoPositions }): Promise<void>

// setPositions(params: {
// positions: Record<
// string,
// 'self' | 'standard' | `standard-${number}` | 'off-canvas'
// >
// }): Promise<void>
setPositions(params: { positions: VideoPositions }): Promise<void>

// setMemberPosition(params: {
// memberId?: string
// position: 'self' | 'standard' | `standard-${number}` | 'off-canvas'
// }): Promise<void>
setMemberPosition(params: {
memberId?: string
position: VideoPosition
}): Promise<void>

/**
* Obtains a list of recordings for the current room session.
Expand All @@ -338,7 +329,7 @@ interface RoomSessionDocs extends RoomSessionMain {
* rec.recordings[0].id
* rec.recordings[0].state
* ```
*
*
* @returns The returned objects contain all the properties of a
* {@link RoomSessionRecording}, but no methods.
*/
Expand All @@ -359,7 +350,7 @@ interface RoomSessionDocs extends RoomSessionMain {

/**
* Obtains a list of playbacks for the current room session.
*
*
* @example
* ```js
* const pl = await roomSession.startRecording()
Expand Down Expand Up @@ -391,10 +382,7 @@ interface RoomSessionDocs extends RoomSessionMain {
play(params: {
url: string
volume?: number
// positions?: Record<
// string,
// 'self' | 'standard' | `standard-${number}` | 'off-canvas'
// >
positions?: VideoPositions
}): Promise<Rooms.RoomSessionPlayback>

/**
Expand Down Expand Up @@ -760,8 +748,8 @@ export const RoomSessionAPI = extendComponent<
setHideVideoMuted: Rooms.setHideVideoMuted,
getLayouts: Rooms.getLayouts,
setLayout: Rooms.setLayout,
// setPositions: Rooms.setPositions,
// setMemberPosition: Rooms.setMemberPosition,
setPositions: Rooms.setPositions,
setMemberPosition: Rooms.setMemberPosition,
getRecordings: Rooms.getRecordings,
startRecording: Rooms.startRecording,
getPlaybacks: Rooms.getPlaybacks,
Expand Down

0 comments on commit b1b022a

Please sign in to comment.