Closed rafaelcorsi closed 3 years ago
Minha sugestão seria fazer usando setInterval, fazer um fetch HEAD
e olhar para o cabeçalho Last-Modified.
O deploy da página ocorre só quando o código do Github muda ou tem como atualizar o conteúdo do site localmente? Dependendo de como for, dá pra usar o setInterval
que o @igordsm sugeriu com e fazer uma requisição periodicamente na API do GitHub.
Fazendo um GET em https://api.github.com/repos/insper-education/active-handout
a gente obtém o momento do último push
{
// ...
"created_at": "2021-03-30T17:08:42Z",
"updated_at": "2021-05-19T22:26:50Z",
"pushed_at": "2021-05-13T18:33:10Z",
// ...
}
@cicerotcv não precisamos fazer um request na api do github, só precisamos dar um novo get própria página:
➜ ~ curl -I https://insper-education.github.io/active-handout/
HTTP/2 200
server: GitHub.com
....
last-modified: Thu, 13 May 2021 18:33:19 GMT
...
Eu sugiro usar a informação do github.io ao do arquivo no github pq usamos o actions do para dar o deploy na página e isso leva alguns minutos para acontecer, então vai ter um momento que o arquivo markdown está atualizado e o site não e se o aluno der refresh vai continuar desatualizado.
Alguma ideia de como seria a notificação? Banner?
Que tal um snackbar: https://www.w3schools.com/howto/howto_js_snackbar.asp
Mas eu deixaria ele com um X pra fechar ao invés de fechar depois de um tempo. Ou até já com um botão pra atualizar a página. Melhor ainda seria se ele atualizasse de forma assíncrona e só mostrasse a notificação falando que a página foi atualizada. Poderia até, temporariamente, dar um highlight de outra cor no texto que tiver mudado, mas aí acho que já estou viajando.
On Fri, May 21, 2021 at 10:04 AM Rafael Corsi @.***> wrote:
@cicerotcv https://github.com/cicerotcv não precisamos fazer um request na api do github, só precisamos dar um novo get própria página:
➜ ~ curl -I https://insper-education.github.io/active-handout/
HTTP/2 200
server: GitHub.com
....
last-modified: Thu, 13 May 2021 18:33:19 GMT
...
Eu sugiro usar a informação do github.io ao do arquivo no github pq usamos o actions do para dar o deploy na página e isso leva alguns minutos para acontecer, então vai ter um momento que o arquivo markdown está atualizado e o site não e se o aluno der refresh vai continuar desatualizado.
Alguma ideia de como seria a notificação? Banner?
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/insper-education/active-handout/issues/21#issuecomment-845935810, or unsubscribe https://github.com/notifications/unsubscribe-auth/AABVVKHZIDJURGUTPFNHXQLTOZK67ANCNFSM45FXQBOQ .
@toshikurauchi uhm... que tal criarmos um plugin para notificações? Ai qualquer módulo que precisar usar notificação faz por ele...
Gosto dessa ideia!
On Sat, May 22, 2021 at 8:04 PM Rafael Corsi @.***> wrote:
@toshikurauchi https://github.com/toshikurauchi uhm... que tal criarmos um plugin para notificações? Ai qualquer módulo que precisar usar notificação faz por ele...
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/insper-education/active-handout/issues/21#issuecomment-846473965, or unsubscribe https://github.com/notifications/unsubscribe-auth/AABVVKAPR7LFA6XGUNDQZT3TPA2BLANCNFSM45FXQBOQ .
Acontece muitas vezes do aluno estar com a página aberta no navegador com uma versão antiga, poderíamos indicar para o aluno atualizar a página.