Commit Graph

128 Commits

Author SHA1 Message Date
Alexandre Alapetite
fdb2b7588e Actualize : évite d'ajouter les articles déjà connus
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-05 18:37:41 +01:00
Alexandre Alapetite
231516f523 Grosse optimisation JavaScript
* 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-04 23:31:36 +01:00
Alexandre Alapetite
a689037825 Options pour personnaliser les icônes de lecture
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-27 22:13:58 +01:00
Marien Fressinaud
dd5273871a Merge branch 'AvoidNonCacheableJavaScript' of https://github.com/Alkarex/FreshRSS into Alkarex-AvoidNonCacheableJavaScript
Conflicts:
	app/views/javascript/main.phtml
2013-10-26 16:49:44 +02:00
Marien Fressinaud
46d9e0417a Fix issue #198: case sauter au voisin non lu marche plus
Le fait de décocher la case de l'option "sauter au prochain voisin non lu"
ne fonctionnait plus.
2013-10-16 10:51:09 +02:00
Marien Fressinaud
e52810415d Fix issue #189: disparition de catégories
On ne chargeait plus les catégories sans flux. C'est utile sur la page
principale, mais on ne pouvait plus les gérer dans la page de conf
2013-10-15 11:17:46 +02:00
Alexandre Alapetite
c447e65c5a Chargement à la volée de actualize.phtml
Au lieu de faire une requête systématiquement à chaque action de
l'utilisateur vers actualize.phtml (qui est lourd à générer et à lire),
cette requête se fait maintenant uniquement lors de son utilisation.
2013-10-13 17:53:00 +02:00
Alexandre Alapetite
4bbe82ff01 Remplace main.phtml non-cachable par main.js cachable
Amélioration des performances en permettant la mise en cache de 10Ko de
JavaScript et en évitant une requête HTTP à chaque action de
l'utilisateur.
2013-10-13 17:11:13 +02:00
Marien Fressinaud
879e9fcd76 Fix issue #165: @import CSS enlevés
Implique une modification des fichiers metadata.json pour les thèmes :
ajout d'un champ "files" répertoriant les fichiers CSS à utiliser
2013-10-07 11:31:12 +02:00
Marien Fressinaud
6f8b260ebf Merge branch 'Alkarex-SqlOptimisation' into sql-optimisation 2013-09-14 22:12:44 +02:00
Marien Fressinaud
597a62148a Merge branch 'NbUnread' of https://github.com/Alkarex/FreshRSS into Alkarex-NbUnread 2013-09-14 20:00:42 +02:00
Marien Fressinaud
008d6a7047 Merge branch 'SqlOptimisation' of https://github.com/Alkarex/FreshRSS into Alkarex-SqlOptimisation
Conflicts:
	app/controllers/feedController.php
2013-09-14 19:44:53 +02:00
Marien Fressinaud
73fe0eabbe Fix issue #151 : marquer lus les articles du futur
On peut désormais marquer comme lu les articles parus dans le futur
2013-09-14 19:26:01 +02:00
Marien Fressinaud
feff58e2eb Merge pull request #149 from Alkarex/cleanSql
Clean removed SQL columns in PHP
2013-09-14 09:57:57 -07:00
Marien Fressinaud
6967de0e64 Merge branch 'onread_jump_next' of https://github.com/Alkarex/FreshRSS into Alkarex-onread_jump_next 2013-09-14 18:13:21 +02:00
Marien Fressinaud
adc33811c3 Fix issue #158 : ajout premier flux fonctionne
La catégorie par défaut est bien mise par défaut pour le premier flux
2013-09-14 17:48:33 +02:00
Alexandre Alapetite
d47137cddd Affiche le titre en cours sur la ligne du jours
En particulier en affichage mobile, il n'était pas facile de voir quelle
catégorie ou flux on était en train de lire. Ce patch l'affiche sur la
ligne du jours, avec une suggestion de style.
2013-09-14 15:29:09 +02:00
Alexandre Alapetite
2e0441195b Title: Unread in category/feed vs. global
Distinguish in the title of the page between the number of unread
articles in the category/feed displayed vs. the total number of unread
articles.
2013-09-13 21:56:45 +02:00
Alexandre Alapetite
7627970862 Corrected bug with the default "No Category"
The SQL optimisation patch had introduced a bug with "No Category", now
solved
2013-09-12 22:41:09 +02:00
Alexandre Alapetite
32842bef0a Cleaning after SQL model updated
A "lastUpdate" field was forgotten
2013-08-26 21:07:17 +02:00
Alexandre Alapetite
b780a2329b New option onread_jump_next
Added a new option to automatically jump to the next sibling (category
or feed) when hitting the button "mark as read".
2013-08-25 13:25:27 +02:00
Marien Fressinaud
9642fbb221 Fix issue #118 : option pour garder historique
*** ATTENTION, MODIFICATION DE LA BDD ***

