Jump to content


Photo

Reputation Cache not regenerating for Blog Entries or Comments.


As the title says. The only time the reputation cache is generated for Blog Entries or Blog Comments is when the reputation itself is added. If the cache is removed (either via the Cleanout task or otherwise) then the cache will not auto-regenerate once accessed again, like the forums do.

Attached Files


[attachment=44368:IPC]

Status: Fixed
Version: 3.4.0
Fixed In: 3.4.4


10 Comments

Updating Fixed In to: 0
Updating Status to: Confirmed - General

-
Updating Fixed In to: 2.6.0
Updating Status to: Fixed

-
Photo
Ryan Ashbrook
Oct 12 2012 02:29 PM
Updating Status to: Unconfirmed
Updating Version to: 2.6.0

Still not fixed for Comments, it seems. Would that be under IPB?
 
Reproduced on SVN:
 
Posted Image
Updating Fixed In to: 0
Updating Version to: 3.4.0

This does appear to need fixing in IPB for comments. The problem exists across all apps.

Updating Fixed In to: 3.4.0
Updating Status to: Fixed

We'll have to keep an eye on the fix to ensure the 'area' for comments matches up with the reputation 'area', but otherwise this has been fixed.  Verified with Calendar the comments cache rebuilt correctly.

@Brandon

 

Heeeeey, is this the second issue for here?

 

http://community.inv...-content-r38867

 

:3

No, the second half of this report relates specifically to comments.

Photo
Ryan Ashbrook
Mar 18 2013 08:35 PM
Updating Fixed In to: 0
Updating Status to: Unconfirmed

Still doesn't appear to be fixed, actually. I can reproduce in Gallery and Blogs if I clear the rep cache from the database.

 

The problem is in /admin/sources/classes/comments/bootstrap.php - Line 541:

 

$row['rep_points']           = $this->registry->repCache->getRepPoints( array( 'app' => $app, 'type' => $_where, 'type_id' => $row['comment_id'], 'rep_points' => $row['rep_points'] ) );

 

$_where in this instance is the parent content type (the image in Gallery, the Entry in Blog, etc). That line should be this:

 

$row['rep_points']           = $this->registry->repCache->getRepPoints( array( 'app' => $app, 'type' => $_remap['comment_id'], 'type_id' => $row['comment_id'], 'rep_points' => $row['rep_points'] ) );

Because when a reputation is left on a comment, the remap'd comment_id column is used as the rep type.

Updating Status to: Confirmed - General

-
Updating Fixed In to: 3.4.4
Updating Status to: Fixed

-