Skip to content

Latest commit

 

History

History
989 lines (603 loc) · 61 KB

CHANGELOG.md

File metadata and controls

989 lines (603 loc) · 61 KB

@signalwire/core

All notable changes to this project will be documented in this file.

This project adheres to Semantic Versioning.

[4.1.0] - 2024-06-03

Added

  • #956 e16ec479 Thanks @iAmmar7! - Introduce Conversation API with Conversation Subscriber

  • #1001 968d226b Thanks @ayeminag! - - API to fetch address by id and tests

  • #995 c370fec8 Thanks @iAmmar7! - CF SDK: Fetch subscriber info function

  • #973 c8deacef Thanks @iAmmar7! - Online/offline registeration for WebRTC endpoint

  • #999 6d71362b Thanks @ayeminag! - - client.conversations.sendMessage()

    • conversation.sendMessage() API for conversation object returned from getConversations() API
    • conversation.getMessages() API for conversation object returned from getConversations()
    • added e2e tests for conversation (room)

Changed

[4.0.0] - 2024-04-17

Added

  • #881 b39b82fe Thanks @iAmmar7! - New interface for Voice APIs

    The new interface contains a single SW client with Chat and PubSub namespaces

    import { SignalWire } from '@signalwire/realtime-api'
    
    (async () => {
      const client = await SignalWire({
        host: process.env.HOST,
        project: process.env.PROJECT,
        token: process.env.TOKEN,
      })
    
      const unsubVoiceOffice = await client.voice.listen({
        topics: ['office'],
        onCallReceived: async (call) => {
          try {
            await call.answer()
    
            const unsubCall = await call.listen({
              onStateChanged: (call) => {},
              onPlaybackUpdated: (playback) => {},
              onRecordingStarted: (recording) => {},
              onCollectInputStarted: (collect) => {},
              onDetectStarted: (detect) => {},
              onTapStarted: (tap) => {},
              onPromptEnded: (prompt) => {}
              // ... more call listeners can be attached here
            })
    
            // ...
    
            await unsubCall()
          } catch (error) {
            console.error('Error answering inbound call', error)
          }
        }
      })
    
      const call = await client.voice.dialPhone({
        to: process.env.VOICE_DIAL_TO_NUMBER as string,
        from: process.env.VOICE_DIAL_FROM_NUMBER as string,
        timeout: 30,
        listen: {
          onStateChanged: async (call) => {
            // When call ends; unsubscribe all listeners and disconnect the client
            if (call.state === 'ended') {
              await unsubVoiceOffice()
    
              await unsubVoiceHome()
    
              await unsubPlay()
    
              client.disconnect()
            }
          },
          onPlaybackStarted: (playback) => {},
        },
      })
    
      const unsubCall = await call.listen({
        onPlaybackStarted: (playback) => {},
        onPlaybackEnded: (playback) => {
          // This will never run since we unsubscribe this listener before the playback stops
        },
      })
    
      // Play an audio
      const play = await call.playAudio({
        url: 'https://cdn.signalwire.com/default-music/welcome.mp3',
        listen: {
          onStarted: async (playback) => {
            await unsubCall()
    
            await play.stop()
          },
        },
      })
    
      const unsubPlay = await play.listen({
        onStarted: (playback) => {
          // This will never run since this listener is attached after the call.play has started
        },
        onEnded: async (playback) => {
          await call.hangup()
        },
      })
    
    })
  • #881 b39b82fe Thanks @iAmmar7! - - New interface for the realtime-api Video SDK.

    • Listen function with video, room, playback, recording, and stream objects.
    • Listen param with room.play, room.startRecording, and room.startStream functions.
    • Decorated promise for room.play, room.startRecording, and room.startStream functions.
    import { SignalWire } from '@signalwire/realtime-api'
    
    const client = await SignalWire({ project, token })
    
    const unsub = await client.video.listen({
      onRoomStarted: async (roomSession) => {
        console.log('room session started', roomSession)
    
        await roomSession.listen({
          onPlaybackStarted: (playback) => {
            console.log('plyaback started', playback)
          },
        })
    
        // Promise resolves when playback ends.
        await roomSession.play({
          url: 'http://.....',
          listen: { onEnded: () => {} },
        })
      },
      onRoomEnded: (roomSession) => {
        console.log('room session ended', roomSession)
      },
    })
  • #881 b39b82fe Thanks @iAmmar7! - New interface for PubSub and Chat APIs

    The new interface contains a single SW client with Chat and PubSub namespaces

    import { SignalWire } from '@signalwire/realtime-api'
    ;(async () => {
      const client = await SignalWire({
        host: process.env.HOST,
        project: process.env.PROJECT,
        token: process.env.TOKEN,
      })
    
      // Attach pubSub listeners
      const unsubHomePubSubListener = await client.pubSub.listen({
        channels: ['home'],
        onMessageReceived: (message) => {
          console.log('Message received under the "home" channel', message)
        },
      })
    
      // Publish on home channel
      await client.pubSub.publish({
        content: 'Hello There',
        channel: 'home',
        meta: {
          fooId: 'randomValue',
        },
      })
    
      // Attach chat listeners
      const unsubOfficeChatListener = await client.chat.listen({
        channels: ['office'],
        onMessageReceived: (message) => {
          console.log('Message received on "office" channel', message)
        },
        onMemberJoined: (member) => {
          console.log('Member joined on "office" channel', member)
        },
        onMemberUpdated: (member) => {
          console.log('Member updated on "office" channel', member)
        },
        onMemberLeft: (member) => {
          console.log('Member left on "office" channel', member)
        },
      })
    
      // Publish a chat message on the office channel
      const pubRes = await client.chat.publish({
        content: 'Hello There',
        channel: 'office',
      })
    
      // Get channel messages
      const messagesResult = await client.chat.getMessages({
        channel: 'office',
      })
    
      // Get channel members
      const getMembersResult = await client.chat.getMembers({ channel: 'office' })
    
      // Unsubscribe pubSub listener
      await unsubHomePubSubListener()
    
      // Unsubscribe chat listener
      await unsubOfficeChatListener()
    
      // Disconnect the client
      client.disconnect()
    })()
  • #881 b39b82fe Thanks @iAmmar7! - New interface for the Messaging API

    The new interface contains a single SW client with Messaging namespace

      const client = await SignalWire({
        host: process.env.HOST || 'relay.swire.io',
        project: process.env.PROJECT as string,
        token: process.env.TOKEN as string,
      })
    
      const unsubOfficeListener = await client.messaging.listen({
        topics: ['office'],
        onMessageReceived: (payload) => {
          console.log('Message received under "office" context', payload)
        },
        onMessageUpdated: (payload) => {
          console.log('Message updated under "office" context', payload)
        },
      })
    
      try {
        const response = await client.messaging.send({
          from: process.env.FROM_NUMBER_MSG as string,
          to: process.env.TO_NUMBER_MSG as string,
          body: 'Hello World!',
          context: 'office',
        })
    
        await client.messaging.send({
          from: process.env.FROM_NUMBER_MSG as string,
          to: process.env.TO_NUMBER_MSG as string,
          body: 'Hello John Doe!',
        })
      } catch (error) {
        console.log('>> send error', error)
      }
  • #881 b39b82fe Thanks @iAmmar7! - Decorated promise for the following APIs:

    • call.play()
      • call.playAudio()
      • call.playSilence()
      • call.playRingtone()
      • call.playTTS()
    • call.record()
      • call.recordAudio()
    • call.prompt()
      • call.promptAudio()
      • call.promptRingtone()
      • call.promptTTS()
    • call.tap()
      • call.tapAudio()
    • call.detect()
      • call.amd()
      • call.detectFax()
      • call.detectDigit
    • call.collect()

    Playback example 1 - Not resolving promise

    const play = call.playAudio({ url: '...' })
    await play.id

    Playback example 2 - Resolving promise when playback starts

    const play = await call.playAudio({ url: '...' }).onStarted()
    play.id

    Playback example 3 - Resolving promise when playback ends

    const play = await call.playAudio({ url: '...' }).onEnded()
    play.id

    Playback example 4 - Resolving promise when playback ends - Default behavior

    const play = await call.playAudio({ url: '...' })
    play.id

    All the other APIs work in a similar way.

  • #881 b39b82fe Thanks @iAmmar7! - Task namespace with new interface

