From 7079ca52d8dca15d84384f8677f11a82ef8362d0 Mon Sep 17 00:00:00 2001 From: Edward Oliveira Date: Mon, 25 May 2026 23:30:00 -0300 Subject: [PATCH] Fix panel clock source and prevent overlapping polling --- sapl/painel/views.py | 7 +++++++ sapl/templates/painel/index.html | 13 +++++++++---- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/sapl/painel/views.py b/sapl/painel/views.py index aaebfdf33..bfe9df2c1 100644 --- a/sapl/painel/views.py +++ b/sapl/painel/views.py @@ -139,11 +139,18 @@ def votacao(context, context_vars): @never_cache @user_passes_test(check_permission) def painel_view(request, pk): + logger = logging.getLogger(__name__) + utc_now = timezone.now() local_now = timezone.localtime(utc_now) utc_offset = int(local_now.utcoffset().total_seconds() / 60) server_epoch_ms = int(utc_now.timestamp() * 1000) + logger.info( + "painel_view pk=%s utc_now=%s local_now=%s utc_offset=%s server_epoch_ms=%s", + pk, utc_now, local_now, utc_offset, server_epoch_ms + ) + context = {'head_title': str(_('Painel Plenário')), 'sessao_id': pk, 'server_epoch_ms': server_epoch_ms, diff --git a/sapl/templates/painel/index.html b/sapl/templates/painel/index.html index 2ce7178a2..d5dc8dc4c 100644 --- a/sapl/templates/painel/index.html +++ b/sapl/templates/painel/index.html @@ -266,11 +266,19 @@ var aparte_previous; var consideracoes_previous; + const POLL_INTERVAL_MS = + window.location.hostname === "localhost" ? 2000 : 500; + var counter = 1; (function poll() { $.ajax({ url: "{% url 'sapl.painel:dados_painel' sessao_id %}", type: "GET", + dataType: "json", + complete: function() { + setTimeout(poll, POLL_INTERVAL_MS); + }, + timeout: 20000, // TODO: decrease success: function(data) { $("#sessao_plenaria").text(data["sessao_plenaria"]) $("#sessao_plenaria_data").text("Data Início: " + data["sessao_plenaria_data"]) @@ -491,10 +499,7 @@ }, error: function(err) { console.error(err); - }, - dataType: "json", - complete: setTimeout(function() {poll()}, 500), - timeout: 20000 // TODO: decrease + } }) })(); });