Cette option permet de garder les vieux articles d'un flux en même s'ils
sont plus vieux que la limite des X mois d'historique (3 par défaut)

Les modifications de la base de données :
- ajout du champ "keep_history int(1) DEFAULT 0" à la table feed
- suppression des champs "is_public" et "lastUpdate" de la table entry
  (n'étaient plus utilisés de toute façon)
2013-08-22 11:11:22 +02:00
Marien Fressinaud
48f8401c8b Fix issue #130 : amélioration vue globale
Désormais, en cliquant sur une catégorie ou un flux, une "popup" s'ouvre
nous proposant les flux à lire directement. Les mêmes actions que la vue
normale sont alors possibles

Cela a impliqué de gros changements javascript en aval puisque les
articles n'étaient plus repérés en fonction de la fenêtre, mais en
fonction du popup (#panel)

Le code va vraiment devoir être repris pour avoir une architecture
logique (voir issue #121)
2013-08-21 19:59:56 +02:00
Marien Fressinaud
695af6e1fe Fix issue #133 : nombre non lus dans titre onglet
+ Début fix issue #130 : en cliquant sur une catégorie ou un flux, on
repasse en mode de vue "normale" pour pouvoir lire les articles
Ce n'est qu'un début :)
2013-08-21 16:26:22 +02:00
Marien Fressinaud
54541608ac Fix issue #127 : ajout système de token
Ajout du système de token pour accéder aux flux RSS même quand la
connexion a été paramétrée.
Pour l'utiliser, il faut simplement ajouter le paramètre
?token=<votre_token> à l'url
2013-08-21 16:04:18 +02:00
Marien Fressinaud
456c95d2db Fix issue #125 : "Load more" automatique
En bas de page, si l'option a été cochée (ne l'est pas par défaut), on
va charger automatiquement les articles suivants
2013-08-21 15:22:30 +02:00
Marien Fressinaud
10e87035ca Fix option lazyload
Il n'était plus possible de désactiver le lazyload, c'est désormais
corrigé
2013-08-18 02:19:05 +02:00
Marien Fressinaud
abb25a58dc Fix issue #86 : possibilité de changer de thème
Désormais il est possible de créer des thèmes. Le thème peut être changé
sur la page de configuration. Les thèmes sont détectés grâce à un
fichier metadata.json détaillant le nom du thème, son auteur, une petite
description et une version.

Un nouveau thème "Flat design" a été ajouté et est pleinement
fonctionnel
2013-08-07 11:46:55 +02:00
Marien Fressinaud
f6d730f9d1 Fix issue #106 : modif nom classes Cache et Log
Passage en Minz_Cache et Minz_Log
Permet d'éviter les redondances quand ces classes sont déjà définies
Je n'utilise pas d'espace de nom parce que beaucoup de boulot et
nécessite obligatoirement php 5.3
Si d'autres classes nécessitent cette modification je le ferai au fur et
à mesure qu'on me remontera les soucis
La version de Minz pour FreshRSS n'est plus compatible avec la version
distribuée à part
2013-07-27 17:07:44 +02:00
Marien Fressinaud
22febc1351 Fix issue #101 : option interdiction anonymes
Ajout d'une option pour interdire la lecture anonyme (interdit par
défaut)

