| Age | Commit message (Collapse) | Author |
|
En particulier pour stocker le numéro de version de FreshRSS utilisé
entre autres par https://github.com/marienfressinaud/FreshRSS/issues/174
et centraliser les constantes de chemins
Implémente https://github.com/marienfressinaud/FreshRSS/issues/271
|
|
Exemple : `FreshRSS/0.7 (Linux;
http://marienfressinaud.github.io/FreshRSS/) SimplePie/1.3.1`
Voir https://github.com/marienfressinaud/FreshRSS/issues/271 pour le
numéro de version
|
|
|
|
* Mise en cache du nombre d'articles lus et non-lus par flux, via
`f.cache_nbEntries, f.cache_nbUnreads` pour de biens meilleures
performances
* Implémente https://github.com/marienfressinaud/FreshRSS/issues/268
* Révision de la plupart des requêtes de modification en conséquence
* En cas d'affichage `not_read`, évite de faire une requête si on sait
déjà qu'il n'y a pas d'article non lu et fait directement un affichage
`all`.
* Appelle `cleanOldEntries` seulement une fois de temps en temps
aléatoirement (1 fois sur 30 actuellement) pour économiser les
ressources, et avant les insertions pour plus de robustesse.
* Utilisation des transactions lors de mises à jour multiples et liées
* Lors de requêtes de modifications, retourne le nombre de lignes
impactées plutôt qu'un booléen en cas de succès
* Suppression de code oublié relatif à is_public qui n'est plus utilisé
|
|
Corrige https://github.com/marienfressinaud/FreshRSS/issues/267
|
|
|
|
https://github.com/marienfressinaud/FreshRSS/issues/263
Style à améliorer éventuellement
|
|
Le texte dans la base de données est en htmlspecialchars(UTF-8)
(c'est-à-dire avec `<>&'"` encodés) mais maintenant sans autre entité
HTML depuis
https://github.com/marienfressinaud/FreshRSS/commit/a4fc7becb8553198d132633d775989c89c8116cd
Ce patch supprime les htmlspecialchars qui faisaient du double-encodage,
et en modifie d'autres en entrée.
|
|
Optimisation de la vitesse de quelques requêtes, surtout après les
essais d'INDEX.
Suite de https://github.com/marienfressinaud/FreshRSS/issues/254
Note pour plus tard : il faudra supprimer les INDEX inutilisés.
|
|
* Suppression de requêtes inutiles en utilisant mieux les données déjà
reçues.
* Change la signature de `CategoryDAO->listCategories ($prePopulateFeeds
= true, $details = false)` pour ne pas charger de détails inutiles pour
la vue principale (comme feed.description, feed.url...).
* C'est la requête la plus importante.
Suite de https://github.com/marienfressinaud/FreshRSS/pull/180
|
|
|
|
D'autres changements de types, toujours sans modification de
comportement, mais plus efficace.
En particulier char(6) plutôt que varchar(6) pour les identifiants en
attendant un entier, et varchar plutôt que text dans des champs
généralement courts et souvent retournés par les requêtes les plus
importantes
|
|
Ajout de sécurités pour ne pas dépasser les longueurs de texte déclarées
dans MySQL (varchar ou text selon les champs)
|
|
N'ayant pas trouvé comment régler SimplePie pour ne pas avoir d'entités
HTML comme `é`, voici un patch qui les décode en sortie de
SimplePie tout en conservant les entités XML comme `&`.
Contribue à https://github.com/marienfressinaud/FreshRSS/issues/247
|
|
Réduction de la durée du cache SimplePie pour pouvoir plus facilement
choisir la fréquence de rafraîchissement par Cron.
Serait peut-être mieux ailleurs.
Contribue à https://github.com/marienfressinaud/FreshRSS/issues/250
|
|
Corrige https://github.com/marienfressinaud/FreshRSS/issues/222
Il reste toujours une situation curieuse lorsqu'on a fini de lire tous
les favoris non-lus, mais à voir une autre fois
|
|
Corrige https://github.com/marienfressinaud/FreshRSS/issues/191
|
|
Utilise une méthode moins stricte qui tolère des erreurs XML dans les
flux.
Le choix de l'encodage en entrée a dû être légèrement changé car
SimplePie a une stratégie d'essayer plusieurs encodages jusqu'à en
trouver un qui marche.
En étant moins strict sur les erreurs, ça marche plus souvent, et du
coup les encodages n'étaient plus bon.
À essayer avec plein de flux.
Tous mes flux passent (~150).
Devrait permettre de fermer
https://github.com/marienfressinaud/FreshRSS/issues/233
Fonctionne aussi avec des flux à encodage invalide comme
http://travaux.ovh.net/rss.php qui se déclare en "text/xml" (du coup
ASCII) mais dans le flux avec un entête XML déclarant de l'UTF-8
|
|
Bug #51192 FILTER_VALIDATE_URL will invalidate a hostname that includes
'-'
https://bugs.php.net/bug.php?id=51192
Corrige https://github.com/marienfressinaud/FreshRSS/issues/221
Au passage, désactive la validation des URLS provenant de la base de
données et qui ont déjà été validées.
|
|
Quelques [img alt="✇" /] pour être valide, avec un caractère Unicode
représentant un film (assez proche d'un flux), mais peut-être qu'on
pourrait en trouver un mieux
|
|
Dans la plupart des cas, évite d'ajouter les articles déjà présents dans
la base de données, en faisant une pré-requête (une par flux, pas une
par article).
Par exemple, si un flux RSS fournit 20 articles, alors la pré-requête
charge une liste d'exclusion de 20+2 identifiants d'articles.
Ce patch réduit considérablement le nombre de requêtes et la charge de
la base de données durant les mises à jour, et en particulier le trafic
réseau entre PHP et la base de données.
Les mises à jour sont du coup aussi plus rapides.
|
|
Suppression des blancs en fin de ligne
|
|
Grosse amélioration des performances en utilisant le cache HTTP :
- Implémentation de HTTP/1.1, c.a.d. If-Modified-Since, If-None-Match,
If-Unmodified-Since, If-Match... avec la librairie
http://alexandre.alapetite.fr/doc-alex/php-http-304/
- Support de HEAD (HTTP /1.0).
- Préchargement de la page suivante (avec link next prefetch) dans le
cas de pagination.
- Et nouvelle possibilité de navigation pour les navigateurs qui
supportent "next".
- La date de dernier changement est pour l'instant primitive et
correspond au dernier changement de la session PHP ou
Configuration.array.php ou application.log ou touch.txt.
- touch.txt est modifié a chaque requête UPDATE ou INSERT ou DELETE.
|
|
* Fusion de endless_mode.js dans main.js car endless_mode.js est
toujours chargé et assez petit.
* Suppression des changements de style en JavaScript lors du chargement
(genre boucle de .hide(), ou d'ajout de classe ".stick") et
implémentation en PHP + CSS à la place.
* Chargement JavaScript asynchrone (defer + async) pour de meilleurs
performances.
* Utilisation préférable des événements globaux plutôt que des
événements pour chaque élément avec jQuery.on(events, selector) pour un
chargement plus rapide et moins de mémoire utilisée.
* Optimisation manuelle du JavaScript (sélecteurs CSS plus performants,
méthodes jQuery plus appropriées, etc.).
* Désactivation de init_img() qui était coûteux, lancé à un moment où
les images ne sont de toute manière pas encore chargées, et qui
n'apporte rien car il y a déjà un img {max-width:100%} en CSS.
* JavaScript en mode strict.
* Enfin, passage du code JavaScript dans JSLint et du coup nombreuses
corrections (syntaxe, variables, méthodes dépréciées...).
* Devrait permettre de fermer
https://github.com/marienfressinaud/FreshRSS/issues/121
* Au passage, quelques simplifications CSS pour de meilleures
performances.
|
|
Filtrage des événements JavaScript
|
|
Hack temporaire en attendant la recherche côté base-de-données
|
|
Corrige https://github.com/marienfressinaud/FreshRSS/issues/230
|
|
Limite la recherche aux 20000 plus récents articles, en attendant https://github.com/marienfressinaud/FreshRSS/issues/204
|
|
Nouvelles options pour choisir d'afficher ou pas les icônes pour marquer
comme lu/non-lu, favoris, lien vers l'article, ainsi que les champs
partage, tags...
Légères simplifications CSS et PHP au passage.
(Note pour plus tard : Il serait peut-être souhaitable de simplifier le
mécanisme des options en PHP, par exemple en utilisant un tableau de
propriétés. Actuellement, il y a un attribut par option accompagné d'un
accesseur privé, un accesseur public, et idem dans le système de
chargement/écriture du fichier de configuration, ce qui fait beaucoup de
code PHP par option)
|
|
Alkarex-patch-2
|
|
Alkarex-sqlOptimisation
|
|
Ajoute l'adresse du flux dans la description de l'erreur lorsqu'une exception est générée.
|
|
|
|
Corrige https://github.com/marienfressinaud/FreshRSS/issues/205.
Uniquement pour les images.
Pourrait par exemple faire des miniatures pour les vidéos
http://simplepie.org/wiki/tutorial/how_do_i_get_a_thumbnail_from_a_youtube_feed
|
|
La dernière catégorie n'était pas générée correctement si elle ne possédait
qu'un seul flux. Le bug venait de HelperCategorie::daoToCategoryPrepopulated
Je l'ai réécrite pour qu'elle soit un peu plus claire
|
|
Réduction du nombre de requêtes et de connexions SQL
|
|
Les raccourcis page suivante et précédente n'avait plus lieu d'être avec
le mode endless
Petite correction du design pour les formulaire : les labels (float left)
dépassaient des form-group
|
|
Implique une modification des fichiers metadata.json pour les thèmes :
ajout d'un champ "files" répertoriant les fichiers CSS à utiliser
|
|
|
|
Le préfixe freshrss_ était rentré en dur dans une des requêtes
|
|
|
|
intval renvoyant toujours un integer, le test is_int() passait toujours,
c'est corrigé maintenant
|
|
|
|
Avoid preg_replace() for simple cases
|
|
Alkarex-SqlOptimisation
Conflicts:
app/controllers/feedController.php
|
|
On peut désormais marquer comme lu les articles parus dans le futur
|
|
into Alkarex-sqlDuplicateEntries
|
|
Ajout de tabulation dans le if{}
|
|
Alkarex-importOpmlTitles
|
|
Alkarex-htmlencoding
Conflicts:
app/models/Feed.php
|