(officialy a bug report now) multiple photos in a timeline status update issues

soaringeagle
@soaringeagle
9 years ago
3,304 posts
a member posted a timeline status update, he addedd multiple photos
only the 1st 1 showed up corectly the rest show as the "default photo"
as seen here
https://www.dreadlockssite.com/peacefrog

edit
did extensive diagmnosis
didscovered the issue
it only happens if the profiles shared profile owner and followers only
when made public, they show, when made sharedd again they dont, when followed and hard refreshed they dont (clearing cache didnt help either)


--
soaringeagle
head dreadhead at dreadlocks site
glider pilot student and member/volunteer coordinator with freedoms wings international soaring for people with disabilities

updated by @soaringeagle: 07/15/15 05:10:08PM
Strumelia
Strumelia
@strumelia
9 years ago
3,603 posts
Can't see unless logged in.


--
...just another satisfied Jamroom customer.
Migrated from Ning to Jamroom June 2015
michael
@michael
9 years ago
7,715 posts
your images are missing the /_v=1433815364 parameter

They look like this:
https://www.dreadlockssite.com/upimg/image/upimg_file/267/256

if they looked like this:
https://www.dreadlockssite.com/upimg/image/upimg_file/267/256/_v=123456

Then they would show.

so add the item._updated variable at the end of the URL to your custom template link.

That will show the updated time as the _v parameter and if it ever changed, then the browser would know to clear the cache and get it again.
soaringeagle
@soaringeagle
9 years ago
3,304 posts
i dont think that uses a custom template, but ill check


--
soaringeagle
head dreadhead at dreadlocks site
glider pilot student and member/volunteer coordinator with freedoms wings international soaring for people with disabilities
soaringeagle
@soaringeagle
9 years ago
3,304 posts
what template would it be and could anty of these mod_pagespeed filters be interfering




ModPagespeedEnableFilters remove_comments,collapse_whitespace,dedup_inlined_images,insert_dns_prefetch,inline_google_font_css
ModPagespeedEnableFilters local_storage_cache,resize_mobile_images,inline_preview_images,sprite_images,move_css_above_scripts,move_css_to_head
ModPagespeedEnableFilters make_google_analytics_async,recompress_images,rewrite_images,extend_cache,insert_image_dimensions,prioritize_critical_css,lazyload_images


i thought lazyloiad but removdd it restarted apache refreshed no change but there was still script there about prioritizing the images above the fold


