Package: chronicle
Version: 4.6-2
Severity: normal
Tags: patch

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

I think there is a logical problem in the cache handling which makes
it a bit useless in connection with comments.

If I'm reading readBlogEntry() correctly, it
* first tries to read from the cache and returns if it finds the
  entry
* otherwise writes the entry to the cache, unless the entry has
  comments and it's "new" enough.

So for a new posting what happens is:
- - it's not found in the cache
- - it gets written to the cache since obviously (!) it has no comments
  yet
- - later a comment might be written
- - but this will never appear after a rebuild since from now on the
  cached version is returned


Something like the attached patch seems to improve the situation; the
idea is simply that entries are never cached if they are "new",
independent of the fact if they have comments or not.


Cheers,
gregor

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iQIcBAEBCAAGBQJQ2cgLAAoJELs6aAGGSaoGPDMP/0xyhF9jnYsW4N5h5QQK8rjW
KqJFlcu6t0atcFJ81PvlDpjTQJmZa0Gp3xPcvPIWd2shkLCoLH2UjiOIxnKjtjFg
Jhy1M3OW9AyJxw0Q3sJ2TO9nJM71VNub3CZGDo8hDP6WQAMB5pBwjUjIAcmUHc2+
pV185YI7GOYtkdbQx9KUIkb52yOSKAbB0hgJ7v8JWTwbJmPiszhjIUfegVtWs6He
viGvSL6uH1BuR8Y6q3feah1yeQNQ6LJXs3vmVsEl7JymW6MRYvrFrrthUHLa2Q3v
Aw9lnvEH0YB+Kb3WxxE1jOR/oYRgOCRVCgira0xU7VcZhlpXh2qjoW5Ym9Goka0W
sTG3nm25JRi+4g7J20M98V07i4sQuaR2LVfwS0+mQRKQ9EHztAmOYDgnNpGd0P+J
wcfVvr0Qn8psaKg5mw38mzIkVKfGy4peXSZYWAs06ZVHvQsQU4wkTjEgoxxhtycX
KFyWyQDasn4MTT0gZqLJ+iO/eulUg9b23yvmJrLdozSIOTBJnzoW1QmguzAd9hyJ
I3froWldvPKM8ljSjE2k19zdtucWhSxhEedaYIV9yRtuemSVM5UTQ5BBzdhHytMu
zkZ2qWKfqzNaKueoiPa4Vpx6ql3GKuaOthe8f2QkDk2WQdsQB4ksIXoA1CG+1g1F
2xrkqR3ZJ6LxeMGaEd2s
=QUdR
-----END PGP SIGNATURE-----
--- unpacked/usr/bin/chronicle	2011-05-15 20:15:12.000000000 +0200
+++ /usr/bin/chronicle	2012-12-25 16:12:36.000000000 +0100
@@ -2527,27 +2529,21 @@
     {
         my $update = 1;
 
+        #
+        #  The number of seconds past the epoch of today and the
+        # date the blog is supposed to be published is used.
+        #
+        my $time  = str2time( $entry{ 'date' } );
+        my $today = time;
 
-        if ( ( $entry{ 'comment_count' } ) &&
-             ( $entry{ 'comment_count' } ) > 0 )
-        {
-
-            #
-            #  The number of seconds past the epoch of today and the
-            # date the blog is supposed to be published is used.
-            #
-            my $time  = str2time( $entry{ 'date' } );
-            my $today = time;
-
-            #
-            #  The number of days that should be allowd.
-            #
-            my $days = $CONFIG{ 'comment-days' } * 60 * 60 * 24;
+        #
+        #  The number of days that should be allowd.
+        #
+        my $days = $CONFIG{ 'comment-days' } * 60 * 60 * 24;
 
-            if ( ( $time + $days ) > $today )
-            {
-                $update = 0;
-            }
+        if ( ( $time + $days ) > $today )
+        {
+            $update = 0;
         }
 
         #
@@ -2555,7 +2551,6 @@
         #
         #  We don't store in the cache if:
         #
-        #   * The entry has comments.
         #   * The entry is "recent", as set by "--comment-days".
         #
         #

Reply via email to