Pular para o conteúdo principal

4 publicações com a etiqueta "ftd"

Ver todas as etiquetas

Changelog - 31/05/2026

Semana 25–31/05 — Governança: CODEOWNERS em todo repo + gate de autorização de deploy

  • CODEOWNERS chega a todos os repositórios de front045206ec2 no front-web-base, e93a938 no front-cactus-core, 296deb8 no front-ops, 333c4f3 no front-tests-e2e, da59ea2 no front-service-api e dfd3af6 no front-service-api-dev-proxy. A regra default é * apontando pro time de codeowners de front — qualquer arquivo do repositório passa a exigir review de quem está no time, e adicionar codeowner virou uma mudança de membro de team no GitHub em vez de edição de arquivo.
  • .github/ endurecido com owners explícitos848c853a6. A ownership default segue no time, mas .github/ (workflows e o próprio CODEOWNERS) passa a exigir aprovação nominal de dois owners específicos. A justificativa está no commit: arquivos de governança não deveriam ser mergeáveis só porque qualquer membro do time aprovou — uma aprovação futura maliciosa ou distraída bastaria pra neutralizar a proteção. A sintaxe é gitignore-like com last-match-wins: a regra mais específica abaixo substitui a default acima, não faz união.
  • Gate de autorização para workflow_dispatch de deploy — front-ops 5dbdcb5 adiciona o campo opcional deploy_protection.required_team no deploy.yml de cada ambiente. Quando presente, deploys manuais via workflow_dispatch naquele ambiente ficam restritos a membros do time nomeado; push (auto-deploy) nunca é gateado por esse campo e continua disparando exatamente como antes. A implementação consulta GET /orgs/.../teams/.../memberships/<actor> com um token que passou a carregar read:org, e falha rápido com erro linkando o time. Aplicado aos 13 ambientes de produção do web-base — todos sem prefixo stage-/dev-/performance-, menos os dois ambientes internos.
  • Gate movido pro job check3d645e8 (mais o gêmeo ee5751e) reposiciona a verificação: o gate é uma pré-condição, como a checagem de elegibilidade de auto-deploy que já existia, então pertence ao job que valida inputs e resolve config. O ganho concreto é a forma da falha na UI — vira check ❌ → deploy skipped em vez de check ✅ → deploy ❌, que sugeria falsamente que o deploy tinha sido tentado. Sem mudança de comportamento: mesmo schema de campo, mesmas checagens, mesmas mensagens de erro.

Changelog - 04/05/2026

Jornada FTD — Refatoração Completa e Novas Brands

  • D0 e D1 desacoplados — antes, ativar o template vera-legacy do D0 (cashback) ligava implicitamente o modal de anúncio do D1 (check-in). Agora cada brand habilita as três etapas independentemente: ftdCashback.enabled, ftdCheckin.enabled e a flag nova ftdCheckin.announcement.enabled. Quatro combinações possíveis — só D0, só D1, ambos ou nenhum.
  • Copy e assets configuráveis por brand no template vera-legacyFtdCashbackConfig ganhou copy.{firstBonusToastTitle,cashbackModalTitle,cashbackModalDescriptionHtml,cashbackModalCtaText} + templateAssets.{firstBonusToastImage,cashbackModalImage}. FtdCheckinConfig ganhou announcement.copy.{title,descriptionHtml,ctaText} + templateAssets.image. Todos opcionais — fallback é o copy PT-BR + CDN da Vera (zero regressão).
  • 16 tokens de tema novos para o template e o toastftd-offer.template-{shell-bg,title-text,title-shadow,image-bg-from,image-bg-to,highlight-bg,highlight-border,highlight-text,cta-bg,cta-text} e ftd-offer.toast-{bg-from,bg-to,border,icon-bg-from,icon-bg-to,icon-border}. FtdOfferModalTemplate e FtdOfferInGameToast agora leem essas cores via CSS custom properties inline (Tailwind JIT não consegue gerar classes a partir de tokens dinâmicos).
  • 7k-bet-br ativa a jornada completa — D0 cashback, D1 check-in (com modal de anúncio "Garanta sua diversão!") e oferta-relâmpago pré-FTD, todos via template unificado. Quatro assets brand-specific da CDN do 7k substituem os fallbacks da Vera (toast, modal cashback, anúncio D1 e modal de oferta).
  • cassino-bet-br ativa a jornada completa — paleta + assets próprios, brand_id: 2 no Dark Verifier/Freedom (paridade com useFtdCashback.ts:52 do legado), kill-switches feFtdD0Cassino / feFtdD1Cassino, tabela bonusTiers de 35 níveis portada verbatim do legado (R$ 5 → R$ 3000+, cap em R$ 800), autoDepositModal abre o drawer de depósito automaticamente no login quando saldo ≤ R$ 0,10. Inclui lista de jogos elegíveis em cashback/eligible-games.ts.
  • cl-bet7k-com ativa D0 + D1 com identidade chilenabrandId: 4, kill-switch feFtdD07KCl (compartilhado D0/D1), tabela bonusTiers de 11 níveis em CLP (CLP 850 → CLP 510 000, cap CLP 136 000), 6995 IDs elegíveis portados 1:1 do legado, copy em espanhol chileno ("¡Sigue jugando para ganar un cashback!"). Moeda renderiza sem decimais ($50.000) via useFormatMoney() + CountryConfig.displayDecimalDigits. D1 começa desabilitado no primeiro rollout.
  • STT 2 (saldo bônus) com kill-switch remotosaldoBonus.featureFlags?: { legacy?, configcat? } permite desligar a STT 2 instantaneamente via ConfigCat ou FF legado sem deploy. O hook useFtdCashbackFlow computa saldoBonusRemoteKillSwitchPass (closed-by-default enquanto a API está em voo, mesma semântica do D0/D1). Cassino declara feFtdSaldoBonus + feFtdSaldoBonusCassino.

