Activity replies disappear on refresh (with reward)

Ok, not getting much joy here and it's turning into a huge waste of time, so I'm adding in a reward for the first solution.

The basics:

- using WordPress 3.3.1.
- buddypress Version 1.5.5
- BP Social child theme (also tested on Default 1.5.5.
- Plugins activated – only Buddypress.
- url – http://www.wearethedads.com (registration is open if you need to create a test account)

The issue:
When a user replies to an activity status the comment appears to have registered and the user who is replied to gets an email notification. However, when the comment is refreshed the users’ replies disappear.

The screenshots:
Comment appears before refresh – http://screencast.com/t/BGAFznDZNT9X
Comment after refresh has disappeared – http://screencast.com/t/UdcqYgx1vg1
Comment appears on user’s own activity stream – http://screencast.com/t/PEd4dbBSv

The reward:
I really need this sorting and I appreciate that everyone is busy so I’m prepared to make an instant payment of £50 for the first person who can solve the issue so that the site works again! If you need more info please email info AT wearethedads.com.

  • Kimberly
    • Champion of Loops

    iamstaggered

    I've been digging and, based on your earlier thread, I agree with Arun that you should try to repair your DB tables.

    Especially since this is a problem that persists after re-building the site.

    Maybe someone else will have a better answer. Wish I could offer more.

    Best,

    Kimberly

  • Andrew Shanahan
    • Site Builder, Child of Zeus

    Thanks Kim. This is a comment I had from a software developer who was looking at the issue, who suggested I contact the theme developer (BP Social). The issue I have with this is that the site works until a certain point. As in the comments do thread and you can probably see several on the site where people have had conversations - this is between admins and subscribers. Then after a certain point it just breaks and the comments stop threading - does this make any more sense to you than it does to me?

    ------------------------------------------------------------------------------
    display_comments optional
    Whether or not to display comments along with activity items. Threaded will show comments threaded under the activity. Stream will show comments within the actual stream in chronological order along with activity items.

    Accepted arguments: none, threaded, stream
    Default value: none
    ------------------------------------------------------------------------------

    Hence comments by default will not be shown. This is the standard correct codex. To enable comments the following code needs to be entered:

    ------------------------------------------------------------------------------
    ' <div class="activity-meta">

    <?php if ( bp_activity_can_comment() ) : ?>

    " class="button acomment-reply bp-primary-action" id="acomment-comment-<?php bp_activity_id(); ?>"><?php printf( __( 'Comment <span>%s</span>', 'buddypress' ), bp_activity_get_comment_count() ); ?>

    <?php endif; ?>

    <?php if ( bp_activity_can_favorite() ) : ?>

    <?php if ( !bp_get_activity_is_favorite() ) : ?>

    " class="button fav bp-secondary-action" title="<?php esc_attr_e( 'Mark as Favorite', 'buddypress' ); ?>"><?php _e( 'Favorite', 'buddypress' ) ?>

    <?php else : ?>

    " class="button unfav bp-secondary-action" title="<?php esc_attr_e( 'Remove Favorite', 'buddypress' ); ?>"><?php _e( 'Remove Favorite', 'buddypress' ) ?>

    <?php endif; ?>

    <?php endif; ?>

    <?php if ( bp_activity_user_can_delete() ) bp_activity_delete_link(); ?>

    <?php do_action( 'bp_activity_entry_meta' ); ?>

    </div>

    <?php endif; ?>

    </div>

    <?php do_action( 'bp_before_activity_entry_comments' ); ?>

    <?php if ( ( is_user_logged_in() && bp_activity_can_comment() ) || bp_activity_get_comment_count() ) : ?>

    <div class="activity-comments">

    <?php bp_activity_comments(); ?>

    <?php if ( is_user_logged_in() ) : ?>

    <form action="<?php bp_activity_comment_form_action(); ?>" method="post" id="ac-form-<?php bp_activity_id(); ?>" class="ac-form"<?php bp_activity_comment_form_nojs_display(); ?>>
    <div class="ac-reply-avatar"><?php bp_loggedin_user_avatar( 'width=' . BP_AVATAR_THUMB_WIDTH . '&height=' . BP_AVATAR_THUMB_HEIGHT ); ?></div>
    <div class="ac-reply-content">
    <div class="ac-textarea">
    <textarea id="ac-input-<?php bp_activity_id(); ?>" class="ac-input" name="ac_input_<?php bp_activity_id(); ?>"></textarea>
    </div>
    <input type="submit" name="ac_form_submit" value="<?php _e( 'Post', 'buddypress' ); ?>" />   <?php _e( 'or press esc to cancel.', 'buddypress' ); ?>
    <input type="hidden" name="comment_form_id" value="<?php bp_activity_id(); ?>" />
    </div>

    <?php do_action( 'bp_activity_entry_comments' ); ?>

    <?php wp_nonce_field( 'new_activity_comment', '_wpnonce_new_activity_comment' ); ?>

    </form>

    <?php endif; ?>

    </div>'
    ------------------------------------------------------------------------------

    My advice would be to contact the theme developer and raise the issue with him.

  • Kimberly
    • Champion of Loops

    Sorry about asking :slight_smile:

    I scrolled up after I posted to see you had indeed stated your version, then erased :slight_smile: becoming habit I guess! hehe

    you'll need to put that in your themes bp social>activity>entry.php

    search for <div class="activity-meta">

    Then you should recognize the code you posted and be able to insert accordingly

    Let me know if it works!

  • Andrew Shanahan
    • Site Builder, Child of Zeus

    Hahaha, you didn't have to delete - it was a perfectly valid question. At least you didn't say "Have you tried turning it off and then on again." :slight_smile:

    Added it all in and it made precisely naff all difference. Exact same problem. Incidentally, for anyone who ends up here with the same problem I think it's a boring old plugin conflict. But it's a weird one in that once the plugin has done the damage, even if you try and repaid DB or delete/deactivate all plugins it still won't repair the issue.

    In short, it's a right cock. Thanks for your help Kimbo and apologies for gratuitous swears.

  • Kimberly
    • Champion of Loops

    *Phew, I was worried I had offended you :wink:

    Thank Heavens!

    I've put in a word with the upper staffers here to see if we can't find someone with more experience to help get you sorted here. :slight_smile:

    We are a bit short handed this week for devs as we have a big big hush hush project wrapping up this week (hopefully!) so I'm trying to pull someone out of hiding :slight_smile:

  • Andrew Shanahan
    • Site Builder, Child of Zeus

    That's really kind of you KtotheL but I'm almost loathe to waste their time. As a fresh install with just WP, buddypress and BP Social it works fine. Now I'm going to take baby steps, back up the database before every plugin and see which one of them breaks it. Annoying, but necessary. Thanks again for all your help - I'm marking this as closed.

  • Mason
    • DEV MAN’s Sidekick

    Hiya iamstaggered,

    Just curious, did you find which plugin caused this issue? My first guess would've been one that is loading a separate js or jquery library.

    I wasn't able to reproduce the error, but if you've got it knocked down to a plugin we could take a look and see if there's anything we can do better on our end.

    Thanks!

  • Andrew Shanahan
    • Site Builder, Child of Zeus

    Sorry for the delay Mason, been on hols. In short, I'm working through them one at a time. I quite agree that it's something to do with js. In fact, I might well have "It's probably something to do with the JS" tattooed about my person because it will save me time the next time something goes wrong...

  • Andrew Shanahan
    • Site Builder, Child of Zeus

    Just in case anyone ever comes across this and suffers the same, the issue (after literally 10 days of testing and smashing my head into the desk) turned out to be....all my fault. Or partially.

    What happened was that on the Buddpress Extended Profiles "Name" is automatically written into the Base field. This is stupid and should not happen, but I'm not going to carp at the BP guys as they seem nice enough.

    I didn't want Name to be part of the Base profile because we already had Username. I wanted users to be able to choose if they used a username (e.g. MrSpanky1000). If I then had a field that asked for their name too many of them would assume that we needed their real name (*sigh* Terry Jones). This is doubly uncool when the site automatically calls name as a field at various points across a BP install.

    So someone could want the anonymity in order to post questions of a sensitive nature (it's a site for dads, so it might be something about struggling with parenthood) and suddenly their name is visible on the site. Not cool.

    So, what I was doing was creating a new Group in the XProfile field called To Delete, I was then dragging the Name field into the To Delete tab (you can't edit Name...) and then deleting that Group. I was then free to make my base profile a security question and create new groups for a profile.

    Doing this was clearly monkeying with BP's table data and we were ending up in all kinds of trouble, with the blank attribution. Anyway, I stopped doing it and we now hide the name field and have it automatically copy the username field. Smooooth.

Thank NAME, for their help.

Let NAME know exactly why they deserved these points.

Gift a custom amount of points.