Seguidores

domingo, 29 de junho de 2025

Dashboard de Produtividade Pessoal T2E04: BugCT1-8 Teste da correção dos botões do Dashboard falhou

INTRODUÇÃO

Post anterior: Dashboard de Produtividade Pessoal T2E03: BugCT1-8 Botões do Dashboard não funcionam

O objetivo deste post é apresentar o relato de um bug encontrado durante a execução do "Caso de Teste 1: Tarefa sem pausa", na temporada 2 da série Dashboard de Produtividade Pessoal.

Promp para Gemini 2.5 Pro

1 Objetivo

Olá Gemini! Corrija no App d2p, o bug que ocorreu na execução do teste realizado para validar a correção do "BugCT1-8 Botões do Dashboard não funcionam".

2 Contexto

A arquitetura do App d2p mudou para:
  • Frontend Dashboard de Produtividade Pessoal
  • Backend Google Sheet
  • Apps Scritp para integração do Dashboard com Google Sheet
  • Não há login no App d2p (foi removido)

3 Dados e Fatos

Dados do Caso de Teste 1:

  • CódigoTarefa: S00.1.1.01; NomeTarefa: Tarefa 1 Teste 1; TamanhoTarefa: 5
  • CódigoTarefa: S00.1.1.02; NomeTarefa: Tarefa 2 Teste 1; TamanhoTarefa: 1
  • CódigoTarefa: S00.1.1.03; NomeTarefa: Tarefa 3 Teste 1; TamanhoTarefa: 3

Fatos que ocorreram nos testes:
  • O teste funciona na opção Implantar / Testar implantações ou na opção Implantar / Gerenciar implantações, se a planilha não tiver tarefas preenchidas.
  • O teste NÃO funciona se a planilha tiver tarefas preenchidas, aparecendo no console do Chrome a mensagem abaixo:
Uncaught TypeError: Cannot read properties of null (reading 'tasks')
    at dadosCarregadosComSucesso (<anonymous>:236:28)
    at Bh (4139234525-mae_html_user_bin_i18n_mae_html_user__pt_pt.js:140:417)
    at 4139234525-mae_html_user_bin_i18n_mae_html_user__pt_pt.js:42:132
    at Ai.S (4139234525-mae_html_user_bin_i18n_mae_html_user__pt_pt.js:164:376)
    at Zd (4139234525-mae_html_user_bin_i18n_mae_html_user__pt_pt.js:76:477)
    at a (4139234525-mae_html_user_bin_i18n_mae_html_user__pt_pt.js:74:52)

4 Código.gs

Código Apps Script que implementa o Frontend do App d2p, a ser corrigido pelo Gemini.

Esse código foi adicionado no momento de enviar o prompt.

5 Dashboard.html

Código Apps Script que implementa o Backend do App d2p, a ser corrigido pelo Gemini.

Esse código foi adicionado no momento de enviar o prompt.

Resposta do Gemini 2.5 Pro

Olá! Entendi perfeitamente o problema. O erro Cannot read properties of null (reading 'tasks') acontece porque, quando a planilha tem dados (especialmente datas), o Google Apps Script pode falhar ao tentar serializar o objeto para enviá-lo ao frontend, resultando em um valor null na função de callback.

Para corrigir isso, a abordagem mais segura é converter o objeto de dados em uma string JSON no backend (Código.gs) e, em seguida, fazer o parse dessa string de volta para um objeto no frontend (Dashboard.html).

Apresento abaixo os dois arquivos com as devidas correções.

1. Correção no Backend (Código.gs)

Neste arquivo, modifiquei a função getInitialData para que ela retorne uma string JSON. Também adicionei um tratamento para garantir que as datas sejam convertidas para um formato de string padronizado (ISO), evitando problemas de serialização.

Código.gs (Corrigido)
22 de jun., 13:05

2. Correção no Frontend (Dashboard.html)

Aqui, a função dadosCarregadosComSucesso foi ajustada para receber a string JSON, fazer o parse dela e então popular o estado da aplicação. Isso resolve o erro ...reading 'tasks' of null, pois agora a função sempre receberá uma string válida para ser processada.

Dashboard.html (Corrigido)
22 de jun., 13:05

Com essas alterações, o problema de carregamento com a planilha preenchida será resolvido. O fluxo de dados entre o backend e o frontend se torna mais robusto e previsível.

CONCLUSÃO

O teste da correção foi executado com falha, porque o botão "Play Task" das tarefas continua desabilitado.

No próximo post será encaminhado outro Prompt para o Gemini 2.5 Pro corrigir.

Próximo post: Dashboard de Produtividade Pessoal T2E05: BugCT1-8 Teste da correção do botão PlayTask do Dashboard

Nenhum comentário:

Postar um comentário

Entendendo a Metáfora "Home Office é Moto Boy"

UCEM L-pI.184 Exercícios Parte I Lição 184 - Caso de uso da IA para estudar

  Lição anterior Escolher outra lição Próxima lição Lição 184   O Nome de Deus é a minha herança. Texto e audio da  Lição 184  no site ofici...