Changed

  • #921 03f01c36 Thanks @jpsantosbh! - support for eventing acknowledge

  • #948 6cb639bf Thanks @iAmmar7! - Allow user to pass filters to getAddress function

    const addressData = await client.getAddresses({
      type: 'room',
      displayName: 'domain app',
    })

[3.21.0] - 2023-11-23

Added

  • #909 4ee7b6f8 Thanks @iAmmar7! - Expose the sendDigits function for Video RoomSession object

  • #873 6c9d2aa5 Thanks @iAmmar7! - Introduce the hand raise API for the Video SDKs (browser and realtime-api)

Fixed

  • #892 d564c379 Thanks @ayeminag! - - Added state param to CallingCallCollectEventParams
    • Made sure voiceCallCollectWorker doesn't clean up CallCollect instance and emit ended/failed event if the state is "collecting"
    • Resolve CallCollect.ended() promise only when state is NOT "collecting" AND final is either undefined/true AND result.type is one of ENDED_STATES
    • Added more test cases for Call.collect() in @sw-internal/e2e-realtime-api

[3.20.0] - 2023-11-07

Added

Fixed

  • #885 bcced8ae Thanks @edolix! - Bugfix: remove video prefix from member.updated events to emit them properly

Added

[3.19.0] - 2023-09-14