ok i disabled all but core pagespeed filters, i found the templatei think
this is the template codfe, its the default unmodified
{if isset($_items)}

    {if (jrCore_module_is_active('jrComment') && $_items[0].quota_jrComment_allowed == 'on') || (jrCore_module_is_active('jrDisqus') && $_items[0].quota_jrDisqus_allowed == 'on')}
        {assign var="img" value="comments.png"}
        {jrCore_lang module="jrAction" id="22" default="Comments" assign="alt"}
    {else}
        {assign var="img" value="link.png"}
        {jrCore_lang module="jrAction" id="23" default="Link To This" assign="alt"}
    {/if}

    {jrCore_module_url module="jrAction" assign="murl"}
    {foreach from=$_items item="item"}

    {* Shared Action *}
    {if isset($item.action_original_profile_url)}

        <div id="a{$item._item_id}" class="action_item_holder_shared">
            <div class="container">
                <div class="row">

                    <div class="col2">
                        <div class="action_item_media" title="{$item.action_original_profile_name|jrCore_entity_string}" onclick="jrCore_window_location('{$jamroom_url}/{$item.action_original_profile_url}/{$murl}/{$item.action_original_item_id}')">
                            {jrCore_module_function function="jrImage_display" module="jrUser" type="user_image" item_id=$item.action_original_user_id size="icon" crop="auto" alt=$item.user_name class="action_item_user_img img_shadow img_scale"}
                        </div>
                    </div>

                    <div class="col9">
                        <div class="action_item_desc">

                            <a href="{$jamroom_url}/{$item.action_original_profile_url}" class="action_item_title" title="{$item.action_original_profile_name|jrCore_entity_string}">@{$item.action_original_profile_url}</a> <span class="action_item_actions">&bull; {$item._created|jrCore_date_format:"relative"} &bull; {jrCore_lang module="jrAction" id="21" default="Shared By"} <a href="{$jamroom_url}/{$item.profile_url}" title="{$item.profile_name}">@{$item.profile_url}</a></span><br>

                            <div class="action_item_link" title="{$item.action_original_profile_name|jrCore_entity_string}" onclick="jrCore_window_location('{$jamroom_url}/{$item.action_original_profile_url}');">
                            {if isset($item.action_data) && strlen($item.action_data) > 0}
                                {$item.action_data}
                            {else}
                                <div class="p5">{$item.action_text|jrCore_format_string:$item.profile_quota_id|jrAction_convert_hash_tags}</div>
                            {/if}
                            </div>

                        </div>
                    </div>

                    <div class="col1 last">
                        <div id="d{$item._item_id}" class="action_item_delete">
                            <script>$(function () { $('#a{$item._item_id}').hover(function() { $('#d{$item._item_id}').toggle(); }); });</script>
                            {jrCore_item_delete_button module="jrAction" profile_id=$item._profile_id item_id=$item._item_id}
                        </div>
                    </div>

                </div>
            </div>
        </div>

    {* Activity Updates *}
    {elseif isset($item.action_text)}

        <div id="a{$item._item_id}" class="action_item_holder">
            <div class="container">
                <div class="row">

                    <div class="col2">
                        <div class="action_item_media" onclick="jrCore_window_location('{$jamroom_url}/{$item.profile_url}/{$murl}/{$item._item_id}')">
                            {jrCore_module_function function="jrImage_display" module="jrUser" type="user_image" item_id=$item._user_id size="icon" crop="auto" alt=$item.user_name class="action_item_user_img img_shadow img_scale"}
                        </div>
                    </div>
                    <div class="col10 last" style="position:relative">

                        <div class="position: absolute; top: 0px; right: 0px; display: none;">
                             <div id="d{$item._item_id}" class="action_item_delete">
                                 <script>$(function () { $('#a{$item._item_id}').hover(function() { $('#d{$item._item_id}').toggle(); }); });</script>
                                 {jrCore_item_update_button module="jrAction" profile_id=$item._profile_id item_id=$item._item_id}
                                 {jrCore_item_delete_button module="jrAction" profile_id=$item._profile_id item_id=$item._item_id}
                             </div>
                         </div>

                        <div class="action_item_desc">

                            <a href="{$jamroom_url}/{$item.profile_url}" class="action_item_title" title="{$item.profile_name|jrCore_entity_string}">@{$item.profile_url}</a> <span class="action_item_actions">&bull; {$item._created|jrCore_date_format:"relative"}{if jrUser_is_logged_in() && $_user._user_id != $item._user_id && $item.action_shared_by_user != '1'} &bull; <a href="{$jamroom_url}/{$murl}/share/{$item._item_id}" onclick="if(!confirm('{jrCore_lang module="jrAction" id="9" default="Share this update with your followers?"}')) { return false; }">{jrCore_lang module="jrAction" id="10" default="Share This"}</a>{/if} {if $_post.module_url == $_user.profile_url && $item.action_shared_by_user == '1'} &bull; <a href="{$jamroom_url}/{$item.profile_url}/{$murl}/{$item._item_id}">{jrCore_lang module="jrAction" id="26" default="shared by you"}</a> {elseif $item.action_shared_by_count > 0} &bull; {jrCore_lang module="jrAction" id="24" default="shared by"} <a href="{$jamroom_url}/{$item.profile_url}/{$murl}/{$item._item_id}">{$item.action_shared_by_count} {jrCore_lang module="jrAction" id="25" default="follower(s)"}</a>{/if}{if $img == "comments.png"} &bull; <a href="{$jamroom_url}/{$item.profile_url}/{$murl}/{$item._item_id}">{jrCore_lang module="jrAction" id="22" default="Comments"}: {$item.action_comment_count|default:0}</a>{/if}</span><br>

                            <div class="action_item_link">
                                <div class="p5">{$item.action_text|jrCore_format_string:$item.profile_quota_id|jrAction_convert_hash_tags}</div>
                            </div>

                        </div>
                    </div>

                </div>
            </div>
         </div>

    {* Registered Module Action templates *}
    {elseif isset($item.action_data) && strpos($item.action_data, '{') !== 0}

        {jrCore_module_url module=$item.action_module assign="lurl"}

        <div id="a{$item._item_id}" class="action_item_holder">
            <div class="container">
                <div class="row">

                    <div class="col2">
                    {if isset($item.album_title_url)}
                        <div class="action_item_media" onclick="jrCore_window_location('{$jamroom_url}/{$item.profile_url}/{$lurl}/albums/{$item.album_title_url}')">
                    {elseif isset($item.action_title_url)}
                        <div class="action_item_media" onclick="jrCore_window_location('{$jamroom_url}/{$item.profile_url}/{$lurl}/{$item.action_item_id}/{$item.action_title_url}')">
                    {else}
                        <div class="action_item_media">
                    {/if}
                            {jrCore_module_function function="jrImage_display" module="jrUser" type="user_image" item_id=$item._user_id size="icon" crop="auto" alt=$item.user_name class="action_item_user_img img_shadow img_scale"}
                        </div>
                    </div>
                    <div class="col9">

                        <div class="action_item_desc">

                            <a href="{$jamroom_url}/{$item.profile_url}" class="action_item_title" title="{$item.profile_name|jrCore_entity_string}">@{$item.profile_url}</a> <span class="action_item_actions">&bull; {$item._created|jrCore_date_format:"relative"}{if jrUser_is_logged_in() && $_user._user_id != $item._user_id && $item.action_shared_by_user != '1'} &bull; <a href="{$jamroom_url}/{$murl}/share/{$item._item_id}" onclick="if(!confirm('{jrCore_lang module="jrAction" id="9" default="Share this update with your followers?"}')) { return false; }">{jrCore_lang module="jrAction" id="10" default="Share This"}</a>{/if} {if $_post.module_url == $_user.profile_url && $item.action_shared_by_user == '1'} &bull; <a href="{$jamroom_url}/{$item.profile_url}/{$murl}/{$item._item_id}">{jrCore_lang module="jrAction" id="26" default="shared by you"}</a> {elseif $item.action_shared_by_count > 0} &bull; {jrCore_lang module="jrAction" id="24" default="shared by"} <a href="{$jamroom_url}/{$item.profile_url}/{$murl}/{$item._item_id}">{$item.action_shared_by_count} {jrCore_lang module="jrAction" id="25" default="follower(s)"}</a>{/if}</span><br>

                            {if isset($item.album_title_url)}
                            <div class="action_item_link" onclick="jrCore_window_location('{$jamroom_url}/{$item.profile_url}/{$lurl}/albums/{$item.album_title_url}')">
                            {elseif isset($item.action_title_url)}
                            <div class="action_item_link" onclick="jrCore_window_location('{$jamroom_url}/{$item.profile_url}/{$lurl}/{$item.action_item_id}/{$item.action_title_url}')">
                            {else}
                            <div class="action_item_link">
                            {/if}
                                {$item.action_data}
                            </div>

                        </div>
                    </div>
                    <div class="col1 last">
                        <div id="d{$item._item_id}" class="action_item_delete">
                            <script>$(function () { $('#a{$item._item_id}').hover(function() { $('#d{$item._item_id}').toggle(); }); });</script>
                            {jrCore_item_delete_button module="jrAction" profile_id=$item._profile_id item_id=$item._item_id}
                        </div>
                    </div>

                </div>
            </div>
        </div>

    {/if}

    {/foreach}

