[S] SCROLL+Leia. Ganhe. Evolua.
52K NOVA
🔥7 DAY STREAK

Registo de alterações

Todas as alterações notáveis ao Scroll+ serão documentadas nesta página.

0.4.5

23 de março de 2026

Correções de bugs para inflação do tempo de leitura e bypass do cooldown da roda de girar.

Corrigido

  • Contagem Dupla do Tempo de Leitura - Corrigido o tempo de leitura diário a aumentar incorretamente sempre que a app era reaberta. O hook useLoadProfileData carregava sessões do AsyncStorage e fazia dispatch de addSession() em cada arranque da app, causando acumulação exponencial das sessões. O hook redundante foi removido
  • Bypass do Cooldown da Roda de Girar - Corrigida a roda de girar diária a permitir rotação adicional antes de expirar o cooldown de 24 horas. O backend claimSpinReward agora retorna nextSpinAvailableAt em todos os caminhos de resposta. O cliente já não usa um fallback AsyncStorage separado, dependendo apenas do Redux. O gestor de erros agora falha de forma fechada em vez de aberta

0.4.4

22 de março de 2026

Correções críticas de bugs para extração de texto PDF em dispositivos físicos, resolvendo progresso preso em 99% e problemas de extração vazia.

Corrigido

  • Extração PDF Presa em 99% - Corrigido o ciclo de extração a nunca completar se a(s) última(s) página(s) não tivessem conteúdo. A verificação hasContent estava a saltar a fase de análise, causando com que headingThreshold nunca fosse definido
  • Lógica da Fase de Análise - Movida a verificação da fase de análise antes da verificação hasContent para garantir que headingThreshold é sempre definido na página 15
  • Atualizações de Progresso - O progresso agora atualiza para TODAS as páginas (incluindo as vazias), não apenas para páginas com conteúdo
  • Bypass do Modo Académico - Adicionada verificação pdfMode !== "academic" no handleBookPress para prevenir falso alerta de "texto a ser preparado"
  • Erro de Escopo - Corrigido o erro "completionSent is not defined" ao mover a variável para o escopo global
  • Registo de Depuração - Adicionado registo de estatísticas de extração para ajudar a diagnosticar problemas em dispositivos físicos

0.4.3

22 de março de 2026

Introdução do Modo Académico PDF, uma experiência de leitura totalmente nova para estudo e leitura profunda, juntamente com melhorias de UI e refatoração do Eye Comfort.

Adicionado

  • Modo Académico PDF - Um motor de leitura completamente novo construído especificamente para PDFs
  • Pinch-to-Zoom Nativo - Propriedades CSS touch-action nativas do browser ativadas para zoom perfeito no Modo PDF Académico
  • Destaques Multicoloridos - Destaques multicoloridos dinâmicos aplicados via document.execCommand nativo
  • Eliminação de Destaques - Toque nos destaques existentes para invocar o diálogo de eliminação
  • UI Minimalista - O Modal de Importação PDF foi completamente redesenhado para um design baseado em cartões com suporte i18n completo

Corrigido

  • Renderização do Eye Comfort - Substituída a overlay de cor plana por filtros CSS nativos (sepia, contraste, brilho) vinculados ao EYE_COMFORT_CONFIGS, mantendo pretos profundos no Modo Escuro
  • Menus de Seleção - Corrigidos cálculos incorretos de coordenada Y para seleção de texto quando a barra de cabeçalho está oculta
  • Modo Imersivo - Adicionado um listener global de toque único para ocultar HUDs de navegação perfeitamente

0.4.1

19 de março de 2026

Refatoração interna, aumento de versão e correções de bugs para inicialização da app e hooks de componentes.

Alterado

  • Ponto de Entrada da App - Movido App.tsx de src/App.tsx para o diretório raiz, alinhado com a convenção do Expo
  • Inicialização da App - Adicionado wrapper PersistGate, apiClient.init() antes do sync, verificação de segurança verifyAppIntegrity() em produção, e limpeza adequada no unmount
  • Versão - Aumentada para 0.4.1 (versionCode 23)

Corrigido

  • Ordem dos Hooks do DailySpinWheel - Movida a definição da função checkSpinAvailability antes da sua utilização no useEffect
  • Importação de Teste do SyncService - Corrigida a importação do apiClient para usar a exportação predefinida com a estrutura mock correta

0.4.0

18 de março de 2026

Redesenho importante da interface de leitura com uma nova barra de ferramentas flutuante HUDMenu, remoção do leitor de ecrã dividido e introdução do sistema central de gamificação.