Added

  • #866 1086a1b0 - Expose detectInterruptions params for detect methods and handle beep in the detect events

  • #864 be17e614 - Add alias 'topics' for 'contexts'

  • #863 fb45dce7 - Add support for CallRecording pause() and resume()

Changed

  • #853 5e1ff117 - Enhance shared function between realtime and browser SDK

  • #853 5e1ff117 - Introduce the session emitter and eliminate the global emitter

  • #853 5e1ff117 - Eliminate the multicast pubsub channel

  • #853 5e1ff117 - Cleanup the SDK by removing eventsPrefix from the namespaces

  • #853 5e1ff117 - Attach listeners without the namespace prefix

  • #853 5e1ff117 - Cleanup the SDK by removing applyEmitterTransform

  • #862 2a9b88d9 - Update contract types for CallDetect adding a result getter.

  • #853 5e1ff117 - Cleanup the global emitter

  • #853 5e1ff117 - Remove event emitter transform pipeline from browser SDK

  • #876 e5db0ef9 - Bump supported node version to at least 16

[3.18.3] - 2023-08-17

Fixed

  • #858 bb50b2fb - Fix custom CloseEvent implementation to avoid crash on WS close.

[3.18.2] - 2023-08-08

Changed

[3.18.1] - 2023-07-26

Changed

  • #834 81beb29a - Update internal interfaces contracts to have better type checking.

[3.18.0] - 2023-07-19

Added

  • #827 6a35f0a3 - Introduce await call.pass() function to pass the call to another consumer

  • #822 65b0eea5 - Initial changes to setup a SignalWire client for CF.

Changed

  • #825 b44bd6fb - Added support for user-defined refresh token function to update SAT (internal).

[3.17.0] - 2023-07-07

Added

  • #805 e8141c0e - Events to keep track of the connected devices status

  • #821 4e1116b6 - Add support for callStateUrl and callStateEvents when dialing and connecting Voice Call.

Changed

[3.16.0] - 2023-06-21

Minor Changes

Changed

  • #776 602921a6 - Internal changes to opt-out from EmitterTransforms.

  • #776 602921a6 - Use instance map for Voice APIs instance creation.

