Mini Verbigem — histórico de alterações
As versões mais recentes e o que mudou em cada uma.
v1.0.732026-09-12) — versionCode 73
Verificação do endereço de e-mail no cadastro (fechando a brecha).
- Contas criadas com e-mail+senha precisam confirmar o endereço antes de entrar no aplicativo.
- A barreira de navegação (
RequireAuth) encaminha a conta não verificada para a tela de verificação; o Google e o telefone a contornam. - Depois de clicar no link do e-mail, o usuário toca em “Verificar de novo” →
reload() → entra no aplicativo. - 10 novos textos
emailVerify.* adicionados em 6 idiomas (PL, EN, DE, ES, ZH, TR).
v1.0.482026-09-08) — versionCode 49
O status PRO agora é calculado, e não gravado de forma fixa.
- Uma conta é PRO somente quando uma das duas condições é atendida: uma compra ativa de remoção do banner (
noAdsUntil no futuro) OU saldo da carteira > 0. - Quando o
noAdsUntil expira com a carteira zerada, a conta volta para Free (por exemplo, via billUser após o consumo dos créditos). O campo plan gravado é apenas informativo. - O motor “preciso” (HY-MT) é desbloqueado para qualquer status PRO — inclusive com a carteira vazia (só o noAds). Para contas Free, ele continua inativo.
- Vale para a web (
isProAccess) e o Android (UserProfile.isPro).
v1.0.40v1.0.46 (2026-09-06 → 2026-09-08) — versionCode 41–47
Entradas agrupadas reconstruídas a partir do histórico do repositório (os detalhes
por versão do aplicativo Android estão em /android/changelog.html).
- Página “Novidades” em 6 idiomas —
/changelog.html e /android/changelog.html gerados a partir do CHANGELOG.md (PL = fonte canônica) + links na landing page. Removido o link para o GitHub Releases (repositório privado). - App Links:
assetlinks.json com autoVerify para mini.verbigem.com. - Versionamento consistente com o site: versão e URL do APK mantidos no
vite.config.ts, a landing page lê /updates/version.json; o link “Baixar o aplicativo” e /download/android apontam para o arquivo atual. O APK é copiado para dist/android/ a cada build. - Tradução online: o modelo escolhido (DeepSeek / Gemini / Claude) é encaminhado ao OpenRouter, com preço por modelo e cobrança conforme o
usage.cost real +10% de margem — sem preços fixos no código. Também disponível com sua própria chave do OpenRouter (modelos gratuitos). - Pagamentos Paddle: Cloud Function
createCheckout para recarregar a carteira; chave de ambiente PADDLE_ENV (sandbox / production). As funções foram movidas para a região us-central1 (de acordo com o projeto) — isso corrigiu os erros das traduções pagas e das recargas. - Páginas legais: Termos / Reembolsos / Contato + links no rodapé e cabeçalhos de cache.
- Login: ida imediata para
/app após o Google, splash até o primeiro callback de autenticação, verificação de versão funcionando em sessões vindas de redirect. - BottomNav: 5 ícones com caminhos corretos (prefixo
/app).
v1.0.472026-09-08) — versionCode 48
Pagamentos Paddle em produção (LIVE) + conta PRO após a compra de “Sem anúncios”.
- “Sem anúncios” = pré-pagamento único, não assinatura. Quatro pacotes: $1 · 1 mês, $3 · 3 meses, $5 · 5 meses, $10 · 10 meses. Você paga uma vez e nada se renova sozinho.
- Após a compra, a conta passa ao status PRO 💎 — o webhook
transaction.completed agora também define plan: 'pro' (antes definia só o noAdsUntil, e por isso alguns recursos Pro na web ainda viam a conta como Free). - O cartão de status da conta mostra sempre o saldo da carteira (inclusive 0.00, quando a carteira nunca foi recarregada — “Sem anúncios” não adiciona créditos) e o contador de dias até os anúncios voltarem.
- Os preços LIVE no catálogo da Paddle estão embutidos em
src/billing/paddleConfig.ts e em functions/index.js; o checkout funciona no domínio mini.verbigem.com.
v1.0.392026-09-05) — versionCode 40
Primeira marcação oficial de versão do repositório Mini Verbigem (tradutor enxuto do ecossistema Verbigem — mini.verbigem.com).
Novidades
- Dois modos de tradução
- Modo local (Conversa): duas pessoas, um aparelho, tradução alternada nos dois sentidos + auto-TTS.
- Modo remoto (Bate-papo): busca de usuários, convites, bate-papos 1:1 em tempo real (Firestore
onSnapshot), tradução antes do envio.
- Motores locais (offline, no aparelho)
- Rápido: Qwen3-0.6B q4; preciso: HY-MT1.5-1.8B q4 (WebGPU → fallback WASM).
- Barreira de download do modelo exatamente uma vez, sem nomes de modelos na interface.
- Camada Pro
- Seletor de motor: rápido / preciso / ambos / API online (DeepSeek).
OnlineEngine via proxy server-side de Cloud Function — a chave de API fora do cliente, contador de tokens, margem de 10%.- OCR: Tesseract.js (Free) + DeepSeek Vision (Pro).
- Pagamentos Paddle MoR desde o primeiro dia: banner de $1/mês (remoção de anúncios) + carteira pré-paga de API ($3/$5/$10); webhook de fulfillment funcionando de ponta a ponta.
- Conta: e-mail/senha + Google (Firebase Auth), perfil (apelido, avatar, idiomas, plano
free/pro, carteira). - Landing page com AuthModal, seções Features/Pricing/Download e URL do APK dinâmica a partir de
/android/version.json. - i18n pl/en (os outros 4 idiomas caem no EN); versionamento + kill-SW — recarga forçada quando a versão é mais antiga.
- Regra de fluxo de trabalho: após cada edição maior de código — atualizar o README +
git push.