summaryrefslogtreecommitdiff
path: root/app/models
AgeCommit message (Collapse)Author
2013-11-09Réduction durée cache SimplePieGravatar Alexandre Alapetite
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
2013-11-09Affichage dynamique des favoris non lusGravatar Alexandre Alapetite
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
2013-11-07Renomme fichiers selon leur classeGravatar Alexandre Alapetite
Corrige https://github.com/marienfressinaud/FreshRSS/issues/191
2013-11-07Plus de tolérance pour les fluxGravatar Alexandre Alapetite
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
2013-11-06Contournement bug PHP 5.3.3-Gravatar Alexandre Alapetite
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.
2013-11-05img altGravatar Alexandre Alapetite
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
2013-11-05Actualize : évite d'ajouter les articles déjà connusGravatar Alexandre Alapetite
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.
2013-11-04Détails : blancsGravatar Alexandre Alapetite
Suppression des blancs en fin de ligne
2013-11-04Préchargement et requêtes conditionnelles HTTP/1.1Gravatar Alexandre Alapetite
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.
2013-11-04Grosse optimisation JavaScriptGravatar Alexandre Alapetite
* 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.
2013-11-04Merge pull request #231 from Alkarex/patch-5Gravatar Alexandre Alapetite
Filtrage des événements JavaScript
2013-11-04Merge pull request #227 from Alkarex/patch-4Gravatar Alexandre Alapetite
Hack temporaire en attendant la recherche côté base-de-données
2013-11-03Filtrage des événements JavaScriptGravatar Alexandre Alapetite
Corrige https://github.com/marienfressinaud/FreshRSS/issues/230
2013-10-30Hack temporaire en attendant la recherche côté base-de-donnéesGravatar Alexandre Alapetite
Limite la recherche aux 20000 plus récents articles, en attendant https://github.com/marienfressinaud/FreshRSS/issues/204
2013-10-27Options pour personnaliser les icônes de lectureGravatar Alexandre Alapetite
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)
2013-10-26Merge branch 'patch-2' of https://github.com/Alkarex/FreshRSS into ↵Gravatar Marien Fressinaud
Alkarex-patch-2
2013-10-26Merge branch 'sqlOptimisation' of https://github.com/Alkarex/FreshRSS into ↵Gravatar Marien Fressinaud
Alkarex-sqlOptimisation
2013-10-22Ajoute URL dans message FeedExceptionGravatar Alexandre Alapetite
Ajoute l'adresse du flux dans la description de l'erreur lorsqu'une exception est générée.
2013-10-20Correction erreur variable existanteGravatar Alexandre Alapetite
2013-10-19Ajoute au contenu les images déclarées en tant que 'enclosure'Gravatar Alexandre Alapetite
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
2013-10-16Fix issue #189: Disparition de la dernière catégorieGravatar Marien Fressinaud
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
2013-10-13Optimisation SQL, deuxième vagueGravatar Alexandre Alapetite
Réduction du nombre de requêtes et de connexions SQL
2013-10-07Design + suppression 2 raccourcisGravatar Marien Fressinaud
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
2013-10-07Fix issue #165: @import CSS enlevésGravatar Marien Fressinaud
Implique une modification des fichiers metadata.json pour les thèmes : ajout d'un champ "files" répertoriant les fichiers CSS à utiliser
2013-10-07Fix issue #169: flux en jaune si 0 articleGravatar Marien Fressinaud
2013-09-15Issue #155 : correction bug prefix table SQLGravatar Marien Fressinaud
Le préfixe freshrss_ était rentré en dur dans une des requêtes
2013-09-14Merge branch 'Alkarex-SqlOptimisation' into sql-optimisationGravatar Marien Fressinaud
2013-09-14Issue #155 : correction fonction _nbNotReadGravatar Marien Fressinaud
intval renvoyant toujours un integer, le test is_int() passait toujours, c'est corrigé maintenant
2013-09-14Issue #155 : suppression fonctions commentéesGravatar Marien Fressinaud
2013-09-14Merge pull request #152 from Alkarex/AvoidPregReplaceGravatar Marien Fressinaud
Avoid preg_replace() for simple cases
2013-09-14Merge branch 'SqlOptimisation' of https://github.com/Alkarex/FreshRSS into ↵Gravatar Marien Fressinaud
Alkarex-SqlOptimisation Conflicts: app/controllers/feedController.php
2013-09-14Fix issue #151 : marquer lus les articles du futurGravatar Marien Fressinaud
On peut désormais marquer comme lu les articles parus dans le futur
2013-09-14Merge branch 'sqlDuplicateEntries' of https://github.com/Alkarex/FreshRSS ↵Gravatar Marien Fressinaud
into Alkarex-sqlDuplicateEntries
2013-09-14Issue #146 : coding styleGravatar Marien Fressinaud
Ajout de tabulation dans le if{}
2013-09-14Merge branch 'importOpmlTitles' of https://github.com/Alkarex/FreshRSS into ↵Gravatar Marien Fressinaud
Alkarex-importOpmlTitles
2013-09-14Merge branch 'htmlencoding' of https://github.com/Alkarex/FreshRSS into ↵Gravatar Marien Fressinaud
Alkarex-htmlencoding Conflicts: app/models/Feed.php
2013-09-14Merge branch 'onread_jump_next' of https://github.com/Alkarex/FreshRSS into ↵Gravatar Marien Fressinaud
Alkarex-onread_jump_next
2013-09-14Merge branch 'utf8bug' of https://github.com/Alkarex/FreshRSS into ↵Gravatar Marien Fressinaud
Alkarex-utf8bug
2013-09-14Fix issue #158 : ajout premier flux fonctionneGravatar Marien Fressinaud
La catégorie par défaut est bien mise par défaut pour le premier flux
2013-09-12Corrected bug with the default "No Category"Gravatar Alexandre Alapetite
The SQL optimisation patch had introduced a bug with "No Category", now solved
2013-09-04Correct bug: last category was not shownGravatar Alexandre Alapetite
2013-09-04Handle paging for entries with identical dateGravatar Alexandre Alapetite
Paging now works even when many entries have the same date. SQL speed could probably be improved by testing first on date, and then on CONCAT. Also, having an index on date would probably help too.
2013-09-04Work aroundGravatar Alexandre Alapetite
In the current SQL request with LIMIT, if many dates are identical, the pagination may not work properly. Added a little more tolerance, but will have to be solved better.
2013-09-03Disable SQL LIMIT optimisation during searchGravatar Alexandre Alapetite
This patch is to make search work again after the new SQL optimisations, by removing some of the optimisations when searching is used. Optimisation of search is left for some future work. The whole base is indeed transfered from MySQL to PHP, which is not good.
2013-09-02SQL and model optimisationGravatar Alexandre Alapetite
Big effect (on speed and memory), but few changes :-) Drastically reduced the number of SQL requests needed (from 233 down to 8 to load the home page with my own data set = 140 feeds in 15 categories). Drastically reduced the amount of data transferred from MySQL to PHP.
2013-08-31Avoid preg_replace for simple casesGravatar Alexandre Alapetite
Use the faster str_replace() and str_ireplace() instead. From http://www.php.net/manual/function.str-replace.php : "If you don't need fancy replacing rules (like regular expressions), you should always use this function instead of preg_replace(). "
2013-08-26Change filter of expected SQL errorsGravatar Alexandre Alapetite
Filter out "SQLSTATE Class code 23: Constraint Violation" because of expected duplicate entries. Consider adding a Minz_Log::DEBUG level
2013-08-26Use feed names coming from OPMLGravatar Alexandre Alapetite
Use the feed names (text or title) provided by OPML and do not overwrite them during import.
2013-08-26Do not perform double HTML-encodingGravatar Alexandre Alapetite
The content seem to be already HTML safe, e.g. for some feeds in UTF-8 with HTML special characters encoded, for some other feeds with all eligible characters HTML-encoded
2013-08-25More explicit UTF-8Gravatar Alexandre Alapetite
More explicit UTF-8 in PDO MySQL, html_entity_decode, htmlentities, and htmlspecialchars (less important)