Journal des modifications
Toutes les modifications notables de Scroll+ seront documentées sur cette page.
0.4.5
23 mars 2026
0.4.5
23 mars 2026Corrections de bugs pour l'inflation du temps de lecture et le contournement du temps de recharge de la roue de la fortune.
Corrigé
- Double comptage du temps de lecture - Correction du temps de lecture quotidien qui augmentait incorrectement à chaque réouverture de l'application. Le hook useLoadProfileData chargeait les sessions depuis AsyncStorage et dispatchait addSession() à chaque démarrage, causant une accumulation exponentielle des sessions. Le hook redondant a été supprimé
- Contournement du temps de recharge de la roue - Correction de la roue quotidienne qui允许 une nouvelle rotation avant l'expiration du délai de 24 heures. Le backend claimSpinReward retourne maintenant nextSpinAvailableAt dans tous les chemins de réponse. Le client n'utilise plus de fallback AsyncStorage séparé, s'appuyant uniquement sur Redux. Le gestionnaire d'erreurs échoue maintenant en sécurité au lieu d'échouer en ouvert
0.4.4
22 mars 2026
0.4.4
22 mars 2026Corrections de bugs critiques pour l'extraction de texte PDF sur les appareils physiques, résolvant la progression bloquée à 99% et les problèmes d'extraction vide.
Corrigé
- Extraction PDF bloquée à 99% - Correction de la boucle d'extraction qui ne se terminait jamais si les dernières pages n'avaient pas de contenu. La vérification hasContent ignorait la phase d'analyse, empêchant headingThreshold d'être défini
- Logique de la phase d'analyse - Déplacement de la vérification de la phase d'analyse avant la vérification hasContent pour s'assurer que headingThreshold est toujours défini à la page 15
- Mises à jour de la progression - La progression se met à jour maintenant pour TOUTES les pages (y compris les vides), pas seulement les pages avec du contenu
- Contournement du mode académique - Ajout de la vérification pdfMode !== "academic" dans handleBookPress pour empêcher la fausse alerte "le texte est en cours de préparation"
- Erreur de portée - Correction de l'erreur "completionSent is not defined" en déplaçant la variable dans la portée globale
- Journalisation de débogage - Ajout de la journalisation des statistiques d'extraction pour aider au diagnostic des problèmes sur les appareils physiques
0.4.3
22 mars 2026
0.4.3
22 mars 2026Introduction du mode académique PDF, une toute nouvelle expérience de lecture pour l'étude et la lecture approfondie, accompagnée de polissages UI et d'une refactorisation du confort visuel.
Ajouté
- Mode académique PDF - Un moteur de lecture entièrement nouveau spécifiquement conçu pour les PDF
- Zoom pincer natif - Activation des propriétés CSS touch-action natives du navigateur pour un zoom parfait en mode PDF académique
- Surlignages multicolores - Surlignages dynamiques multicolores appliqués via document.execCommand natif
- Suppression de surlignage - Appuyez sur les surlignages existants pour invoquer une boîte de dialogue de suppression
- UI minimaliste - Refonte du modal d'importation PDF en un design basé sur des cartes avec support i18n complet
Corrigé
- Rendu du confort visuel - Remplacement de la superposition de couleur plate par des filtres CSS natifs (sepia, contraste, luminosité) liés à EYE_COMFORT_CONFIGS, conservant les noirs profonds en mode sombre
- Menus de sélection - Correction des calculs incorrects de coordonnée Y pour la sélection de texte lorsque la barre d'en-tête est masquée
- Mode immersif - Ajout d'un écouteur global en un appui pour masquer de manière fluide les HUD de navigation
0.4.1
19 mars 2026
0.4.1
19 mars 2026Refactorisation interne, bump de version et corrections de bugs pour l'initialisation de l'application et les hooks des composants.
Modifié
- Point d'entrée de l'application - Déplacement d'App.tsx de src/App.tsx vers le répertoire racine, conforme à la convention Expo
- Initialisation de l'application - Ajout du wrapper PersistGate, apiClient.init() avant la synchronisation, vérification de sécurité verifyAppIntegrity() en production et nettoyage approprié au démontage
- Version - Passage à 0.4.1 (versionCode 23)
Corrigé
- Ordre des hooks DailySpinWheel - Déplacement de la définition de la fonction checkSpinAvailability avant son utilisation dans useEffect
- Import de test SyncService - Correction de l'import apiClient pour utiliser l'export par défaut avec la bonne structure de mock
0.4.0
18 mars 2026
0.4.0
18 mars 2026Refonte majeure de l'interface de lecture avec une nouvelle barre d'outils flottante HUDMenu, suppression du lecteur écran divisé et introduction du système de gamification central.
Ajouté
- Barre d'outils flottante HUDMenu - Refonte complète de feuille inférieure vers une barre d'outils flottante compacte avec 4 onglets basés sur des icônes (Typographie, Espacement, Mise en page, Affichage)
- Système de Gamification Central - Profils utilisateur, statistiques de lecture, suivi Nova et classements hebdomadaires
- Mode Compact RetroSlider - Nouveau prop compact pour une piste plus petite (8px) et un pouce (24px)
Modifié
- Animation HUDMenu - Remplacement du glissement vers le haut par fondu+échelle (200ms) pour une apparence plus fluide
- Positionnement HUDMenu - Maintenant positionné sous la barre supérieure via le prop topBarHeight au lieu d'être fixé en bas
- ReaderScreen - Mis à jour pour intégrer le nouveau HUDMenu avec le positionnement topBarHeight
- i18n - Renommage de "level" en "threshold" dans les paramètres régionaux de gamification turque
Supprimé
- Lecteur Écran Divisé - Suppression du composant SplitScreenReader et de l'UI en mode divisé de ReaderTopBar
0.3.0
17 mars 2026
0.3.0
17 mars 2026Correction critique du bug d'assignation d'avatar où les utilisateurs étaient affichés avec des mascottes de haut niveau incorrectes quel que soit leur niveau Nova réel.
Corrigé
- Correction Bug Assignation Avatar - Correction de getAvatarIdForNova() dans le frontend et le backend. Le tableau thresholds était trié par ordre décroissant tandis que MASCOT_AVATARS est trié par ordre croissant, ce qui causait une mauvaise correspondance des IDs d'avatar avec les mascottes
- Correction Base de Données - Toutes les valeurs avatarId des 39 utilisateurs ont été recalculées et corrigées
0.2.9
16 mars 2026
0.2.9
16 mars 2026Correction critique de bug pour la persistance de l'avatar entre les sessions de l'application.
Corrigé
- Bug d'affichage Avatar - Correction d'un problème où l'avatar sélectionné de l'utilisateur changeait de manière aléatoire vers un avatar incorrect au lancement de l'application. Le réducteur updateUserProfile filtre désormais les valeurs undefined des réponses du serveur, empêchant qu'elles n'écrasent les données d'avatar existantes
0.2.8
12 mars 2026
0.2.8
12 mars 2026Améliorations de lecture PDF écran divisé avec mode synchro et raffinement du système d'ID d'avatar.
Ajouté
- Mode Synchro Écran Divisé - Nouveau bouton de basculement de synchronisation pour le défilement synchronisé entre le visualiseur PDF et le texte extrait
- Synchronisation Page-vers-Défilement - Les changements de page PDF font défiler automatiquement le lecteur HTML vers la position correspondante
Modifié
- Logique ID Avatar - Simplifiée pour utiliser un index séquentiel (1-21) au lieu des valeurs de seuil Nova
- Performance - Ajout de React.memo et useCallback pour l'optimisation écran divisé
Corrigé
- Rendu Android - Le mode divisé utilise maintenant le type de couche logiciel pour WebView afin de prévenir les problèmes de rendu
0.2.7
9 mars 2026
0.2.7
9 mars 2026Améliorations de la barre d'onglets flottante avec support tablette et raffinement du système d'ID d'avatar.
Modifié
- Support Tablette - La barre d'onglets flottante s'adapte à la taille de l'écran : centrée avec largeur fixe (280px) sur tablettes, pleine largeur avec padding sur téléphones
- Taille Réduite - Hauteur de barre d'onglets réduite de 65px à 50px, taille d'icône de 32px à 24px
- Logique ID Avatar - Retour aux valeurs de seuil Nova pour une identification d'avatar cohérente entre les sessions
Corrigé
- Sélection Avatar - Les IDs d'avatar utilisent maintenant correctement les valeurs de seuil Nova assurant la persistance de l'avatar après redémarrage de l'application
0.2.6
7 mars 2026
0.2.6
7 mars 2026Correction du flash blanc du lecteur EPUB lors des transitions entre chapitres et résolution de l'avertissement de dépendance React.
Corrigé
- Transitions de chapitres EPUB - Élimination du flash blanc lors de la navigation entre chapitres en rendant le WebView hors écran jusqu'à ce que le contenu soit prêt
- Avertissement React - Correction de la dépendance manquante dans le hook useEffect de DailySpinWheel
0.2.5
6 mars 2026
0.2.5
6 mars 2026Refonte majeure de l'interface de lecture avec un mode de lecture immersif, une barre d'onglets flottante glassmorphism, un deep linking pour la conformité GDPR et des corrections critiques de bugs de gamification.
Ajouté
- Mode de lecture immersif - La barre d'onglets et l'en-tête se masquent automatiquement au défilement, touchez pour basculer les contrôles, synchronisation de la barre d'état
- Barre d'onglets flottante glassmorphism - Effets de flou natifs avec expo-blur, design moderne avec coins arrondis
- Deep Linking - Rappel de suppression de compte pour la conformité GDPR, déconnexion automatique lors de la suppression du compte
Modifié
- Multiplicateur de série en temps réel - L'affichage Nova inclut les bonus de série (1.0x - 2.5x)
- Bonus d'objectif hebdomadaire - Augmenté de 500 Nova à 10 000 Nova
- Persistance de la langue - La préférence de langue enregistrée est appliquée immédiatement au lancement de l'application
Corrigé
- Scintillement du modal - Le modal de montée de niveau ne réapparaît plus après sa fermeture
- Sélection d'avatar - Les IDs d'avatar utilisent maintenant les bons numéros séquentiels (1-21)
- Abus de double rotation - La roue quotidienne enregistre immédiatement l'horodatage pour empêcher les rotations multiples
- Suivi d'activité - Enregistre l'activité au début du défilement pour tous les lecteurs
0.2.4
5 mars 2026
0.2.4
5 mars 2026Correction critique de la logique de calcul des points Nova pour empêcher les scores incontrôlés.
Corrigé
- Correction de Fuite d'Intervalle - Résolu un bug majeur dans GamificationService.ts où plusieurs minuteurs pouvaient s'accumuler, entraînant des points Nova exponentiellement élevés (ex. 10k Nova pour 2 minutes)
0.2.3
5 mars 2026
0.2.3
5 mars 2026Formule de calcul Nova repensée avec une croissance linéaire basée sur le temps. Correction d'un bug critique où le défilement attribuait incorrectement des points Nova.
Modifié
- Refonte du Calcul Nova - Passage d'un calcul basé sur les pages à un calcul basé sur le temps : Ancienne formule : (pages × 10) + (minutes × 5) + 20. Nouvelle formule : Croissance linéaire par minute (10, 20, 30... jusqu'à 300 Nova/min à 30 min). Après 30 minutes : plafonné à 300 Nova par minute. Exemple : 30 min de lecture = 4 650 Nova (au lieu de valeurs imprévisibles)
Corrigé
- Bug Nova de Défilement - Corrigé les gains Nova incorrects lors du défilement des pages. Auparavant, chaque changement de position de défilement déclenchait recordPageRead(), provoquant une accumulation excessive de Nova
Supprimé
- xpService.ts inutilisé - Fichier de service backend obsolète supprimé qui n'était plus utilisé
0.2.2
4 mars 2026
0.2.2
4 mars 2026Se concentre sur la stabilité de la synchronisation, les performances améliorées et un suivi de gamification plus précis.
Ajouté
- Bouton de Synchronisation dans l'En-tête - Un bouton de synchronisation minimaliste et dédié dans l'en-tête avec une animation de rotation de pixels rétro
Modifié
- Tendance Hebdomadaire Nova - Le graphique tire maintenant des données journalières précises du serveur, y compris les points Nova gagnés du Quotidien
Corrigé
- Synchronisation Immédiate - Un problème potentiel de perte de données résolu ; les points de lecture sont maintenant synchronisés immédiatement à la fermeture du livre
- Hydratation en Arrière-plan - Amélioration de la persistance Redux pour assurer que les points locaux soient préservés jusqu'à une synchronisation réussie avec le serveur
- Correction de Sérialisation - Erreur 'Corps de requête invalide' résolue en ajoutant des horodatages manquants aux payloads de synchronisation
0.2.1
4 mars 2026
0.2.1
4 mars 2026Inclut une correction pour un bug lié au système de gamification Nova et de nouvelles améliorations d'interface ajoutées à l'écran Paramètres.
Ajouté
- Liens Écran Paramètres - Ajout de liens directs vers le site officiel (scroll.pics), la page Journal des modifications et la page Supprimer le compte dans le menu Paramètres de l'application
Corrigé
- Bug de synchronisation Nova - Corrigé une erreur de logique où les points Nova gagnés par les utilisateurs ayant laissé l'application ouverte et mis en pause la lecture étaient rejetés et supprimés en raison de règles anti-triche côté serveur trop strictes
0.2.0
3 mars 2026
0.2.0
3 mars 2026Cette version inclut la prise en charge des langues RTL, des améliorations de gamification, des améliorations de compilation Android et un renforcement de sécurité complet.
Ajouté
- Prise en charge des langues RTL - Gestion complète du texte de droite à gauche pour l'arabe, le persan, l'ourdou, l'hébreu et 6 autres langues RTL
- Roue Quotidienne - 8 segments de roue avec des récompenses Nova (100-5000), Protecteur de Série et Amplificateur XP
- Modal de Montée de Niveau - Nouvelles notifications de progression avec synchronisation backend
- Ciblage API 35 - Mis à jour vers le dernier SDK Android avec Kotlin 2.0.21
- Renforcement de Sécurité - Plus de 80 modifications de sécurité automatisées, dictionnaire ProGuard, épinglage de certificat
Modifié
- Améliorations du chargement EPUBReader pour empêcher le flash blanc
- Toutes les dépendances mises à jour vers les dernières versions
Corrigé
- Erreurs du Widget Champions Hebdomadaires résolues
- Fiabilité améliorée pour les importations EPUB/PDF
0.1.3
25 février 2026
0.1.3
25 février 2026Préparation du Google Play Store avec des corrections de bugs critiques.
Ajouté
- Plugin Expo Secure Store - Configuration pour le stockage sécurisé des tokens
- Améliorations du bundler Metro pour le développement
Modifié
- Incrémentation de version: 0.1.2 → 0.1.3
- Notes de version condensées de 16Ko à ~3Ko
Corrigé
- Correction regex critique - Débordement de pile résolu dans le traitement PDF
- Configuration de signature de publication corrigée pour Google Play
- Google Web Client ID migré vers une gestion basée sur la configuration
0.1.2
24 février 2026
0.1.2
24 février 2026Améliorations majeures de lecture PDF avec prise en charge de la visionneuse à écran divisé.
Ajouté
- Visionneuse PDF à Écran Divisé - Visualisez le PDF original et le texte extrait côte à côte avec synchronisation de défilement
- Pipeline OCR à 16 Phases - Extraction de texte PDF avancée avec détection de langue
- Système de Vérification d'Âge - Contrôle d'accès au contenu avec modal de bienvenue
- Rendu PDF natif avec react-native-pdf
- Corrections d'erreurs OCR spécifiques au turc
Modifié
- UI de gestion de profil améliorée
- Gestion améliorée du flux de connexion Google
Corrigé
- Améliorations multiples de la précision d'extraction de texte PDF
- Meilleure gestion des mises en page PDF complexes
0.1.1
22 février 2026
0.1.1
22 février 2026Renforcement de la sécurité, système de conception réactif et limites de fichiers augmentées.
Ajouté
- Système de Conception Réactif - Points d'arrêt pour téléphones, tablettes avec mise à l'échelle dynamique
- Configuration de sécurité réseau avec épinglage de certificat
- Logos d'écran d'accueil multi-résolution
Modifié
- Limite de taille de fichier PDF: 25Mo → 30Mo
- Limite de taille de fichier EPUB: 50Mo explicite
- Plus de 15 composants mis à jour pour un comportement réactif
Corrigé
- Protection contre les bombes ZIP pour les importations EPUB
- Protection contre la traversée de chemin
- Titres des listings de magasin mis à jour à la limite de 30 caractères
0.1.0
11 février 2026
0.1.0
11 février 2026Version initiale avec des fonctionnalités complètes de liseuse électronique et la gamification RPG rétro.
Ajouté
- Prise en charge EPUB - Analyse complète EPUB 2.0/3.0 avec thèmes, polices et mode confort visuel
- Prise en charge PDF - Extraction de texte paresseuse avec conversion markdown
- Système de Gamification - 21 niveaux d'avatar, roue quotidienne, séries, classements
- Contrôles de Typographie - Sélection de police, taille, hauteur de ligne, espacement des mots
- Système de Citations - Capturez, concevez et partagez des citations de livres
- UI Retro - Police pixel VT323, effets CRT, animations de lueur
- Authentification Google OAuth
- Gestion de bibliothèque avec grille visuelle de livres
- Prise en charge de plus de 67 langues avec gestion RTL
Historique des versions
| Version | Date | Accent |
|---|---|---|
0.4.5 | 2026-03-23 | Correction double comptage temps de lecture, correction temps de recharge de la roue |
0.4.4 | 2026-03-22 | Extraction PDF bloquée à 99%, suivi de progression, correction alerte mode académique |
0.4.3 | 2026-03-22 | Mode académique zoom, surlignages multicolores, corrections filtre confort visuel |
0.4.1 | 2026-03-19 | Refactorisation point d'entrée app, PersistGate, correction ordre hooks, correction import test |
0.4.0 | 2026-03-18 | Barre d'outils flottante HUDMenu, système de gamification, suppression écran divisé |
0.3.0 | 2026-03-17 | Correction bug assignation avatar, correction base de données |
0.2.9 | 2026-03-16 | Correction persistance avatar entre sessions |
0.2.8 | 2026-03-12 | Mode synchro écran divisé, raffinement ID avatar, performance |
0.2.7 | 2026-03-09 | Support tablette barre onglets flottante, taille réduite, correction ID avatar |
0.2.6 | 2026-03-07 | Transitions chapitres EPUB, correction avertissement React |
0.2.5 | 2026-03-06 | Mode immersif, UI glassmorphism, deep linking, corrections gamification |
0.2.4 | 2026-03-05 | Correction fuite intervalle, calcul Nova |
0.2.3 | 2026-03-05 | Refonte formule Nova, correction bug défilement |
0.2.2 | 2026-03-04 | Bouton synchronisation, correction tendance hebdo, stabilité hydratation |
0.2.1 | 2026-03-04 | Liens Paramètres, correction sync Nova |
0.2.0 | 2026-03-03 | Prise en charge RTL, API 35, renforcement sécurité |
0.1.3 | 2026-02-25 | Préparation Google Play, correction regex |
0.1.2 | 2026-02-24 | PDF écran divisé, OCR 16 phases |
0.1.1 | 2026-02-22 | Système réactif, sécurité |
0.1.0 | 2026-02-11 | Version initiale |