Commit Graph
151 Commits
Author SHA1 Message Date
Marien Fressinaud 295113eb2e Invalide cache lors d'une optimisation de la BDD
Pour avoir la notification après une optimisation, on doit invalider le
cache. Un peu dommage puisque rien de visible n'est changé sinon

À voir pour améliorer le système de notification plus tard
2013-11-12 22:45:00 +01:00
Alexandre Alapetite fcc2e023ef Oubli variable inutile
Suite de
https://github.com/marienfressinaud/FreshRSS/commit/7e9263ff5c0f0f0593deb386aacf4043b43e70e2
2013-11-12 19:01:01 +01:00
Alexandre Alapetite 7e9263ff5c SQL : Suppression requêtes SELECT inutile avant UPDATE
Suppression requête SELECT avant UPDATE entry.is_favorite
2013-11-12 18:51:02 +01:00
Alexandre Alapetite 14342603a0 Suppression de requêtes de catégorie et de flux
* 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
2013-11-12 18:41:31 +01:00
Alexandre Alapetite 58cb842966 Suppression multiples requêtes count
Suppression de plusieurs requêtes count inutiles (genre
`$entryDAO->countNotRead()` avant un UPDATE), et suppression de
l'affichage du nombre d'articles total.
Corrige https://github.com/marienfressinaud/FreshRSS/issues/246
2013-11-12 18:22:41 +01:00
Marien Fressinaud 97c3c7575a Suppression des warnings liés à filemtime
ajout de "@" pour éviter les warnings, touch.txt sera créé un peu plus
tard
2013-11-10 20:06:33 +01:00
Marien Fressinaud 9e0a840c19 Corrige une dernière fois header pour rss / xml 2013-11-09 23:42:56 +01:00
Marien Fressinaud 5fc72aa7fe Lance une actualisation des flux après import OPML
Le script d'actualisation est lancé après avoir importé les flux
automatiquement
Voir issue #196
2013-11-09 23:16:13 +01:00
Marien Fressinaud b5ba06dcf1 Corrige header flux RSS généré 2013-11-09 22:42:20 +01:00
Marien Fressinaud 846078e985 Corrige warnings validation flux RSS généré 2013-11-09 22:30:19 +01:00
Marien Fressinaud 33b68a8017 Corrige le titre des flux RSS générés
Supprime le nombre de non lus dans le titre des flux RSS générés
2013-11-09 20:14:42 +01:00
Alexandre Alapetite a5bc7d20d4 Évite les problèmes de cache des resources CSS et JS statiques
Ajoute une date automatique aux CSS et JS. Ne devrait pas entraver la
bonne mise en cache grâce aux entêtes HTTP dont `Cache-Control: public`
2013-11-09 01:50:42 +01:00
Alexandre Alapetite c237a4dc77 Début d'affichage du nombre de favoris non lus
Mais pas encore de mise à jour dynamique
Corrige en partie
https://github.com/marienfressinaud/FreshRSS/issues/222
2013-11-09 00:13:20 +01:00
Marien Fressinaud 9d32d7fe19 Déplace le fichier main.phtml
app/views/javascript/main.phtml est déplacé vers
app/views/helpers/javascript_vars.phtml

Il reste à déplacer le fichier actualize.phtml pour se débarrasser de
javascriptController
2013-11-08 23:31:38 +01:00
Marien Fressinaud 2d330e43f2 Fix issue #236: balise link pour flux rss
Ajout d'une balise link pour indiquer l'url du flux RSS
2013-11-08 22:38:38 +01:00
Marien Fressinaud b15781045e Ne charge pas les articles en mémoire quand déconnecté
Lorsque l'utilisateur est déconnecté, les articles ne sont plus chargés
De plus, le titre de la page évite d'afficher le nombre de non lus
2013-11-08 21:25:14 +01:00
Marien Fressinaud 50570e625b touch.txt lors de la déconnexion
Même raison que pour la connexion, il arrive que la déconnexion se passe
mal à cause du cache qui n'est pas annulé
2013-11-08 20:49:30 +01:00
Marien Fressinaud f3a91fb819 Fix issue #177: déplacement menu gestion catégories
Le menu de gestion des catégories a été déplacé au niveau de la gestion
des abonnements (le regroupement est plus logique)
Le lien pour accéder au flux RSS a été déplacé dans le menu "affichage"
(peut être sujet à discussion)
Une prochaine pourrait être de splitter le menu "Général et lecture" en
plusieurs vues
2013-11-08 19:51:22 +01:00
Marien Fressinaud 7de22cdf4c Déplace chargement fichier main.js
Le chargement de main.js était fait dans indexController. Il est fait
maintenant dans le FrontController pour avoir accès, même hors de la
page principale, aux fonctionnalités de connexion / déconnexion /
fermeture des notifications
2013-11-08 19:21:42 +01:00
Marien Fressinaud 602230ec53 Fix issue #238: possibilité d'actualiser avec token
En précisant le token il est possible maintenant d'actualiser les flux
sans avoir besoin de se connecter
2013-11-08 19:13:46 +01:00
Alexandre Alapetite 6e52983906 Petits changements mineurs 2013-11-08 17:39:48 +01:00
Marien Fressinaud fe0e980b0c Fix issue #235: annule le cache après connexion réussie 2013-11-08 10:27:10 +01:00
Marien Fressinaud 5a2a5ee374 Issue #235: refactorisation code Persona
Le code pour la connexion via Persona a été bougée dans le fichier
main.js avec le reste du code JS
Ça ne marche toujours pas sous Firefox car il essaye d'initialiser
navigator.id.watch avant que le fichier login.persona.org/include.js
ne soit chargé
L'url est correctement écrite côté serveur pour permettre à Persona
d'indiquer au site que la connexion s'est bien passée
2013-11-07 23:50:21 +01:00
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