Adicionado

  • Barra de Ferramentas Flutuante HUDMenu - Redesenho completo de folha inferior para uma barra de ferramentas flutuante compacta com 4 separadores baseados em ícones (Tipografia, Espaçamento, Layout, Visualização)
  • Sistema Central de Gamificação - Perfis de utilizador, estatísticas de leitura, acompanhamento Nova e tabelas de classificação semanais
  • Modo Compacto RetroSlider - Novo prop compacto para pista mais pequena (8px) e polegar (24px)

Alterado

  • Animação HUDMenu - Substituição de slide-up por fade+scale (200ms) para aparência mais suave
  • Posicionamento HUDMenu - Agora posicionado abaixo da barra superior através do prop topBarHeight em vez de fixado na parte inferior
  • ReaderScreen - Atualizado para integrar o novo HUDMenu com posicionamento topBarHeight
  • i18n - "level" renomeado para "threshold" nos parâmetros regionais de gamificação turca

Removido

  • Leitor de Ecrã Dividido - Removido componente SplitScreenReader e interface de modo dividido de ReaderTopBar

0.3.0

17 de março de 2026

Correção crítica do bug de atribuição de avatar onde os utilizadores eram exibidos com mascotes de nível alto incorretos independentemente do seu nível Nova real.

Corrigido

  • Correção de Bug de Atribuição de Avatar - Corrigido getAvatarIdForNova() tanto no frontend como no backend. A matriz thresholds estava ordenada de forma descendente enquanto MASCOT_AVATARS está ordenada de forma ascendente, causando IDs de avatar para mapear para mascotes incorretas
  • Correção de Base de Dados - Todos os valores avatarId dos 39 utilizadores foram recalculados e corrigidos

0.2.9

16 de março de 2026

Correção crítica de bug para persistência de avatar entre sessões da aplicação.

Corrigido

  • Bug de Exibição de Avatar - Corrigido um problema onde o avatar selecionado do utilizador mudava aleatoriamente para um incorreto ao iniciar a aplicação. O redutor updateUserProfile agora filtra valores indefinidos das respostas do servidor, impedindo que sobrescrevam dados de avatar existentes

0.2.8

12 de março de 2026

Melhorias de leitura PDF ecrã dividido com modo de sincronização e refinamento do sistema ID de avatar.

Adicionado

  • Modo de Sincronização de Ecrã Dividido - Novo botão de alternância de sincronização para rolagem sincronizada entre visualizador PDF e texto extraído
  • Sincronização Página-para-Rolagem - Mudanças de página PDF rolam automaticamente o leitor HTML para a posição correspondente

Alterado

  • Lógica ID de Avatar - Simplificada para usar índice sequencial (1-21) em vez de valores de limite Nova
  • Performance - Adicionado React.memo e useCallback para otimização de ecrã dividido

Corrigido

  • Renderização Android - Modo dividido agora usa tipo de camada de software para WebView para prevenir problemas de renderização

0.2.7

9 de março de 2026

Melhorias na barra de separadores flutuante com suporte para tablet e refinamento do sistema ID de avatar.

Alterado

  • Suporte para Tablet - A barra de separadores flutuante adapta-se ao tamanho do ecrã: centrada com largura fixa (280px) em tablets, largura completa com preenchimento em telefones
  • Tamanho Reduzido - Altura da barra de separadores reduzida de 65px para 50px, tamanho de ícone de 32px para 24px
  • Lógica ID de Avatar - Revertido para usar valores de limite Nova para identificação consistente de avatar entre sessões

Corrigido

  • Seleção de Avatar - Os IDs de avatar agora usam corretamente valores de limite Nova garantindo persistência de avatar após reiniciar a aplicação

0.2.6

7 de março de 2026

Correção do flash branco do leitor EPUB durante transições de capítulos e resolução de aviso de dependência React.

Corrigido

  • Transições de Capítulos EPUB - Eliminado o flash branco ao navegar entre capítulos ao renderizar o WebView fora do ecrã até que o conteúdo esteja pronto
  • Aviso React - Corrigida a dependência em falta no hook useEffect do DailySpinWheel

0.2.5

6 de março de 2026

Reformulação importante da interface do leitor com modo de leitura imersivo, barra de separadores flutuante glassmorphism, deep linking para conformidade GDPR e correções críticas de bugs de gamificação.

Adicionado

  • Modo de Leitura Imersivo - Barra de separadores e cabeçalho ocultam-se automaticamente ao rolar, toque para alternar controlos, sincronização da barra de estado
  • Barra de Separadores Flutuante Glassmorphism - Efeitos de desfoque nativos com expo-blur, design moderno com cantos arredondados
  • Deep Linking - Callback de eliminação de conta para conformidade GDPR, fim de sessão automático ao eliminar conta

Alterado

  • Multiplicador de Série em Tempo Real - A exibição Nova inclui bónus de série (1.0x - 2.5x)
  • Bónus de Objetivo Semanal - Aumentado de 500 Nova para 10.000 Nova
  • Persistência de Idioma - A preferência de idioma guardada é aplicada imediatamente ao iniciar a app

