Skip to content

Commit

Permalink
fix: Ensure callbacks apply properly, improve error handling
Browse files Browse the repository at this point in the history
  • Loading branch information
therealPaulPlay committed Feb 4, 2025
1 parent 6e48d01 commit 38c06fe
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 17 deletions.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "playpeerjs",
"version": "1.2.5",
"version": "1.2.6",
"description": "WebRTC-based wrapper for creating robust peer-2-peer multiplayer systems with ease.",
"type": "module",
"main": "dist/playpeer.js",
Expand Down
10 changes: 4 additions & 6 deletions src/example.html
Original file line number Diff line number Diff line change
Expand Up @@ -62,16 +62,15 @@
]
}
});

peer.onEvent('storageUpdate', (storage) => {
peer.onEvent('status', status => console.log('Status:', status));
peer.onEvent('storageUpdated', (storage) => {
const messages = document.getElementById('messages');
messages.innerHTML = storage.messages?.map(msg =>
`<div><strong>${msg.sender}:</strong> ${msg.text}</div>`
).join('') || '';
messages.scrollTop = messages.scrollHeight;
});

peer.onEvent('status', status => console.log('Status:', status));
await peer.init();
}

Expand All @@ -81,7 +80,7 @@
document.getElementById("host-container").style.opacity = "0.5";

if (!peer) await initPeer(peerId);
peer.createRoom({ messages: [] });
await peer.createRoom({ messages: [] });
}

async function join() {
Expand All @@ -102,16 +101,15 @@
function sendMessage() {
const input = document.getElementById('chatInput');
const text = input.value.trim();
input.value = '';
if (!text) return;

const currentStorage = peer.getStorage;
const newMessage = {
sender: peer.id,
text: text
};

peer.updateStorageArray('messages', 'add', newMessage);
input.value = '';
}

// Make functions globally available
Expand Down
15 changes: 5 additions & 10 deletions src/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ export default class PlayPeer {
*/
async init() {
return new Promise((resolve, reject) => {
this.destroy(); // If peer already exists, destroy
if (this.#peer) return console.error(ERROR_PREFIX + "Instance already initialized!");
if (!this.#id) console.warn(ERROR_PREFIX + "No id provided!");
if (!this.#options) console.warn(ERROR_PREFIX + "No config provided! Necessary stun and turn servers missing.");
this.#triggerEvent("status", "Initializing instance...");
Expand Down Expand Up @@ -147,19 +147,14 @@ export default class PlayPeer {
});

this.#peer.on('error', (error) => {
if (error.type === "network") {
console.error(ERROR_PREFIX + "Fatal network error:", error);
this.#triggerEvent("error", "Fatal network error: " + error);
this.destroy();
} else {
console.error(ERROR_PREFIX + "Peer error:", error);
this.#triggerEvent("error", "Peer error: " + error);
}
console.error(ERROR_PREFIX + `Error of type '${error?.type}':`, error);
this.#triggerEvent("error", `Error of type '${error?.type}': ` + error);
});

this.#peer.on('close', () => {
this.#triggerEvent("status", "Peer permanently closed.");
console.warn(WARNING_PREFIX + "Connection permanently closed.");
this.#triggerEvent("error", "Peer permanently closed. Please ensure your client is WebRTC-compatible.");
console.warn(WARNING_PREFIX + "Peer permanently closed.");
this.destroy();
});
}
Expand Down

0 comments on commit 38c06fe

Please sign in to comment.