diff --git a/app.js b/app.js index eb6a1f6..cacbaa7 100644 --- a/app.js +++ b/app.js @@ -369,7 +369,15 @@ async function createChatRoom() { async function joinChatRoom(e) { e.preventDefault(); - const topicStr = document.querySelector('#join-chat-room-topic').value; + const topicStr = document.querySelector('#join-chat-room-topic').value.trim(); + + // Validate the topic string + const isValidTopic = /^[0-9a-fA-F]{64}$/.test(topicStr); + if (!isValidTopic) { + alert('Invalid topic format. Please enter a 64-character hexadecimal string.'); + return; + } + const topicBuffer = b4a.from(topicStr, 'hex'); addRoomToList(topicStr); await joinSwarm(topicBuffer);