Corrigido

  • Cintilação do Modal - O modal de subida de nível já não reaparece após ser dispensado
  • Seleção de Avatar - Os IDs de avatar agora usam números sequenciais corretos (1-21)
  • Abuso de Giro Duplo - A roda de girar diária guarda o carimbo de tempo imediatamente para prevenir múltiplas rotações
  • Rastreamento de Atividade - Regista atividade no início da rolagem para todos os leitores

0.2.4

5 de março de 2026

Correção crítica da lógica de cálculo de pontos Nova para prevenir pontuações incontroláveis.

Corrigido

  • Correção de Vazamento de Intervalo - Resolvido um bug importante no GamificationService.ts onde múltiplos temporizadores podiam acumular, levando a pontos Nova exponencialmente altos (ex. 10k Nova por 2 minutos)

0.2.3

5 de março de 2026

Fórmula de cálculo Nova redesenhada com crescimento linear baseado no tempo. Corrigido um bug crítico onde a rolagem incorretamente concedia pontos Nova.

Alterado

  • Redesenho do Cálculo Nova - Mudança de cálculo baseado em páginas para baseado no tempo: Fórmula antiga: (páginas × 10) + (minutos × 5) + 20. Nova fórmula: Crescimento linear por minuto (10, 20, 30... até 300 Nova/min aos 30 min). Após 30 minutos: limitado a 300 Nova por minuto. Exemplo: 30 min de leitura = 4.650 Nova (em vez de valores imprevisíveis)

Corrigido

  • Bug Nova de Rolagem - Corrigidos ganhos incorretos de Nova ao rolar páginas. Anteriormente, cada mudança de posição de rolagem acionava recordPageRead(), causando acúmulo excessivo de Nova

Removido

  • xpService.ts não utilizado - Removido arquivo de serviço backend obsoleto que não era mais usado

0.2.2

4 de março de 2026

Foca-se na estabilidade de sincronização, desempenho melhorado e acompanhamento de gamificação mais preciso.

Adicionado

  • Botão de Sincronização no Cabeçalho - Um botão de sincronização minimalista e dedicado no cabeçalho com animação de giro de pixel retro

Alterado

  • Tendência Semanal Nova - O gráfico agora puxa dados diários precisos do servidor, incluindo pontos Nova ganhos do Giro Diário

Corrigido

  • Sincronização Imediata - Corrigido um problema potencial de perda de dados; pontos de leitura agora são sincronizados imediatamente ao fechar o livro
  • Hidratação em Segundo Plano - Melhoria da persistência Redux para garantir que pontos locais sejam preservados até uma sincronização bem-sucedida com o servidor
  • Correção de Serialização - Resolvido erro 'Corpo de pedido inválido' adicionando carimbos de tempo ausentes aos payloads de sincronização

0.2.1

4 de março de 2026

Inclui uma correção para um bug relacionado com o sistema de gamificação Nova e novas melhorias de UI adicionadas ao ecrã Definições.

Adicionado

  • Links do Ecrã de Definições - Adicionados links diretos ao site oficial (scroll.pics), página Registo de alterações e página Eliminar conta no menu Definições da app

Corrigido

  • Bug de Sincronização Nova - Corrigido um erro de lógica onde os pontos Nova ganhos por utilizadores que deixaram a app aberta e pausaram a leitura foram rejeitados e eliminados devido a regras anti-batota do servidor demasiado rigorosas

0.2.0

3 de março de 2026

Esta versão inclui suporte a idiomas RTL, melhorias de gamificação, melhorias de compilação Android e endurecimento abrangente de segurança.

Adicionado

  • Suporte a Idiomas RTL - Processamento completo de texto da direita para a esquerda para árabe, persa, urdu, hebraico e 6 idiomas RTL adicionais
  • Roda da Sorte Diária - 8 segmentos da roda com recompensas Nova (100-5000), Protetor de Série e Amplificador de XP
  • Modal de Subida de Nível - Novas notificações de progresso com sincronização de backend
  • Alvo API 35 - Atualizado para o SDK Android mais recente com Kotlin 2.0.21
  • Endurecimento de Segurança - 80+ modificações de segurança automatizadas, dicionário ProGuard, fixação de certificados

Alterado

  • Melhorias de carregamento do EPUBReader para evitar flash branco
  • Atualizadas todas as dependências para as versões mais recentes

Corrigido

  • Erros do Widget de Campeões Semanais resolvidos
  • Melhorada fiabilidade para importações EPUB/PDF

0.1.3

25 de fevereiro de 2026

Preparação para Google Play Store com correções críticas de bugs.