Changelog - 02/05/2026

Dia pesado: 30 PRs no front-web-base + 4 PRs no front-cactus-core. Destaques: revamp completo da gamificação 7k (cards de missão/torneio + modal), portabilidade massiva da personalização da vera-bet-br (paridade visual com legado), fluxo FTD completo da Vera (oferta, cashback, autoDeposit, check-in), polimentos visuais da cassino-bet-br e correções de Proteção de Conta.

Gamificação — Revamp 7k

  • Cards de missão e torneio completamente revisados nas variantes classic e stacked para 7k-bet-br/fi-7k-bet/ng-7k-bet, com novos visuais, badges de status e progresso refinado.
  • Modal de detalhe da missão (MissionDetailModal) ganhou layout novo com seção de prêmios, regras de elegibilidade e CTA de inscrição/reivindicação.
  • Tela de torneio (tournaments.$id.tsx) reescrita: novo TournamentHero, RegistrationCTA com estados expandidos, TournamentStatsCarousel e tournament-internals consolidados.
  • LevelsSection ajustada e página vip/levels.tsx reorganizada para refletir a hierarquia de níveis VIP do 7k.
  • Smartico Initializer atualizado para integrar com o novo fluxo de claim e pending_claim exposto pelo SDK.
  • Configs de brand (gamification.ts, widgets/mission-card.ts, widgets/tournament-card.ts) propagadas nos três overrides 7k para refletir o novo visual.

Changelog - 01/05/2026

FTD Onboarding — três fluxos novos consolidados (stage-ftd)

Maior entregável do dia. A branch stage-ftd aterrissou três fluxos completos de retenção/conversão D0, todos brand-configuráveis e cobertos por testes:

  • FTD Offer ("Oferta Relâmpago") — modal + floating widget + story thumb com Quick Deposit embutido. Componentes em app/components/ftd-offer/ (Provider, Modal, FloatingWidget, StoryThumb), storage isolado por marca em ftd-offer-storage.ts e analytics em ftd-offer-analytics.ts.
  • FTD Cashback — fluxo D0 com modal de oferta inicial (FtdCashbackFirstModal), modal de prêmio (FtdCashbackPrizeModal), Provider, dev panel, scaffolding de tiers (ftd-cashback-tiers.ts) e persistência local (ftd-cashback-storage.ts). Testes cobrem storage e cálculo de tiers.
  • FTD Check-in — daily check-in com mock fixture, logs diagnósticos, special offers, label "done today" e kill switch via feature flag remota da brand 7k (feat/ftd-checkin-7k-feature-flags). Componentes Checkin, CheckinTrigger, CheckinStoreOffers.
  • Loop de reabertura corrigidouseFtdCashbackFlow ganha guard pra não reabrir o first-modal logo depois do close (PR #485, fix/ftd-cashback-first-modal-loop).