Fixed

  • #808 9fd8f9cb - Fix Collect and Prompt APIs' speech

  • #811 f3711f17 - Improve reconnection under bad network conditions.

  • #776 602921a6 - Handle failed state for call.connect events.

[3.15.0] - 2023-05-22

Added

  • #778 aa31e1a0 - Add support for maxPricePerMinute in dial and connect for the Voice Call object.

  • #793 4e8e5b0d - Update speech interface for Collect and Prompt to set model.

Changed

  • #786 9fb4e5f4 - Internal change to exclude internal events into the initial subscribe request.

[3.14.1] - 2023-03-24

Fixed

  • #766 e299b048 - Wait for the pending requests before closing the WebSocket connection.

[3.14.0] - 2023-03-22

Added

  • #664 bc56cc42 - Add promote/demote methods to RoomSession.

  • #664 bc56cc42 - Add optional arguments on promote to pass meta, joinAudioMuted and joinVideoMuted. Add optional meta argument for demote.

  • #664 bc56cc42 - Expose the room.audience_count event on the RoomSession.

Changed

  • #664 bc56cc42 - Remove permissions from the valid arguments of the demote() method on RoomSession.

  • #738 ba39c819 - Session channel introduced for BaseSession

  • #738 ba39c819 - Make base session accessible to custom saga workers

  • #758 688306f4 - Deprecate currentTimecode in the params of RoomSession.play() and replace with seekPosition.

  • #738 ba39c819 - Remove executeActionWatcher and related functions

  • #664 bc56cc42 - Remove meta from the allowed parameters of demote.

  • #738 ba39c819 - Introduce a new worker to decouple executeAction requests from Redux store

[3.13.0] - 2023-03-07

Changed

  • #747 95325ec9 - Changes to support connecting using SAT and join a video room.

  • #722 bbb9544c - Consider all 2xx codes as a success response

  • #727 bb216980 - Valid typescript interface for call.collect method.

  • #569 0bdda948 - Internal changes to persist and use authorization.state events.

Fixed

  • #732 9ad158b9 - Emit playback.failed event on playback failure Resolve the playback .ended() promise in case of Playback failure Resolve the playback .ended() promise in case of Prompt failure Resolve the playback .ended() promise in case of Recording failure Resolve the playback .ended() promise in case of Detect failure Resolve the playback .ended() promise in case of Collect failure Resolve the playback .ended() promise in case of Tap failure

  • #711 45536d5f - Fix error on exposing the state property on the Voice Call object.

  • #745 55a309f8 - Use reject instead of throw within Promise for Video methods.

Added

  • #729 41482813 - Allow WebRTC connection to reconnect after a network change or temporary blip.

  • #706 a937768a - Add types for calling.collect API

  • #713 e1e1e336 - Accept 202 as valid response code

  • #723 e2c475a7 - Accept sessionTimeout as a SIP call parameter

[3.12.2] - 2022-11-23

Changed

  • #671 583ef730 - Add inputSensitivity type for Call recordAudio and record methods.
  • #623 3e7ce646 - Internal review: stop using _proxyFactoryCache.
  • #686 c82e6576 - Review internals to always reconnect the SDKs expect for when the user disconnects the clients.
  • #571 a32413d8 - Add detectAnsweringMachine(params) as an alias to amd(params) in Voice Call.

[3.12.1] - 2022-10-06

Changed

Fixed

  • 021d9b83 - Fix toSnakeCaseKeys util and fix language type in the Prompt params.
  • #660 e3453977 - Fix how Chat/PubSub client can be reused after a .disconnect().

[3.12.0] - 2022-09-21

Added

  • #627 6cf01e1c - Expose getMeta and getMemberMeta methods on the RoomSession.
  • #633 f1102bb6 - Add methods, interfaces and utils to support the Stream APIs.

Changed

  • #641 569213c8 - Move debounce implementation from realtime-api to core.

  • #630 577e81d3 - Restore timestamps on browser logs.

  • #630 577e81d3 - [internal] Export ReduxComponent from core and use it on webrtc to make explicit.

  • #631 c00b343e - [internal] Update interfaces for the Authorization block.

