InsaneJournal Announcements

Comment rot solved

InsaneJournal Announcements

Comment rot solved

Previous Entry Add to Memories Tell a Friend Next Entry
I found the cause of comment rot. There was an old legacy setting that I didn't know what it did. It was among the last of the things to trace out in the code. I traced it out and found the offending code that was deleting comments and entry properties (status, userpic, etc) and removed it. Please let me know in THIS post if any NEW comment rot occurs after this post.

This has been a very very long and trying road and I want to thank all of you who have stuck it out here in spite of this major bug.


sub new_entry_cleanup_hack {
my ($u, $jitemid) = @_;

# sanitize input
$jitemid += 0;
return unless $jitemid;
my $ownerid = LJ::want_userid($u);
return unless $ownerid;

# delete logprops
$u->do("DELETE FROM logprop2 WHERE journalid=$ownerid AND jitemid=$jitemid");

# delete comments
my $ids = LJ::Talk::get_talk_data($u, 'L', $jitemid);
return unless ref $ids eq 'HASH' && %$ids;
my $list = join ',', map { $_+0 } keys %$ids;
$u->do("DELETE FROM talk2 WHERE journalid=$ownerid AND jtalkid IN ($list)");
$u->do("DELETE FROM talktext2 WHERE journalid=$ownerid AND jtalkid IN ($list)");
$u->do("DELETE FROM talkprop2 WHERE journalid=$ownerid AND jtalkid IN ($list)");
}
</pre>



Edit: After looking at the code even more closely I am sure that this was the cause, I think we can call comment rot a closed issue. Now to getting to writing a mass icon uploader.
  • ...eeep. Corrected version of the above:

    Now to getting to writing a mass icon uploader.

    Don't forget that the good people at Dreamwidth (http://www.dreamwidth.org/) have already written one; you can probably take the code from http://bugs.dwscoalition.org/attachment.cgi?id=213 and apply it with the minimum of changes. The multiple icon uploading doesn't currently work with IE, but that's a known bug.
    • ...and I just realised that I linked to the wrong thing because of the way the patches were made.

      These are the patches you'll need:

      * http://hg.dwscoalition.org/dw-free/rev/96e65ecac51c - the actual userpic uploader
      * http://hg.dwscoalition.org/dw-free/rev/56c3a4b0ef26 - fixes for internationalisation

      The first patch will need these lines changed to work without the DW::Request module, and on Apache 1:

      >              my $r = DW::Request->get;
      >              my $size = $r->header_in("Content-Length");


      Other than that, I think you should be okay.
Powered by InsaneJournal