Adicionado

  • Plugin Expo Secure Store - Configuração para armazenamento seguro de tokens
  • Melhorias do bundler Metro para desenvolvimento

Alterado

  • Atualização de versão: 0.1.2 → 0.1.3
  • Notas de versão condensadas de 16KB para ~3KB

Corrigido

  • Correção crítica de regex - Resolvido estouro de pilha no processamento de PDF
  • Configuração de assinatura de versão corrigida para Google Play
  • ID do cliente Web do Google migrado para gestão baseada em configuração

0.1.2

24 de fevereiro de 2026

Grandes melhorias de leitura de PDF com suporte de visualizador de ecrã dividido.

Adicionado

  • Visualizador PDF de Ecrã Dividido - Ver PDF original e texto extraído lado a lado com sincronização de rolagem
  • Pipeline OCR de 16 Fases - Extração avançada de texto PDF com deteção de idioma
  • Sistema de Verificação de Idade - Filtragem de conteúdo com modal de boas-vindas
  • Renderização nativa de PDF com react-native-pdf
  • Correções de erros OCR específicas para turco

Alterado

  • UI de gestão de perfil melhorada
  • Melhorada gestão do fluxo de início de sessão Google

Corrigido

  • Múltiplas melhorias de precisão de extração de texto PDF
  • Melhor gestão de layouts PDF complexos

0.1.1

22 de fevereiro de 2026

Endurecimento de segurança, sistema de design responsivo e limites de ficheiros aumentados.

Adicionado

  • Sistema de Design Responsivo - Pontos de interrupção para telefones, tablets com escalamento dinâmico
  • Configuração de segurança de rede com fixação de certificados
  • Logótipos de ecrã de arranque em múltiplas resoluções

Alterado

  • Limite de tamanho de ficheiro PDF: 25MB → 30MB
  • Limite de tamanho de ficheiro EPUB: explícito 50MB
  • 15+ componentes atualizados para comportamento responsivo

Corrigido

  • Proteção contra bombas ZIP para importações EPUB
  • Proteção contra travessia de caminho
  • Títulos de listagem de loja atualizados para o limite de 30 caracteres

0.1.0

11 de fevereiro de 2026

Lançamento inicial com funcionalidades abrangentes de e-leitor e gamificação RPG retro.

Adicionado

  • Suporte EPUB - Análise completa EPUB 2.0/3.0 com temas, fontes e modo de conforto visual
  • Suporte PDF - Extração de texto preguiçosa com conversão markdown
  • Sistema de Gamificação - 21 níveis de avatar, roda da sorte diária, séries, tabelas de classificação
  • Controlos Tipográficos - Seleção de fonte, tamanho, altura de linha, espaçamento de palavras
  • Sistema de Citações - Capture, desenhe e partilhe citações de livros
  • UI Retro - Fonte pixel VT323, efeitos CRT, animações de brilho
  • Autenticação Google OAuth
  • Gestão de biblioteca com grelha visual de livros
  • Suporte a 67+ idiomas com processamento RTL

Histórico de versões

VersãoDataFoco
0.4.52026-03-23Correção contagem dupla tempo de leitura, correção cooldown roda de girar
0.4.42026-03-22Extração PDF presa em 99%, rastreamento de progresso, correção alerta Modo Académico
0.4.32026-03-22Modo Académico Zoom, Destaques multicoloridos, correção filtro Eye Comfort
0.4.12026-03-19Refatoração entrada da app, PersistGate, correção ordem hooks, correção importação teste
0.4.02026-03-18Barra de ferramentas flutuante HUDMenu, sistema de gamificação, remoção ecrã dividido
0.3.02026-03-17Correção bug atribuição avatar, correção base de dados
0.2.92026-03-16Correção persistência avatar entre sessões
0.2.82026-03-12Modo sincronização ecrã dividido, refinamento ID avatar, performance
0.2.72026-03-09Suporte tablet barra separadores flutuante, tamanho reduzido, correção ID avatar
0.2.62026-03-07Transições capítulos EPUB, correção aviso React
0.2.52026-03-06Modo imersivo, UI glassmorphism, deep linking, correções gamificação
0.2.42026-03-05Correção vazamento intervalo, cálculo Nova
0.2.32026-03-05Redesenho fórmula Nova, correção bug rolagem
0.2.22026-03-04Botão sincronização, correção tendência semanal, estabilidade hidratação
0.2.12026-03-04Links definições, correção sincronização Nova
0.2.02026-03-03Suporte RTL, API 35, endurecimento segurança
0.1.32026-02-25Preparação Google Play, correção regex
0.1.22026-02-24PDF ecrã dividido, OCR 16 fases
0.1.12026-02-22Sistema responsivo, segurança
0.1.02026-02-11Lançamento inicial