Correction de l'internationalisation pour la pagination des logs
2013-07-27 13:58:58 +02:00
Marien Fressinaud
56854a4147 Fix issue #107 : message quand flux en erreur
Désormais, si on actualise un flux et qu'il passe en erreur, le message
affiché est correct et indique qu'il y a eu un soucis
2013-07-27 11:54:28 +02:00
Marien Fressinaud
5b313ecdcb Fix issue #111 : index httpAuth ajouté (OPML)
Il manquait cet index lors de l'ajout d'un flux par import OPML, c'est
ok maintenant
2013-07-26 19:08:09 +02:00
Marien Fressinaud
7396b3d897 Fix #77 : articles marqués comme lus au défilement
Possibilité de marquer les articles automatiquement comme lus lors
du défilement de la page. Le marquage survient aux 3/4 de l'article
visible.
Ajout d'une option pour activer / désactiver (défaut) la fonctionnalité
et disparition de l'option de marquage au chargement de la page.
Ajout de 2 boutons pour marquer comme lu et en favori en bas des
articles
2013-06-23 17:40:05 +02:00
Marien Fressinaud
48cfe1571e Fix issue #67 : différentes vues implémentées + possibilité de choisir la vue par défaut 2013-06-16 20:48:56 +02:00
Marien Fressinaud
8cf9ee7650 Fix issue #69 : ajout d'une option pour optimiser la BDD + correction bug script actualisation lorsque connexion paramétrée 2013-06-15 17:36:42 +02:00
Marien Fressinaud
fafddf2a20 Fix issue #73 : ajout d'une page pour visualiser les logs 2013-06-15 16:42:50 +02:00
Marien Fressinaud
1863153b96 Fix issue #71 : remise en place du mode endless + correction bug à l'importation OPML 2013-06-15 15:55:44 +02:00
Marien Fressinaud
3ba63a170e Suppression des 'notes' sur les articles, pas utile 2013-06-15 13:25:48 +02:00
Marien Fressinaud
215b0a564e Suppression du contrôleur API qui ne servait à rien 2013-06-15 13:13:20 +02:00
Marien Fressinaud
0ff751b443 Lazyload facultatif (issue #75 ok) 2013-06-15 11:02:58 +02:00
Marien Fressinaud
746ae4b33a Fix issue #79 : possibilité de changer le nom d'un flux 2013-06-14 20:09:47 +02:00
Marien Fressinaud
9e219cbf50 Fix issue #70 : lorsqu'on rencontre un problème avec un flux, on l'indique à l'utilisateur (couleur rouge) 2013-05-12 19:21:39 +02:00
Marien Fressinaud
bf45520724 Fix issue #81 : Possibilité d'ajouter un flux dans une catégorie sur la page d'import / export 2013-05-12 17:40:09 +02:00
Marien Fressinaud
c96225df6d Fix issue #84 : affichage erreur si fichier OPML invalide 2013-05-12 16:51:45 +02:00
Marien Fressinaud
5963221249 Fix issue #65 : création d'un vrai script de mise à jour permettant de mettre tous les flux à jour via CRON 2013-05-02 10:18:48 +02:00
Marien Fressinaud
1c202b9364 Correction code + ajout commentaires + à l'ajout d'un flux, on n'ajoute plus les trop vieux articles 2013-05-02 09:44:34 +02:00
Marien Fressinaud
9820345eec Revue de code pour la récupération des articles : ATTENTION GROS CHANGEMENTS, aucune garantie de stabilité et possibles régressions. La recherche dans le contenu des articles fonctionnent et possibilité de rechercher des tags 2013-04-29 00:57:08 +02:00
Marien Fressinaud
00bac232e0 Importation des flux ok + ajout de commentaires (issue #28) 2013-04-28 16:34:25 +02:00
Marien Fressinaud
bdaddd4e76 Actualisation des flux ok + ajout de commentaires et de TODO (issue #28) 2013-04-28 16:15:16 +02:00
Marien Fressinaud
864318bf68 Meilleure gestion des erreurs lors de l'ajout d'un flux RSS + les vidéos apparaissent maintenant dans les articles + si connexion paramétrée l'actualisation des flux n'est plus permis 2013-04-28 16:01:14 +02:00