Closed Taluu closed 12 years ago
(Oui je fais mumuse avec git :-°)
Okay j'ai trouvé pourquoi la mise en lu merde ; c'est à cause de la condition de la ligne 666 de main/forum/forum_topic.php
(je crois que le numéro de ligne n'est pas un hasard :-°)...
En gros, y'a toujours cette référence à u_last_read
dont je parlais dans #191, mais je ne sais toujours pas si je peux le jarter ou non. :/
.. Quelqu'un a une idée sur le sujet ?
J'ai trouvé à quoi sert ce champ. En fait, il permet de déterminer quand un sujet est "trop vieux" pour être considéré comme non lu, et est donc automatiquement lu.
Je pense que ce champ ne sert à rien à part nous emmerder l'existence, car on peut très bien faire le calcul (vu que le process de prune de la table des topics lus n'est executée qu'une fois tous les x temps, ce qui n'est donc pas trop chiant de demander au serveur sql de calculer les dates périmées...)
De toutes manières, avant de faire la condition qui supprime donc les entrées qui ont un ttstamp inférieur à "dernière date de lecture - 3 mois", on normalise toutes les dates de dernière lecture des utilisateurs pour que la date minimum soit "maintenant - 3 mois"... Ce qui fait que les entrées supprimées sont celles ayant entre 3 et 6 mois d'ancienneté, selon la date de dernière lecture du membre.
Je pense qu'on aurait donc fort à gagner avec une décision arbitraire de supprimer "date de dernier message inférieur à y'a 6 mois". Des avis ?
ping @Arcalys, @Grummfy ?
En clair, le champ sert bien à nous embêter, comme on l'avait supposé auparavant... Je trouve d'ailleurs que c'est un peu bête de dire que si un sujet est vieux, il doit passer en lu. Un sujet non lu, c'est un sujet non lu... Si tu ne veux pas le lire, à toi de le marquer comme lu. Enfin peu importe...
Sinon oui, pour ce qui est de la suppression , je trouve plus logique de faire une suppression "maintenant - 6 mois".
Dans ce cas j'essaye de m'en charger dans le courant de la semaine ou la semaine prochaine. Je ferai une autre pr par contre je pense.
Donc dans l'état actuel des choses, ça ne le met jamais à jour ?
Ben quand on lit un topic, si "la date de dernière lecture est supérieure à la date du dernier message lu du topic", non. Du coup, quand on édite le dernier message, le topic sera bien marqué en "non lu" (avec cette PR), mais à al nouvelle lecture du sujet, il ne sera jamais marqué comme "lu"...
Un peu chiant ça :(
Donc ouais la solution c'est de supprimer le comportement lié avec la fameuse colonne "u_last_read"... Comme ça n'a pas trop de rapport avec cette PR, je préfère faire le fixe dans une nouvelle PR. :)
Pas de soucis, je merge déjà celle-ci ;)
Je ne l'aurai pas mergée immédiatement mais OK. :D Car bon, là, si le dernier message est édité, le topic sera marqué en "non lu" (ce qui est recherché), mais il ne sera jamais marqué comme lu par la suite, tant que y'a pas un nouveau post...
Je peux annuler les changements sinon...
C'est toi qui vois. Au pire, fais une branche à part, et remets le master avant le merge...
Je vais faire une branche pour ça :)
(Done au fait, j'ai réussi à me démeler :D)
Attention, c'est pas fini. Il y a quelques bugs..