Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Parent voice call worker to fork child call workers #762

Merged
merged 19 commits into from
Apr 5, 2023
Merged

Conversation

iAmmar7
Copy link
Collaborator

@iAmmar7 iAmmar7 commented Mar 17, 2023

Introduced a new call worker to handle all the sub-call workers.

Events covered:

  • calling.call.receive
  • calling.call.play
  • calling.call.record
  • calling.call.state
  • calling.call.dial
  • calling.call.collect
  • calling.call.send_digits
  • calling.call.detect
  • calling.call.tap
  • calling.call.prompt
  • calling.call.connect

@changeset-bot
Copy link

changeset-bot bot commented Mar 17, 2023

🦋 Changeset detected

Latest commit: 8ae5b45

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 5 packages
Name Type
@signalwire/realtime-api Patch
@signalwire/core Patch
@signalwire/js Patch
@signalwire/web-api Patch
@signalwire/webrtc Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

Copy link
Contributor

@edolix edolix left a comment

Choose a reason for hiding this comment

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

I'll look at the workers changes tomorrow

Copy link
Contributor

@edolix edolix left a comment

Choose a reason for hiding this comment

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

Great job here 🔥

@iAmmar7 iAmmar7 changed the title WIP: Parent voice call worker to fork child call workers Parent voice call worker to fork child call workers Mar 31, 2023
Base automatically changed from aa/base-emitter to dev March 31, 2023 13:36
@iAmmar7 iAmmar7 force-pushed the aa/calling-worker branch from 171d42a to ed2934f Compare April 3, 2023 12:59
@iAmmar7 iAmmar7 force-pushed the aa/calling-worker branch from f0614bd to f0c756b Compare April 4, 2023 09:45
@iAmmar7 iAmmar7 force-pushed the aa/calling-worker branch from e0f0799 to 8ae5b45 Compare April 5, 2023 09:25
Copy link
Contributor

@edolix edolix left a comment

Choose a reason for hiding this comment

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

🔥 🔥 🔥

@edolix edolix merged commit f36b2ea into dev Apr 5, 2023
@edolix edolix deleted the aa/calling-worker branch April 5, 2023 09:53
iAmmar7 added a commit that referenced this pull request Apr 25, 2023
* Calling worker to fork call workers

* hanlde calling.call.state events

* handle calling.call.dial event and move dial function to the client

* fix answer() promise

* handle calling.call.collect event

* hanlde calling.call.send_digits event

* handle calling.call.detect event

* handle calling.call.tap event

* handle calling.call.prompt event

* handle calling.call.connect event

* override on, once, and off functions for the Call

* replace _on with on in e2e test cases

* include changeset

* fix playback event for prompt

* fix call.detect event with internal sdk worker

* unit test cases fix

* rebased with the dev

* replace overriden functions

* fix instanceMap arg

---------

Co-authored-by: edolix <[email protected]>
edolix added a commit that referenced this pull request Apr 27, 2023
* Calling worker to fork call workers

* hanlde calling.call.state events

* handle calling.call.dial event and move dial function to the client

* fix answer() promise

* handle calling.call.collect event

* hanlde calling.call.send_digits event

* handle calling.call.detect event

* handle calling.call.tap event

* handle calling.call.prompt event

* handle calling.call.connect event

* override on, once, and off functions for the Call

* replace _on with on in e2e test cases

* include changeset

* fix playback event for prompt

* fix call.detect event with internal sdk worker

* unit test cases fix

* rebased with the dev

* replace overriden functions

* fix instanceMap arg

---------

Co-authored-by: edolix <[email protected]>
iAmmar7 added a commit that referenced this pull request May 3, 2023
* Calling worker to fork call workers

* hanlde calling.call.state events

* handle calling.call.dial event and move dial function to the client

* fix answer() promise

* handle calling.call.collect event

* hanlde calling.call.send_digits event

* handle calling.call.detect event

* handle calling.call.tap event

* handle calling.call.prompt event

* handle calling.call.connect event

* override on, once, and off functions for the Call

* replace _on with on in e2e test cases

* include changeset

* fix playback event for prompt

* fix call.detect event with internal sdk worker

* unit test cases fix

* rebased with the dev

* replace overriden functions

* fix instanceMap arg

---------

Co-authored-by: edolix <[email protected]>
edolix added a commit that referenced this pull request May 22, 2023
* Calling worker to fork call workers

* hanlde calling.call.state events

* handle calling.call.dial event and move dial function to the client

* fix answer() promise

* handle calling.call.collect event

* hanlde calling.call.send_digits event

* handle calling.call.detect event

* handle calling.call.tap event

* handle calling.call.prompt event

* handle calling.call.connect event

* override on, once, and off functions for the Call

* replace _on with on in e2e test cases

* include changeset

* fix playback event for prompt

* fix call.detect event with internal sdk worker

* unit test cases fix

* rebased with the dev

* replace overriden functions

* fix instanceMap arg

---------

Co-authored-by: edolix <[email protected]>
edolix added a commit that referenced this pull request May 22, 2023
* Calling worker to fork call workers

* hanlde calling.call.state events

* handle calling.call.dial event and move dial function to the client

* fix answer() promise

* handle calling.call.collect event

* hanlde calling.call.send_digits event

