From cb8feac6fff309f00a19511a65b6d98d65d49346 Mon Sep 17 00:00:00 2001 From: lgcosta Date: Thu, 5 Nov 2026 08:50:14 -0300 Subject: [PATCH] =?UTF-8?q?docs(pwa):=20Firefox=20Linux=20155+=20instala?= =?UTF-8?q?=20via=20taskbarTabs=20(flag=20desligada=20por=20padr=C3=A3o)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - firefoxInstallHelp(): passo a passo específico para Linux — about:config → browser.taskbarTabs.enabled=true → 'Adicionar aba à barra de tarefas'; macOS separado (ainda sem fluxo nativo) - README: matriz de compatibilidade detalha Linux 155+ e macOS - sw.js: CACHE notas-shell-v4 --- README.md | 3 ++- web/js/app.js | 28 +++++++++++++++++++--------- web/sw.js | 2 +- 3 files changed, 22 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 3f3ebe3..570dce3 100644 --- a/README.md +++ b/README.md @@ -251,7 +251,8 @@ do navegador e atalho de área de trabalho "Nova nota" (`/?new=1`). | Chrome/Edge/Brave/Vivaldi | ✅ | `beforeinstallprompt` (prompt nativo) | ✅ dispara o prompt | | Firefox Android | ✅ | menu **⋮ → Instalar** (tela inicial) | ✅ abre instruções | | Firefox Windows 143+ | ✅ | **fixar na barra de tarefas** pela barra de endereço | ✅ abre instruções | -| Firefox Linux/macOS | ✅ (app funciona pleno em aba) | sem fluxo nativo (só extensão de terceiros) | ✅ abre instruções honestas | +| Firefox Linux 155+ | ✅ | `about:config` → `browser.taskbarTabs.enabled=true` → *Adicionar aba à barra de tarefas* (desligado por padrão) | ✅ abre instruções | +| Firefox macOS | ✅ (app pleno em aba/offline) | ainda sem fluxo nativo (em desenvolvimento na Mozilla) | ✅ abre instruções honestas | | Safari (macOS/iOS) | ✅ | manual: Compartilhar → *Adicionar ao Dock/Tela de Início* | escondido (sem evento) | O código usa a checagem de propriedade `'onbeforeinstallprompt' in window` (o evento **nunca** diff --git a/web/js/app.js b/web/js/app.js index 795b953..8faf875 100644 --- a/web/js/app.js +++ b/web/js/app.js @@ -1978,16 +1978,26 @@ } function firefoxInstallHelp() { - const steps = isAndroid - ? '

No Firefox para Android:

  1. Toque no menu ⋮ da barra de endereço;
  2. ' + + let steps; + if (isAndroid) { + steps = '

    No Firefox para Android:

    1. Toque no menu ⋮ da barra de endereço;
    2. ' + '
    3. Toque em Instalar → Adicionar automaticamente;
    4. ' + - '
    5. O Notas entra na tela inicial e abre em modo aplicativo (standalone).
    ' - : isWindows - ? '

    No Firefox para Windows (143+):

    1. Clique no ícone da barra de endereço ' + - '(Adicionar aba à barra de tarefas);
    2. ' + - '
    3. O site fica fixado na barra de tarefas e abre em janela simplificada de app.
    ' - : '

    O Firefox para Linux/macOS não oferece instalação nativa de PWAs (a Mozilla ' + - 'prevê isso via extensão de terceiros).

    '; + '
  3. O Notas entra na tela inicial e abre em modo aplicativo (standalone).
'; + } else if (isWindows) { + steps = '

No Firefox para Windows (143+):

  1. Clique no ícone da barra de endereço ' + + '(Adicionar aba à barra de tarefas);
  2. ' + + '
  3. O site fica fixado na barra de tarefas e abre em janela própria.
'; + } else if (/Linux/.test(ua)) { + steps = '

No Firefox para Linux (155+, vem desligado):

    ' + + '
  1. Abra about:config e ajuste browser.taskbarTabs.enabled para true;
  2. ' + + '
  3. Reinicie o Firefox;
  4. ' + + '
  5. Nesta página, clique em Adicionar aba à barra de tarefas na barra de endereço ' + + '— o Notas fica fixado no dock/painel e abre em janela de app.
'; + } else { + steps = '

No Firefox para macOS a instalação nativa ainda não está disponível ' + + '(a Mozilla mantém o recurso em desenvolvimento). Use como aba ou favorito — o app ' + + 'funciona offline do mesmo jeito.

'; + } modal({ title: 'Instalar o Notas no Firefox', bodyHTML: steps + diff --git a/web/sw.js b/web/sw.js index e71beec..fd0b563 100644 --- a/web/sw.js +++ b/web/sw.js @@ -1,7 +1,7 @@ /* Service Worker do Notas — caches versionados. * BUMP de CACHE em todo deploy que mude shell/assets (o activate limpa os antigos). */ -const CACHE = 'notas-shell-v3'; +const CACHE = 'notas-shell-v4'; const SHELL = [ '/', '/css/app.css',