testando latencia
Deploy / Deploy (push) Has been cancelled Details

This commit is contained in:
JotaChina 2026-02-24 18:51:41 -03:00
parent 477b693b79
commit 16532a9ace
2 changed files with 14 additions and 20 deletions

View File

@ -679,7 +679,6 @@ document.addEventListener("DOMContentLoaded", () => {
}
});
}
// Criar sala (gera link com ?room=...)
if (createRoomBtn) {
createRoomBtn.addEventListener("click", () => {
@ -687,32 +686,26 @@ document.addEventListener("DOMContentLoaded", () => {
const currentParams = new URLSearchParams(window.location.search);
if (currentParams.has("room")) {
alert(
`Você já está na sala: ${currentParams.get(
"room"
)}\n\Copie o link da barra de endereços para convidar.`
`Você já está na sala: ${currentParams.get("room")}\n\nCopie o link da barra de endereços para convidar.`
);
return;
}
const defaultName = `sessao-${Math.random()
.toString(36)
.substring(2, 7)}`;
// 🔥 O PEDÁGIO: Pede o login ANTES de avisar o servidor!
const myName = await getOrFetchUsername();
// Agora sim envia com os dados completos
socket.emit("join_room", {
roomName: novaSala,
userName: myName
});
// 1. Gera o nome padrão
const defaultName = `sessao-${Math.random().toString(36).substring(2, 7)}`;
// 2. Pergunta qual nome o usuário quer
const roomName = prompt(
"Digite um nome para a sala compartilhada:",
defaultName
);
if (!roomName) return;
if (!roomName) return; // Se o usuário cancelar, para aqui.
// 3. Monta o link
const currentUrl = window.location.origin + window.location.pathname;
const shareableLink = `${currentUrl}?room=${encodeURIComponent(
roomName
)}`;
const shareableLink = `${currentUrl}?room=${encodeURIComponent(roomName)}`;
// 4. Copia para a área de transferência
try {
navigator.clipboard.writeText(shareableLink);
alert(
@ -723,6 +716,9 @@ document.addEventListener("DOMContentLoaded", () => {
`Link da sala: ${shareableLink}\n\nA página será recarregada agora para entrar na nova sala.`
);
}
// 5. Recarrega a página!
// (Isso vai ativar o socket.on("connect") que criamos, e ele vai pedir o Login perfeitamente!)
window.location.href = shareableLink;
});
}

View File

@ -50,7 +50,6 @@ import { updateStepUI, renderPatternEditor } from "./pattern/pattern_ui.js";
import { PORT_SOCK } from "./config.js";
import { DEFAULT_PROJECT_XML } from "./utils.js"
// --- NO TOPO DO SEU socket.js ---
export let USER_NAME = null;
export let currentRoom = null;
let roomSeq = 0;
@ -191,7 +190,6 @@ function delayFromServerTimeMs(scheduleAtServerMs) {
let lastActionTimeout = null;
let lastBroadcastTimeout = null;
let pendingToken = null;
let lastActionToken = 0;
const processedTokens = new Set();
// -----------------------------------------------------------------------------