Changelog - 24/05/2026
Semana 18–24/05 — Álbum v2 portado e endurecido
- Substituição integral do módulo pela v2 —
a079bcfabtrocaapp/components/album/**pela versão v2 do drop-in: subdiretórioshare/novo (15 arquivos) com pipeline de compartilhamento social por figurinha, URL canônica, card de OG safe pra Satori e helpers de UTM; três componentes novos (CheckinSuccessModal,MissionTypeChoiceModal,PackSummaryPhase);StickerCardeStickerRevealStackextraídos como reusáveis; check-in consolidado emCheckInStatecom dois tipos de claim (diário e de conclusão); e a novidade estrutural — trilhas duplas (casinoMissions/sportbookMissionsmaismissionType, um gate bloqueante de escolha no primeiro acesso). O hook público passa a seruseAlbumProgress;useProgressSync,CheckInTiereAlbumBootstrap.checkInDayssaem do contrato. - Handshake de auth próprio, server-side —
7644499ec. O BFF do álbum exige fluxo de auth distinto do JWT do cookie HttpOnly do host:POST {STICKER_API_URL}/auth/tokencom{ encryptedUserId, brandId, campaign }devolvendo{ accessToken, tokenType, expiresAtUtc }, eAuthorization: Bearerem todas as demais chamadas. A versão anterior passava o JWT do cookie direto, o que não funcionava contra o BFF real.loadAlbumBootstrapagora faz o handshake antes doPromise.allde endpoints e retornanullquando ele falha — feature degradada em silêncio em vez de rota quebrada.459b1b0d5adiciona cache de token cross-request efd8690a9bprojeta oapiCampaignno servidor antes de mandar pro client. - Auditoria de porte com 53 achados —
3a2a0eab6compara a v2 portada contra o harness do sticker-book, o Swagger oficial do BFF e os contratos consumidos pelo módulo: 19 críticos, 31 médios, 3 baixos. Os commits seguintes endereçam os 19 críticos — entre elesff17d4230(sincronizarstate.checkIna partir dedata.checkInapós refetch),d78a718a9(blindarloadAlbumPageDatacontra throws inesperados),def9b3f41(gatear o polling de 60s emdocument.visibilityState),9066c2284(alinhar os handlers de rota ao Swagger) e819b5dd03(adapters de mutação, retry de 401, tipos de API compartilhados). - Kill-switch por marca e gating de acesso —
93b3d1312criaalbumConfig.enabledfail-closed: o código fica disponível pra todas as marcas mas só executa pra quem declaraenabled: trueexplicitamente, com guard no loader de/vip/albumque redireciona pra home antes de qualquer chamada ao BFF. Só o 7k liga.72bf89007adiciona modo preview, splash, gating de feature flag, entrada de sidebar e endurecimento de cache;b7157c1e6esconde a entrada pra usuário deslogado;a13218eaefaz o deslogado fechar pelo X e pelo backdrop em vez de abrir login. - Missões vindas do Smartico e do BFF, mescladas por id —
dc868194fpassa a carregar "Suas Missões" da seçãoALBUM_FIGURINHASdo Smartico,07672c7aecai em todas as missões quando a seção não existe,0d0fed93emescla Smartico e BFF por id e8dca06afdremove/users/me/missions(deprecado — o Smartico é autoritativo). - Renderização de flip-book e polimento visual —
b64d23165(capa centralizada, tag de faixa de páginas,backgroundImageUrl),7b84ca712(continuidade do flip: fatia da lombada, imagem de curl, lombada antecipando o BACK),746803a4c(tap-to-flip nas bordas),bac022447(thresholds assimétricos de commit FORWARD/BACK),253ed4f2e(watermark central nos cards travados),b0a8d3c51/bc9f28802(dimensões, centralização e escalas proporcionais no mobile).d392f4072fecha a semana com a LP de compartilhamento, download de composição e preview anônimo. Testes emc26c5af85,ad332e995e9340a8888cobrem handshake, orquestração, os seis endpoints/api/album/*e os gates de degradação do loader. - Chaves
album.*de i18n foram adicionadas como overrides do host em vez de irem pro core (e251c0d09), e8d78a79d7troca nomes de placeholder por versões neutras na config base.