{/if}


im not seeing anything8n there

wait, what was the lastmodule update wasnt it embed media could there be a code thingin therer

also this is marked as a private profile
when i tried on my profile, all images showed
going to test again but canthat be the cause something in the privacy


--
soaringeagle
head dreadhead at dreadlocks site
glider pilot student and member/volunteer coordinator with freedoms wings international soaring for people with disabilities
soaringeagle
@soaringeagle
9 years ago
3,304 posts
more testing, i uploaded some therree was no v anything, but they worked fine

ps i am still having an issue when i run integrity check,it gets to jrforums and locks the site up sql shows a ton of waiting for table lock to delete cache headers or something (posted a discussion days ago gotno replies) it then causes mysql too many connections errors , untill i restart mysql


--
soaringeagle
head dreadhead at dreadlocks site
glider pilot student and member/volunteer coordinator with freedoms wings international soaring for people with disabilities
soaringeagle
@soaringeagle
9 years ago
3,304 posts
updated with all diagnostic steps to prove its a bug affected by privacy settings


--
soaringeagle
head dreadhead at dreadlocks site
glider pilot student and member/volunteer coordinator with freedoms wings international soaring for people with disabilities
michael
@michael
9 years ago
7,715 posts
What are the steps to reproduce?
soaringeagle
@soaringeagle
9 years ago
3,304 posts
ok he posted images in a status update, on an account thats shared not public, they showeed up in the activity feeed to me as admin 1st pic right rest default pics on hois page they were same, after some testing, not sure what all shgowed as default
set his profile to global vidsibility
all pics showed up perfectly
reset it to owner and followers only all were default,
followed
default
hard refresh
default
cleared cache in diferent browswer
default
cleared image cache, cleared varnish cache disabled all mod_pagespeed filters but core filters restarted apache

literaly everything i can think of


like i said i also cant run the integrity check without it loicking tabled over running connections on mysql evenb after setting max connections way high

i kinda wonder if that has to do with caching though as its locking tables and deletring cache references (see my other post i never got a reply to, itt has the showprocesslist exam0ples of what the locked tables are doing


ps... was kinda surprised when it persisted after following


--
soaringeagle
head dreadhead at dreadlocks site
glider pilot student and member/volunteer coordinator with freedoms wings international soaring for people with disabilities

updated by @soaringeagle: 06/11/15 09:53:07PM
michael
@michael
9 years ago
7,715 posts
Thanks I'll see if I can replicate it here.
soaringeagle
@soaringeagle
9 years ago
3,304 posts
its most likekly a jraction issue but i put it in ning to jr because at the time i thought it was a jrningja issue


--
soaringeagle
head dreadhead at dreadlocks site
glider pilot student and member/volunteer coordinator with freedoms wings international soaring for people with disabilities
soaringeagle
@soaringeagle
9 years ago
3,304 posts
and if 1 of u wants server access to take a look at my integrity check issue, pm me
though i might set that aside for 48 hours do a database tuneer and try it 1 more time after doing that
we did try setting something to disable table lock wait but that didnt help things at all

imay have posted my my.cnf settings in that post, i cant remember


--
soaringeagle
head dreadhead at dreadlocks site
glider pilot student and member/volunteer coordinator with freedoms wings international soaring for people with disabilities

Tags