Deixamos o opolyx mais rápido
Os números dos dados agora aparecem quase na hora, as páginas carregam rápido esteja você onde estiver, e há muito menos espera entre os turnos.

Em palavras simples
Velocidade é um recurso. Dedicamos uma rodada inteira de trabalho para deixar o opolyx ágil, e você deve notar isso assim que se sentar a uma mesa.
Toque em "Jogar os dados" e os dados ganham vida na hora — antes os números levavam um segundo e meio para se firmar, e agora caem num piscar de olhos. Seguir com o seu turno, comprar uma propriedade, pagar aluguel: tudo responde no instante em que você age.
- Os números dos dados aparecem quase na hora depois de jogar.
- A página inicial e o guia carregam rápido de qualquer lugar do mundo.
- Menos espera entre os turnos depois que a mesa engata.
- Acabou a travada de "the game server is waking up" ao abrir um tabuleiro.
Nada disso muda como o jogo é jogado — mesmas regras, mesmo tabuleiro. Ele só sai do seu caminho mais rápido.
Para os mais técnicos
O tempo do clique até os números dos dados caiu de ~1.5s para cerca de 0.3–0.75s. Duas coisas estavam empilhadas: uma animação de assentamento de ~700ms depois que a resposta chegava, e um caminho de rede lento. Reduzimos o rolar para 250ms, e o jogador que age agora reproduz os dados de forma otimista a 0ms e depois aplica o estado e os eventos autoritativos do daemon assim que retornam — sem esperar pela transmissão realtime mais lenta.
O maior ganho foi a rede. O servidor do jogo (o daemon) autoriza o próprio JWT do jogador em vez de um segredo do servidor, então o navegador agora pode chamá-lo diretamente em vez de ricochetear por uma server action da Vercel. As chamadas diretas verificam o token HS256 localmente no daemon (signature, exp, audience) — a autenticação passou de ~40ms para ~1–5ms — e recorrem ao relé da server action em qualquer erro, de modo que nada é jamais enviado em duplicidade.
# Browser → daemon directly (with a verified server-action fallback)
NEXT_PUBLIC_DAEMON_URL=https://opolyxgame-daemon-production.up.railway.app
# Daemon verifies the player's token locally (HS256), ~40ms → ~1-5ms
SUPABASE_JWT_SECRET=<legacy HS256 secret from Supabase → Settings → API>Por baixo, o daemon e o banco de dados agora ficam juntos: migramos o Supabase de produção de Tokyo para Singapore, no mesmo local do daemon da Railway, então as chamadas daemon↔db são locais — a autenticação ~200ms → ~40ms e o trabalho do jogo ~250ms → ~45ms. Um node:https keep-alive Agent com escopo de módulo mantém essa conexão aquecida entre os turnos (a primeira jogada de um turno não reconecta mais a frio). E cada página de marketing e de conteúdo — home, how-to-play, rules, guide, as páginas legais, sign-in — agora é pré-renderizada por idioma nos dez idiomas, de modo que são servidas a partir do edge cache, sem lambda de inicialização a frio.
