EzPortal - Portal Software for Forums

EzPortal Forums => Support => Topic started by: Paul_123 on January 13, 2020, 12:23:55 pm

Title: Recent Topic Ezblock randomly showing "New" message indicator
Post by: Paul_123 on January 13, 2020, 12:23:55 pm
I just upgraded from 3.5 to 4.5.6b, and the new message indicator is randomly showing by the topics in the Recent Topic Ezblock.  If I goto just the forum view and look at unread messages, the correct messages are shown.

Sometimes it shows correctly, sometimes it shows none as new, and other times it shows everything.

Not quite sure where to look at what is causing this.
Title: Re: Recent Topic Ezblock randomly showing "New" message indicator
Post by: EzPortal on January 13, 2020, 01:53:35 pm
What version of SMF? And what caching system setup in SMF what level?. Are you logged in same account?
Title: Re: Recent Topic Ezblock randomly showing "New" message indicator
Post by: Paul_123 on January 13, 2020, 04:53:04 pm
SMF 2.0.17

Caching Level 1

Yes, Even if I stay Logged in, Don't actually visit any posts,   And just refresh the page, the state of the "NEW" indicator will change.
Title: Re: Recent Topic Ezblock randomly showing "New" message indicator
Post by: EzPortal on January 13, 2020, 04:55:05 pm
Hmm, Ok will review and see what I can find out.
Title: Re: Recent Topic Ezblock randomly showing "New" message indicator
Post by: Paul_123 on January 13, 2020, 09:47:44 pm
The question about the caching helped.

in Subs-EzPortalMain2.php.

First I just removed the if statement doing the cache lookup, so that there was a database call every time.  And that worked to cleanup the issue.

So I got to looking at the data in the cache file.  When I read a topic, that gets recorded in the database, however the cache files that are being saved appear to be user independent......meaning, how does ezportal know if the cache was saved based on my lookup, or the user lookup that loaded the page right before me?  Should the cache file have a userid in the file name....such that only my information is saved.

Also, when writing the cache, it is putting a 300 second expiry, should this be 30 seconds like the Recent Posts?  At which point is there any value in caching these entries at all?

Here is a diff of what I was describing.

Code: [Select]
diff --git a/Sources/Subs-EzPortalMain2.php b/Sources/Subs-EzPortalMain2.php
index 3bccdfb..ea306e6 100644
--- a/Sources/Subs-EzPortalMain2.php
+++ b/Sources/Subs-EzPortalMain2.php
@@ -752,7 +752,7 @@ function EzBlockRecentTopicsBlock($paramters = array(), $numTopics = 10, $exclud

        $posts = array();

-       if (($posts = cache_get_data('ezprecenttopics_block_' . $ezblocklayoutid . '_' . $modSettings['maxMsgID'], 30)) == null)
+       if (($posts = cache_get_data('ezprecenttopics_block_' . $user_info['id'] . '_' . $ezblocklayoutid . '_' . $modSettings['maxMsgID'], 30)) == null)
        {
        // Find all the posts in distinct topics.  Newer ones will have higher IDs.
        $request = $smcFunc['db_query']('', "
@@ -822,7 +822,7 @@ function EzBlockRecentTopicsBlock($paramters = array(), $numTopics = 10, $exclud

                // Check if cache is enabled
                if (!empty($modSettings['cache_enable']))
-                       cache_put_data('ezprecenttopics_block_' . $ezblocklayoutid . '_' . $modSettings['maxMsgID'], $posts, 300);
+                       cache_put_data('ezprecenttopics_block_' . $user_info['id'] . '_' . $ezblocklayoutid . '_' . $modSettings['maxMsgID'], $posts, 30);

        }

@@ -3919,4 +3919,4 @@ function EzBlockCalendar($paramters = array(), $showBirthdays = 1, $showEvents =

        echo $endHtml;
 }
Title: Re: Recent Topic Ezblock randomly showing "New" message indicator
Post by: EzPortal on January 14, 2020, 09:03:57 am
You are right should be user dependent for recent topics and blocks.

I think setting caching time  to 10 seconds would be safe. I might make the caching level 3 in order for the ezportal to turn on caching for those blocks.

The caching is mainly done to prevent high load or a lot of bots from slowing down the forum.
Title: Re: Recent Topic Ezblock randomly showing "New" message indicator
Post by: EzPortal on January 14, 2020, 09:44:10 am
Posted an update to fix thanks for troubleshooting!!!

4.5.7
!Fixed new indicator for recent posts and recent topics block for SMF 2.0 to cache per user instead of global cached.
Title: Re: Recent Topic Ezblock randomly showing "New" message indicator
Post by: Paul_123 on January 14, 2020, 09:31:26 pm
Installed...looks good.
Title: Re: Recent Topic Ezblock randomly showing "New" message indicator
Post by: EzPortal on January 14, 2020, 10:17:10 pm
Great glad that helped.