Fixed

  • #640 0e7bffdd - Dispatch member.updated event in case of the local cache is empty.

[3.11.0] - 2022-08-17

Added

  • #601 d8cf078c - Add getAllowedChannels() method to PubSub and Chat namespaces.
  • #619 d7ce34d3 - Add methods to manage a RoomSession and Member meta: updateMeta, deleteMeta, setMemberMeta, updateMemberMeta, deleteMemberMeta.
  • #620 9a6936e6 - Add missing voice param to VoiceCallPlayTTSParams.

Changed

  • #610 eb1c3fe9 - Updated interfaces to match the spec, update RoomSession.getRecordings and RoomSession.getPlaybacks to return stateful objects, deprecated RoomSession.members and RoomSession.recordings in favour of their corresponding getters.

  • #589 fa62d67f - Internal changes to update media_allowed, video_allowed and audio_allowed values for joinAudience.

  • #611 5402ffcf - Do not print timestamps in logs on browsers.
  • #615 7b196107 - hotfix: wait for other sagas to complete before destroy.
  • #612 7bdd7ab0 - Review socket closed event handling and make sure it always tries to reconnect.
  • #616 81503784 - Change internal implementation of Chat.getAllowedChannels to wait for the session to be authorized.
  • #594 819a6772 - Internal: migrate roomSubscribed event handling to a custom worker.

[3.10.1]- 2022-07-27

Changed

  • #596 6bc89d81 - Improve auto-subscribe logic in Video and PubSub namespaces.

[3.10.0]- 2022-07-14

Added

  • #560 d308daf8 - Expose methods to seek to a specific video position during playback.

Fixed

  • #583 8ec914b6 - Fix issue with missing member.update events in Realtime-API SDK.

Changed

  • #577 9e1bf9d8 - Remove all the internal docs.ts files and overall intellisense improvements.
  • #584 9eb9851f - Remove option to pass volume from methods of Voice.Playlist typings.
  • #588 bbc21e43 - Internal changes on how BaseConnection retrieves and handle local state properties.

[3.9.1] - 2022-06-24

Patch Changes

  • #580 e8a54a63 - Add video.rooms.get and video.room.get as possible RPC methods
  • #557 f15032f1 - Add ability to track the Authorization state.

  • #552 b168fc4f - Add support for internal ping/pong at the signaling level.

[3.9.0] - 2022-06-10

Added

  • #562 02d97ded - Add layout property to RoomSession.play().

[3.8.1] - 2022-06-01

Added

  • #542 875b2bb8 - Add layoutName to the RoomSession interface

Changed

  • #546 fc4689df - Internal change to migrate from setWorker/attachWorker to runWorkers and from payload to initialState.

Fixed

  • #554 1b95b93b - Fix issue with local streams for when the user joined with audio/video muted. Update typings to match the BE

[3.8.0] - 2022-05-19

Added

  • #477 c6beec6d - Expose the Voice.createPlaylist() method to simplify playing media on a Voice Call.
  • #477 c6beec6d - Add ability to record audio in Voice Call.
  • #477 c6beec6d - Add ability to prompt for digits or speech using prompt() in Voice Call.
  • #477 c6beec6d - Expose the Voice.createDialer() method to simplify dialing devices on a Voice Call.
  • #471 cf845603 - Add playground and e2e tests for Task namespace.
  • #460 7e64fb28 - Iinitial implementation of the Voice namespace. Adds ability to make outbound calls.
  • #472 76e92dd9 - Add Messaging namespace in realtime-api SDK.
  • #477 c6beec6d - Add ability to connect and disconnect legs in Voice namespace.
  • #477 c6beec6d - Add ability to start detectors for machine/digit/fax in Voice Call.
  • #477 c6beec6d - Add waitForEnded() method to the CallPlayback component to easily wait for playbacks to end.
  • #477 c6beec6d - Add ability to receive inbound Calls in the Voice namespace.
  • #535 f89b8848 - Expose connectPhone() and connectSip() helper methods on the Voice Call.
  • #491 0b98a9e4 - Expose disconnect() from Messaging and Task Client objects.

Changed

  • #539 4c0909dd - Rename Call method waitUntilConnected to waitForDisconnected and expose disconnect on the VoiceClient.
  • #532 12c64580 - Improve typings of the public interface for the Chat namespace.
  • #530 61838b07 - Change connect to accept builder objects

  • #477 c6beec6d - Migrate createDialer and createPlaylist to Dialer and Playlist constructors

  • #529 e09afd5b - Renamed Dialer to DeviceBuilder, added ability to pass region to dialPhone and dialSip

[3.7.1] - 2022-04-01

Fixed

  • #484 a9abe1d5 - Keep internal memberList data up to date to generate synthetic events with the correct values.

[3.7.0] - 2022-03-25

Added

  • #456 c487d29b - Add ability to handle member's currentPosition.

  • #401 46600032 - Add layout and positions when starting a screenShare.

  • #468 058e9a0c - Re-exported ChatMember and ChatMessage from the top-level namespace

  • #452 563a31e5 - Expose setMeta and setMemberMeta methods on the RoomSession.

Changed

Fixed

  • #466 1944348f - Fix to avoid issues when invoking .destroy() on cleanup.
  • #469 4d7bcc30 - Fix Chat methods that required the underlay client to be connected.

[3.6.0] - 2022-03-02

Added

  • #426 edc573f2 - Expose the removeAllListeners method for all the components.

Changed

[3.5.0] - 2022-02-04

Added

  • #400 3f851e2a - Expose chat member events: member.joined, member.updated and member.left.

  • #407 7c688bb5 - Add encode/decode protected methods to BaseSession to allow override.

  • #415 6d94624b - Add transformParams to ExecuteExtendedOptions.

  • #424 743168df - Add support for updateToken to the Chat.Client to allow renew tokens for a chat session.

[3.4.1] - 2022-01-11

Changed

  • #394 03e5d42 - [internal] Update interfaces to pass through preview_url

[3.4.0] - 2021-12-16

Added

  • #360 b7bdfcb - Allow to set a custom logger via UserOptions.
  • #361 4606f19 - [wip] Initial changes for the Chat namespace.

Changed

  • #365 64997a0 - Improve internal watcher/workers to be more resilient in case of errors.

  • #376 d2e51b8 - Improve logic for connecting the client.

Fixed

[3.3.0] - 2021-11-02

Added

  • #338 bae6985 - Add displayName to VideoRoomSessionContract.

Changed

  • #327 fa40510 - Improved internal typings for the Video namespace.

[3.2.0] - 2021-10-12

Added

  • #297 2675e5e - Add support for the Playback APIs: roomSession.play() and the RoomSessionPlayback object to control it.

Changed

  • #325 7d183de - Upgrade dependency for handling WebSocket connections.

[3.1.4] - 2021-10-06

Fixed

  • #299 72eb91b - Fixed signature of the setLayout method of a VideoRoomSession.

Changed

  • #310 3af0ea6 - Improve typings for the PubSub channel and when finding the namespace from the payload. Fix usages of room for room_session.

  • #305 cec54bd - Convert timestamp properties to Date objects.

  • #302 2ac7f6d - Added setInputVolume/setOutputVolume and marked setMicrophoneVolume/setSpeakerVolume as deprecated.

  • #311 febb842 - Update ConsumerContract interface and add array-keys to the toExternalJSON whitelist.

  • #300 b60e9fc - Improve the logic for applying local and remote emitter transforms.

  • #304 4d21716 - Internal refactoring for subscribe events.

  • #298 49b4aa9 - Refactoring: Normalize usage of events to always use our "internal" version for registering, transforms, caching, etc.

[3.1.3] - 2021-09-15

Changed

  • #278 f35a8e0 - Improve way of creating strictly typed EventEmitter instances.

  • #287 820c6d1 - Extend interface for VideoMemberContract

  • #283 968bda7 - Review internal usage of interfaces to control what the SDKs are going to expose.

[3.1.2] - 2021-09-09

Added

  • #261 9dd7dbb - Add classes and typings to support the Recording APIs.
  • #273 249facf - Added member.talking.started, member.talking.ended and deprecated member.talking.start and member.talking.stop for consistency.

Fixed

  • #271 e6233cc - Bugfix on the internal EventEmitter where, in a specific case, the .off() method did not remove the listener. Improved test coverage.

  • #277 5b4e57d - Fix validateEventsToSubscribe method to check the prefixed-event.

[3.1.1] - 2021-08-27

Changed

  • #246 97dacbb - Add typings for the RealTime video and room event listeners.

  • #243 e45c52c - Allow to set the logger level via logLevel argument on the UserOptions interface.

Fixed

[3.1.0] - 2021-08-13

Added

  • #236 b967c89 - Apply audio and video constraints sent from the backend consuming the mediaParams event.

[3.0.0] - 2021-08-09

Added

  • #195 ef1964c - Export types/interfaces for Room events
  • #158 4524780 - Updated connect to support component and session listeners

  • #167 f6b8b10 - Encapsulate each EventEmitter using a unique id as the namespace.

  • #152 a5ef49a - Expose "member.talking" event

  • #171 12178ce - Internal refactor for creating destroyable slices without repetition.
  • #161 22b61d3 - Rename some internal objects and review the public exports.
  • #163 b1f3d45 - Add ability to queue execute actions based on the user's auth status. Add ability to track how many times the user has been reconnected. Improve reconnecting logic.
  • #214 ec49478 - Included commonjs versions into js and webrtc packages

  • #155 45e6159 - Emit "member.talking.start" and "member.talking.stop" in addition of "member.talking"

  • #144 95df411 - Renamed internal sessions classes, Bundled core dependencies.
  • #156 703ee44 - Update RoomLayout interfaces and events payloads.

Fixed

3.0.0-beta.4

Patch Changes

  • ec49478: Included commonjs versions into js and webrtc packages

3.0.0-beta.3

Patch Changes

  • ef1964c: Export types/interfaces for Room events
  • 2c89dfb: Deprecated getLayoutList and getMemberList in favour of getLayouts and getMembers respectively. Other methods (audioMute, audioUnmute, deaf, hideVideoMuted, removeMember, setInputSensitivity, setLayout, setMicrophoneVolume, setSpeakerVolume, showVideoMuted, undeaf, videoMute, videoUnmute) that were previously returning { code: string, message: string } also went through a signature change and are now returning Promise<void>

3.0.0-beta.2

Patch Changes

  • 6995825: Standardize naming for store actions
  • 8bb4e76: Split Room objects into Room, RoomDevice and RoomScreenShare with specific methods for each use case
  • f6b8b10: Encapsulate each EventEmitter using a unique id as the namespace.
  • 12178ce: Internal refactor for creating destroyable slices without repetition.
  • b1f3d45: Add ability to queue execute actions based on the user's auth status. Add ability to track how many times the user has been reconnected. Improve reconnecting logic.

3.0.0-beta.1

Patch Changes

  • 8e08e73: Bump @reduxjs/toolkit to latest
  • 4524780: Updated connect to support component and session listeners
  • 399d213: Expose createScreenShareObject() method to share the screen in a room
  • d84f142: Fix session reconnect logic
  • a5ef49a: Expose "member.talking" event
  • 22b61d3: Rename some internal objects and review the public exports
  • 5820540: Change package "exports" definition
  • 45e6159: Emit "member.talking.start" and "member.talking.stop" in addition of "member.talking"
  • 95df411: Renamed internal sessions classes, Bundled core dependencies
  • 703ee44: Update RoomLayout interfaces and events payloads

3.0.0-beta.0

Major Changes

  • fe0fe0a: Initial beta release of SignalWire JS SDK