fix(pwa): fluxo de instalação também no Firefox (sem beforeinstallprompt)
- Detecção por propriedade ('onbeforeinstallprompt' in window) — evento é
exclusivo de Chromium; Firefox/Safari nunca o disparam (nem 'appinstalled')
- Firefox: item 'Instalar Aplicativo…' sempre visível (fora de standalone) e
abre modal com instruções por plataforma — Android (menu ⋮ → Instalar),
Windows 143+ (fixar na barra de tarefas), Linux/macOS (sem instalação
nativa; app pleno em aba/offline)
- Escondido em standalone via display-mode (Firefox também o reporta)
- sw.js: bump CACHE para notas-shell-v2 (shell novo)
- README: matriz de compatibilidade por navegador
- Testado: Chromium (prompt real), Firefox-Win UA (modal taskbar),
Firefox-Android UA (modal menu), Chromium sem BIP (item escondido)
This commit is contained in:
1 parent
18d33ed141
commit
650229bdb4
3 files changed
+70
-19
No files matched your search
@@ -244,6 +244,21 @@ do navegador e atalho de área de trabalho "Nova nota" (`/?new=1`).
|
||||
- **Offline UX**: shell + interface funcionam sem rede; ações que precisam do servidor mostram
|
||||
toast claro ("Sem conexão — o app abre offline; salvar precisa do servidor").
|
||||
|
||||
### Compatibilidade de instalação por navegador
|
||||
|
||||
| Navegador | Service Worker / offline | Instalação | Botão "Instalar Aplicativo…" |
|
||||
|---|---|---|---|
|
||||
| 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 |
|
||||
| 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**
|
||||
dispara em Firefox/Safari — MDN), então no Firefox o item do menu sempre aparece e mostra o
|
||||
passo a passo da plataforma; em standalone (app instalado) o item se esconde sozinho via
|
||||
`display-mode: standalone`, que o Firefox também reporta.
|
||||
|
||||
### Servindo os arquivos (backend Go atual)
|
||||
|
||||
Já implementado em `internal/api/server.go` (`staticHandler`):
|
||||
|
||||
Reference in new issue
Block a user