* handle calling.call.detect event

* handle calling.call.tap event

* handle calling.call.prompt event

* handle calling.call.connect event

* override on, once, and off functions for the Call

* replace _on with on in e2e test cases

* include changeset

* fix playback event for prompt

* fix call.detect event with internal sdk worker

* unit test cases fix

* rebased with the dev

* replace overriden functions

* fix instanceMap arg

---------

Co-authored-by: edolix <[email protected]>
edolix added a commit that referenced this pull request May 22, 2023
* Calling worker to fork call workers

* hanlde calling.call.state events

* handle calling.call.dial event and move dial function to the client

* fix answer() promise

* handle calling.call.collect event

* hanlde calling.call.send_digits event

* handle calling.call.detect event

* handle calling.call.tap event

* handle calling.call.prompt event

* handle calling.call.connect event

* override on, once, and off functions for the Call

* replace _on with on in e2e test cases

* include changeset

* fix playback event for prompt

* fix call.detect event with internal sdk worker

* unit test cases fix

* rebased with the dev

* replace overriden functions

* fix instanceMap arg

---------

Co-authored-by: edolix <[email protected]>
edolix pushed a commit that referenced this pull request Jun 6, 2023
* EventEmitter for each instance of a component (#754)

* EventEmitter for each instance of a component

* remove branch from the main workflow

* add changeset

* add dev branch to workflow

* add dev branch to ci/cd

* Parent voice call worker to fork child call workers (#762)

* Calling worker to fork call workers

* hanlde calling.call.state events

* handle calling.call.dial event and move dial function to the client

* fix answer() promise

* handle calling.call.collect event

* hanlde calling.call.send_digits event

* handle calling.call.detect event

* handle calling.call.tap event

* handle calling.call.prompt event

* handle calling.call.connect event

* override on, once, and off functions for the Call

* replace _on with on in e2e test cases

* include changeset

* fix playback event for prompt

* fix call.detect event with internal sdk worker

* unit test cases fix

* rebased with the dev

* replace overriden functions

* fix instanceMap arg

---------

Co-authored-by: edolix <[email protected]>

* GH Action jobs should not run on  push (#780)

* Cleanup emitter transform for Voice Call APIs (#781)

* Cleanup emitter transform for Voice Call APIs

* include changeset

* Use base event emitter for Message API (#782)

* Use base event emitter for Message API

* emitter transform remove and changeset include

* ApplyEventListeners comment update

* Use base event emitter for Chat & PubSub API (#783)

* base emitter for chat and pubsub api

* changeset included

* improve pubsub and chat worker initializing

* fix chat and pubsub e2e js case

* improve chat and pubsub e2e js case

* SDK child worker type fix

* type issues fix for sub workers

* more debug

* more debug in voiceCallPlayWorker

* update payload from voiceCallDialWorker

* run only voice test for now

* override event listeners for call instances

* fix node script

* fix voiceCallConnectWorker bug

* fix test cases for playback and recording

---------

Co-authored-by: edolix <[email protected]>

* Use base event emitter for realtime video API (#784)

* Use base event emitter for realtime Video API

* videoMember worker initiated

* internal sdk video event to resolve getRoomSessions promise

* internal sdk event to resolve getRoomSessionById promise

* handle video.playback events with base emitter

* room session playback functions for realtime-api

* handle video.recording events and shared methods

* custom video.member events with backward compatibilty

* handle video stream events and methods

* handle layout event from the server

* video room audience count event

* worker introduced to inject instances in the instance map

* validation for instances in injectInInstanceMapWorker

* return value fix for play and recording functions

* fix unit test case for video class

* expose intanceMap through BaseComponent and remove injectInInstanceMap worker

* removed emitter transform from the RoomSession object and fix RoomSessionMember unit tests

* unit tests for room session playback, recording, and stream classes

* comments for stream class

* video room sdk worker removed and related types

* add playground with DTMF loop

* review changesets

* Fix race condition issues with e2e tests for realtime-api (#791)

* Fix race condition issues with e2e tests for realtime-api

* fix prompt type issue

* Caller and Callee wait for each other on each step

* sleep removed from the voice tap e2e

* fix voice record e2e

* voice collect e2e

* voice record multiple

* voice detect event

* encap the outbound call within try catch

* removed unnecessary wait

* fix call detect e2e

* enable all test cases

* fix voice peer call with promise

* fix voice prompt

* improve voice test

* enable all the CI jobs

* remove sleep for video api

* handled failed state for calling.call.connect event

* enable all the pipelines

* include changeset

* review changesets [skip ci]

* Trigger CI

* reduce logs

* just add feedback in playground

* Use instance map for Voice APIs instance creation (#799)

* Use instance map for Voice APIs instance creation

* changeset include

* Remove instance when action ended (#802)

* Remove instance when action ended

* remove comment from the videoRoomWorker

* Fix types for component's payload object (#801)

* Fix types for component's payload object

* fix build issue

* include BaseComponentOptionsWithPayload interface

* Override attach events function for BasePubSub (#804)

* Return RoomSessionMember object instead of plain Member object in realtime-api (#803)

* Return RoomSessionMember object instead of plain Member object

* fix build bug

* include changeset

* fix build

---------

Co-authored-by: Ammar Ansari <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants