mirror of
https://github.com/xtr-dev/rondevu-client.git
synced 2025-12-10 10:53:24 +00:00
Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 8d7075ccc4 | |||
| db8f0f4ced |
4
package-lock.json
generated
4
package-lock.json
generated
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "@xtr-dev/rondevu-client",
|
"name": "@xtr-dev/rondevu-client",
|
||||||
"version": "0.7.2",
|
"version": "0.7.3",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "@xtr-dev/rondevu-client",
|
"name": "@xtr-dev/rondevu-client",
|
||||||
"version": "0.7.2",
|
"version": "0.7.3",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@xtr-dev/rondevu-client": "^0.5.1"
|
"@xtr-dev/rondevu-client": "^0.5.1"
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@xtr-dev/rondevu-client",
|
"name": "@xtr-dev/rondevu-client",
|
||||||
"version": "0.7.2",
|
"version": "0.7.3",
|
||||||
"description": "TypeScript client for Rondevu topic-based peer discovery and signaling server",
|
"description": "TypeScript client for Rondevu topic-based peer discovery and signaling server",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"main": "dist/index.js",
|
"main": "dist/index.js",
|
||||||
|
|||||||
@@ -23,15 +23,19 @@ export class AnsweringState extends PeerState {
|
|||||||
sdp: offerSdp
|
sdp: offerSdp
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Create answer
|
||||||
|
const answer = await this.peer.pc.createAnswer();
|
||||||
|
|
||||||
|
// Send answer to server BEFORE setLocalDescription
|
||||||
|
// This registers us as the answerer so ICE candidates will be accepted
|
||||||
|
await this.peer.offersApi.answer(offerId, answer.sdp!);
|
||||||
|
|
||||||
// Enable trickle ICE - set up handler before ICE gathering starts
|
// Enable trickle ICE - set up handler before ICE gathering starts
|
||||||
this.setupIceCandidateHandler();
|
this.setupIceCandidateHandler();
|
||||||
|
|
||||||
// Create answer
|
// Set local description - ICE gathering starts here
|
||||||
const answer = await this.peer.pc.createAnswer();
|
// Server already knows we're the answerer, so candidates will be accepted
|
||||||
await this.peer.pc.setLocalDescription(answer); // ICE gathering starts here
|
await this.peer.pc.setLocalDescription(answer);
|
||||||
|
|
||||||
// Send answer to server immediately (don't wait for ICE)
|
|
||||||
await this.peer.offersApi.answer(offerId, answer.sdp!);
|
|
||||||
|
|
||||||
// Transition to exchanging ICE
|
// Transition to exchanging ICE
|
||||||
const { ExchangingIceState } = await import('./exchanging-ice-state.js');
|
const { ExchangingIceState } = await import('./exchanging-ice-state.js');
|
||||||
|
|||||||
Reference in New Issue
Block a user