novidadesv4 oxicore

Novidades » Junho 2026

Início › Junho de 2026

Junho foi o mês de nascimento do Slide Viewer: as apresentações da V4 passaram a viver num link, e não num PDF anexado.

O que mudou para você

  • oxiviewApresentações num link

    Upload de decks, pastas, busca, contagem de slides, links públicos de compartilhamento com viewer isolado, tela cheia e acesso protegido por Cloudflare Access.

    Na prática: Mandar uma apresentação para o cliente é mandar um link que abre no celular, com a marca da V4.

O que veio em julho de 2026

Detalhamento por sistema

Item a item, com link para a mudança no código. Clique num sistema para filtrar.

Novidades V4 Oxicore Junho 2026 #release notes 6 novidades · 9 correções

Slide Viewer

oxiview · view.v4oxicore.app.br ↗ · 6 novidades · 9 correções

2. Baseline F0 — frontend completo + fidelidade de marca V4 Novidade

Decks & conteúdo · 14/06/2026 · commit 75eaec0 ↗

Scaffold F0 do Slide Viewer (Next.js 15 App Router + TS + Tailwind v4), com todas as rotas mockadas, design system V4 portado e expressão fiel da marca. Sem auth/Supabase/upload reais (entram no F1).

3. Implement phase 5 hardening Novidade

Acesso & permissões · 14/06/2026 · commit 8553ca1 ↗

Endurecimento de segurança da fase 5: cabeçalhos, CSP e validações antes do uso amplo.

4. Backend Supabase + auth Cloudflare Access + middleware JWT Novidade

Acesso & permissões · 14/06/2026 · commit 88a9356 ↗

Backend em Supabase com autenticação por Cloudflare Access e validação de JWT no middleware.

5. Upload + listagem + pastas + busca Novidade

Decks & conteúdo · 14/06/2026 · commit aa32c05 ↗

Upload de decks, listagem, organização em pastas e busca por nome.

6. Contar slides no upload e persistir slide_count Novidade

Decks & conteúdo · 14/06/2026 · commit b33ea65 ↗

Parseia <section> no HTML durante o upload (funciona para Reveal.js e maioria dos exporters standalone). Persiste em decks.slide_count para exibir contagem real no card em vez de '?'.

7. Suprimir hydration mismatch de data e thumbnails no fullscreen Correção

Decks & conteúdo · 14/06/2026 · commit 11589cf ↗

suppressHydrationWarning em DeckCard: formatDate usa toLocaleDateString que varia por timezone (servidor UTC vs. cliente UTC-3) causando #418.

8. Aceitar nomes com acentos e Unicode no validador Correção

Decks & conteúdo · 14/06/2026 · commit 2e2bbff ↗

Trocou whitelist ASCII-only por blacklist de caracteres realmente perigosos (path traversal, null bytes, chars de controle, simbolos reservados Windows). Corrige rejeicao incorreta de arquivos com nomes em portugues (ex: "Proposta Estrategica TUM.html") que retornavam 422 unsafe_filename.

9. Allow public share deck assets under CSP Correção

Decks & conteúdo · 14/06/2026 · commit 3c2eba9 ↗

10. Remover inset:unset que sobrescrevia top/left no fullscreen Correção

Decks & conteúdo · 14/06/2026 · commit 453b310 ↗

11. CSS !important + shim matchMedia para suprimir thumbnails no fullscreen Correção

Decks & conteúdo · 14/06/2026 · commit 4910f60 ↗

Dois layers de defesa: 1. CSS .viewer-stage[data-presenting] iframe com !important e variaveis CSS garante especificidade maxima sobre a regra inset:0;width:100% existente. 2. Script shim injetado no HTML do deck intercepta matchMedia(/fullscreen/) e document.fullscreenElement para que o deck nunca detecte fullscreen.

12. Servir conteudo real do deck a partir do Storage Correção

Decks & conteúdo · 14/06/2026 · commit 59234fb ↗

Cria GET /api/decks/[id]/content: busca storage_path no DB, faz download server-side do Supabase Storage (RF19 - sem getPublicUrl) e serve o HTML com os mesmos security headers do /raw (connect-src none, sandbox opaco).

13. Suprimir miniaturas no fullscreen; corrigir hydration error #418 Correção

Decks & conteúdo · 14/06/2026 · commit 71f0351 ↗

14. Relaxar CSP para blob: em decks standalone Correção

Decks & conteúdo · 14/06/2026 · commit a0fb6e5 ↗

Apresentacoes standalone embeddêm fontes, imagens e scripts como blob: URLs (origem null/opaca no iframe sandboxado). Adiciona blob: em default-src, script-src, style-src, img-src e font-src.

15. Remover postMessage + fixar viewport 900x506 no fullscreen Correção

Decks & conteúdo · 14/06/2026 · commit e0b7110 ↗

O postMessage {type:deckstage:present,value:true} provavelmente ativava o painel de miniaturas do deck. Removido.