<?xml version="1.0" encoding="UTF-8"?>        <rss version="2.0"
             xmlns:atom="http://www.w3.org/2005/Atom"
             xmlns:dc="http://purl.org/dc/elements/1.1/"
             xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
             xmlns:admin="http://webns.net/mvcb/"
             xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
             xmlns:content="http://purl.org/rss/1.0/modules/content/">
        <channel>
            <title>
									wpDiscuz Support Forum - Recent Posts				            </title>
            <link>https://wpdiscuz.com/community/</link>
            <description>wpDiscuz WordPress Comment Plugin Community. Support and Resources.</description>
            <language>en-US</language>
            <lastBuildDate>Sun, 13 Sep 2026 06:44:05 +0000</lastBuildDate>
            <generator>wpForo</generator>
            <ttl>60</ttl>
							                    <item>
                        <title>RE: Whitelisting commenters</title>
                        <link>https://wpdiscuz.com/community/troubleshooting/whitelisting-commenters/#post-30732</link>
                        <pubDate>Sat, 12 Sep 2026 09:57:58 +0000</pubDate>
                        <description><![CDATA[Hi,I&#039;m sorry, but wpDiscuz does not have such a feature. This is a WordPress setting and should be configured from Dashboard &gt; Settings &gt; Discussion.]]></description>
                        <content:encoded><![CDATA[<p>Hi,<br /><br />I'm sorry, but wpDiscuz does not have such a feature. This is a WordPress setting and should be configured from Dashboard &gt; Settings &gt; Discussion.</p>]]></content:encoded>
						                            <category domain="https://wpdiscuz.com/community/"></category>                        <dc:creator>Asti</dc:creator>
                        <guid isPermaLink="true">https://wpdiscuz.com/community/troubleshooting/whitelisting-commenters/#post-30732</guid>
                    </item>
				                    <item>
                        <title>RE: Live-update notification (bubble) never notifies two guest commenters when both leave the comment author email field blank</title>
                        <link>https://wpdiscuz.com/community/bug-reports/live-update-notification-bubble-never-notifies-two-guest-commenters-when-both-leave-the-comment-author-email-field-blank/#post-30731</link>
                        <pubDate>Sat, 12 Sep 2026 09:53:45 +0000</pubDate>
                        <description><![CDATA[Hi,
Thank you for letting us know. 
This will be fixed in the next update.]]></description>
                        <content:encoded><![CDATA[<p>Hi,</p>
<p>Thank you for letting us know. </p>
<p>This will be fixed in the next update.</p>]]></content:encoded>
						                            <category domain="https://wpdiscuz.com/community/"></category>                        <dc:creator>Asti</dc:creator>
                        <guid isPermaLink="true">https://wpdiscuz.com/community/bug-reports/live-update-notification-bubble-never-notifies-two-guest-commenters-when-both-leave-the-comment-author-email-field-blank/#post-30731</guid>
                    </item>
				                    <item>
                        <title>Live-update notification (bubble) never notifies two guest commenters when both leave the comment author email field blank</title>
                        <link>https://wpdiscuz.com/community/bug-reports/live-update-notification-bubble-never-notifies-two-guest-commenters-when-both-leave-the-comment-author-email-field-blank/#post-30730</link>
                        <pubDate>Sat, 12 Sep 2026 04:49:10 +0000</pubDate>
                        <description><![CDATA[wpDiscuz version: 7.6.69Environment: WordPress (ClassicPress-based), PHP, LiteSpeed server, no caching plugin activeSummary:The bubble/live-update REST endpoint (wp-json/wpdiscuz/v1/update) ...]]></description>
                        <content:encoded><![CDATA[<p>wpDiscuz version: 7.6.69<br />Environment: WordPress (ClassicPress-based), PHP, LiteSpeed server, no caching plugin active<br /><br />Summary:<br />The bubble/live-update REST endpoint (wp-json/wpdiscuz/v1/update) never returns<br />newly posted comments in its "ids" field when two different guest visitors post<br />comments without filling in an email address. The overall "all_comments_count"<br />does update correctly, but the "ids" array (which drives the notification<br />bubble/toast) stays empty forever for these visitors, even though the new<br />comments are approved and clearly exist with a higher comment_ID than the<br />client's lastId.<br /><br />Root cause (found by reading includes/class.WpdiscuzDBManager.php):<br />getNewCommentIds() builds its query with:<br /><br />... AND `comment_ID` &gt; %d AND `comment_author_email` != %s ...<br /><br />where %s is the requesting visitor's own email (from $_COOKIE<br />"comment_author_email_" . COOKIEHASH, or the logged-in user's email).<br />This is meant to exclude a visitor's own comments from their own<br />notification feed. However, when a guest commenter does not enter an<br />email address, comment_author_email is stored as an empty string (‘’).<br />If a SECOND, completely different guest visitor also leaves the email<br />field blank, their request also sends email = ''. The exclusion filter<br />then matches "comment_author_email != ''" as FALSE for the other<br />visitor's new comment (because it also equals ''), so that comment is<br />incorrectly treated as "my own" and excluded from `ids` — even though<br />it was posted by a different person in a different browser.<br /><br />Steps to reproduce:<br />1. Open the same post in two different browsers/profiles as two<br />different anonymous guests (not logged in).<br />2. In both, submit a comment WITHOUT filling in an email address<br />(only a display name).<br />3. Wait for the bubble's live-update poll (wp-json/wpdiscuz/v1/update)<br />to fire in either browser.<br />4. Observe: `all_comments_count` increases correctly, but `ids` and<br />the notification bubble/toast never show the other guest's new<br />comment — because both share the same blank email identity.<br />5. For comparison, if one of the two commenters is logged in (so their<br />email is a real, distinct value), notifications work correctly in<br />both directions.<br /><br />Expected behavior:<br />Two different guest visitors who both leave the email field blank<br />should still be notified of each other's new comments — an empty<br />email should not be treated as a shared "identity" for the<br />self-exclusion filter. Suggested fix: only apply the<br />`comment_author_email != %s` exclusion when the requester's email is<br />non-empty, or use a more reliable per-visitor identifier (e.g. a<br />random per-session cookie/nonce) instead of email for this<br />self-exclusion check.<br /><br />Impact:<br />On a public site where many visitors comment as anonymous guests<br />without an email address, this silently breaks the live comment<br />notification feature for a large share of real visitors, not just in<br />a synthetic multi-browser test.<br /><br />Happy to share captured network requests/responses (from Chrome<br />DevTools/Firefox DevTools) and the exact wp_comments rows (comment_ID,<br />comment_author, comment_author_email) that reproduce this if useful.</p>]]></content:encoded>
						                            <category domain="https://wpdiscuz.com/community/"></category>                        <dc:creator>wpdiscuzuser2258</dc:creator>
                        <guid isPermaLink="true">https://wpdiscuz.com/community/bug-reports/live-update-notification-bubble-never-notifies-two-guest-commenters-when-both-leave-the-comment-author-email-field-blank/#post-30730</guid>
                    </item>
				                    <item>
                        <title>Whitelisting commenters</title>
                        <link>https://wpdiscuz.com/community/troubleshooting/whitelisting-commenters/#post-30724</link>
                        <pubDate>Fri, 11 Sep 2026 00:01:52 +0000</pubDate>
                        <description><![CDATA[Following up on this thread from 3 years ago:
I&#039;m interested in a way for my comment moderators to whitelist users either automatically after a certain number of approved posts, or manually ...]]></description>
                        <content:encoded><![CDATA[<p>Following up on this thread from 3 years ago: https://wpdiscuz.com/community/troubleshooting/whitelisting/#post-21326</p>
<p>I'm interested in a way for my comment moderators to whitelist users either automatically after a certain number of approved posts, or manually from either wpDiscuz Settings in the backend or the wpDiscuz Frontend Moderatoin add-on. (We use volunteer moderators on our site, so they don't have access to Settings &gt; Discussion.) Is there an option for this?</p>]]></content:encoded>
						                            <category domain="https://wpdiscuz.com/community/"></category>                        <dc:creator>daniellerch</dc:creator>
                        <guid isPermaLink="true">https://wpdiscuz.com/community/troubleshooting/whitelisting-commenters/#post-30724</guid>
                    </item>
				                    <item>
                        <title>RE:  Same-IP voting restriction in recent versions blocks logged-in users and breaks legitimate scenarios</title>
                        <link>https://wpdiscuz.com/community/troubleshooting/bug-feature-request-same-ip-voting-restriction-in-recent-versions-blocks-logged-in-users-and-breaks-legitimate-scenarios/#post-30722</link>
                        <pubDate>Wed, 09 Sep 2026 13:52:50 +0000</pubDate>
                        <description><![CDATA[@doctorbr , Thanks — your analysis is correct on both scenarios, and the fix is in for the next release (7.6.70).
 
You pinpointed it exactly: the Walker resolved the guest denial reason f...]]></description>
                        <content:encoded><![CDATA[<div><span>@doctorbr , Thanks — your analysis is correct on both scenarios, and the fix is in for the </span><span>next release (7.6.70).</span></div>
<div> </div>
<div><span>You pinpointed it exactly: the Walker resolved the guest denial reason from </span><span>shouldDenyGuestVoteFromSameIP() alone, while voteOnComment() rejects on </span><span>isGuestCanVote before it ever reaches the IP check. So with guest voting </span><span>disabled, a same-IP guest got the "same IP" tooltip and a "Login To Vote" toast, </span><span>and a different-IP guest — the normal production case — got fully live buttons </span><span>that answered the same way on click.</span></div>
<div><span> </span></div>
<div><span>The Walker now resolves the cause in the order the AJAX handler checks it, and</span></div>
<div><span>$args carries the first guest check, as you suggested:</span></div>
<div>
<pre contenteditable="false">if ($currentUserID) {
    $voteDenialCause = $currentUserID === (int)$comment-&gt;user_id ? "self_vote" : "";
} else if (!$canUserVote || trim($currentUserIP) === "") {
    $voteDenialCause = "login_required";
} else {
    $voteDenialCause = WpdiscuzHelper::shouldDenyGuestVoteFromSameIP($comment, $currentUserIP) ? "same_ip" : "";
}</pre>
</div>
<div><span>Three notes on the details:</span></div>
<div><span> </span></div>
<div><span>- One more case is folded into that middle branch: a guest whose IP resolves to</span></div>
<div><span>  empty is also answered with wc_login_to_vote by the handler (!$userID &amp;&amp;</span></div>
<div><span>  !$hasUserIP), so that now renders disabled with the same tooltip instead of</span></div>
<div><span>  live buttons.</span></div>
<div><span> </span></div>
<div><span>- wpdiscuz_hide_readonly_vote_buttons gains "login_required" as a third </span>$voteDenialCause value alongside "self_vote" and "same_ip", in case you switch on it.</div>
<div><span> </span></div>
<div><span>- .wpd-vote-disabled deliberately sets only opacity and cursor, no </span><span>pointer-events: none, and the click handler is untouched — so the buttons stay </span>clickable and the toast still appears. That matters on touch devices, where the tooltip never fires and the tap is the only way to get the explanation.</div>
<div>
<div><span> </span></div>
<div><span>Verified across all six combinations (guest / logged-in × guest voting on / off × </span><span>same / different IP): tooltip and toast now agree in every one.</span></div>
<div><span> </span></div>
<div><span>Thanks again for the precise report — the file and line references made it quick</span></div>
<div><span>to confirm, and it's good to hear the v7.6.68 changes worked out for you.</span></div>
</div>]]></content:encoded>
						                            <category domain="https://wpdiscuz.com/community/"></category>                        <dc:creator>Hakob</dc:creator>
                        <guid isPermaLink="true">https://wpdiscuz.com/community/troubleshooting/bug-feature-request-same-ip-voting-restriction-in-recent-versions-blocks-logged-in-users-and-breaks-legitimate-scenarios/#post-30722</guid>
                    </item>
				                    <item>
                        <title>RE: How to get latest Google icon to show in social login</title>
                        <link>https://wpdiscuz.com/community/troubleshooting/how-to-get-latest-google-icon-to-show-in-social-login/#post-30720</link>
                        <pubDate>Tue, 08 Sep 2026 11:06:46 +0000</pubDate>
                        <description><![CDATA[The latest update of wpDiscuz has resolved this problem and now shows the newer Google icon. Thanks so much!]]></description>
                        <content:encoded><![CDATA[<p>The latest update of wpDiscuz has resolved this problem and now shows the newer Google icon. Thanks so much!</p>]]></content:encoded>
						                            <category domain="https://wpdiscuz.com/community/"></category>                        <dc:creator>cdsingalong</dc:creator>
                        <guid isPermaLink="true">https://wpdiscuz.com/community/troubleshooting/how-to-get-latest-google-icon-to-show-in-social-login/#post-30720</guid>
                    </item>
				                    <item>
                        <title>RE: Nonce invalid when marking comment as sticky</title>
                        <link>https://wpdiscuz.com/community/bug-reports/nonce-invalid-when-marking-comment-as-sticky/#post-30717</link>
                        <pubDate>Tue, 08 Sep 2026 06:53:24 +0000</pubDate>
                        <description><![CDATA[Hi,
Please update the plugin to the latest version and check again.
This issue should be solved.]]></description>
                        <content:encoded><![CDATA[<p>Hi,</p>
<p>Please update the plugin to the latest version and check again.</p>
<p>This issue should be solved.</p>]]></content:encoded>
						                            <category domain="https://wpdiscuz.com/community/"></category>                        <dc:creator>Asti</dc:creator>
                        <guid isPermaLink="true">https://wpdiscuz.com/community/bug-reports/nonce-invalid-when-marking-comment-as-sticky/#post-30717</guid>
                    </item>
				                    <item>
                        <title>RE:  Same-IP voting restriction in recent versions blocks logged-in users and breaks legitimate scenarios</title>
                        <link>https://wpdiscuz.com/community/troubleshooting/bug-feature-request-same-ip-voting-restriction-in-recent-versions-blocks-logged-in-users-and-breaks-legitimate-scenarios/#post-30716</link>
                        <pubDate>Mon, 07 Sep 2026 22:22:29 +0000</pubDate>
                        <description><![CDATA[Thank you for implementing both suggestions in v7.6.68: the disabled state with reduced opacity and tooltip, plus the `wpdiscuz_hide_readonly_vote_buttons` filter, are exactly what I propose...]]></description>
                        <content:encoded><![CDATA[<div>
<div><span>Thank you for implementing both suggestions in v7.6.68: the disabled state with reduced opacity and tooltip, plus the </span><span>`wpdiscuz_hide_readonly_vote_buttons`</span><span> filter, are exactly what I proposed. The implementation is clean and I've removed my CSS override from v7.6.67 since it's no longer needed. &#x1f44d; </span></div>
<br />
<div><span><strong>However</strong>, I found an inconsistency between the tooltip and the toast </span><span>message when a guest tries to vote while "Allow Guests to Vote for </span><span>Comments" is disabled.</span></div>
<br />
<div><span><strong>Steps to reproduce:</strong></span></div>
<br />
<ol>
<li><span>Disable "Allow Guests to Vote for Comments" in wpDiscuz &gt; Settings &gt; </span><span>Comment Thread Features.</span></li>
<li><span>Open any post with comments in an incognito/private window (not logged in).</span></li>
<li><span><span>Hover over a vote button on a comment that shares the visitor's IP (always the case in localhost, <strong>but also possible in production with CGNAT or corporate networks</strong>).</span></span></li>
<li><span><span>The tooltip shows: <span>"<strong>You are not allowed to vote for this comment (Voting from same IP)</strong>"</span></span></span></li>
<li><span><span>Click the button.</span></span></li>
<li><span><span>The toast shows: <span>"<strong>Login To Vote</strong>"</span></span></span></li>
</ol>
<br />
<div><span><strong>Root cause:</strong></span></div>
<br />
<div><span>The Walker (</span><span>`class.WpdiscuzWalker.php`</span><span>, line 305) determines the </span><span>disabled state and tooltip for guests using only </span><span>`shouldDenyGuestVoteFromSameIP()`</span><span>. It never checks the </span><span>`isGuestCanVote`</span><span> setting. When guest voting is disabled AND the IPs </span><span>match, the Walker concludes "same_ip" is the reason and sets the </span><span>tooltip accordingly.</span></div>
<br />
<div><span>But the AJAX handler (</span><span>`voteOnComment()`</span><span>, lines 712–713) checks </span><span>`isGuestCanVote` </span><span>FIRST, before the IP check. Since guest voting is </span><span>disabled, it returns </span><span>`wc_login_to_vote` </span><span>immediately, never reaching </span><span>the IP check. The visitor sees two different explanations for the same denial.</span></div>
<div> </div>
<div><span><strong>There's also a related scenario in production: </strong></span><span>when guest voting </span><span>is disabled but the visitor's IP does NOT match the comment author's </span><span>IP (the normal case), </span><span>`shouldDenyGuestVoteFromSameIP()`</span><span> returns false, so the Walker renders the buttons as fully active, no disabled class, no tooltip. But clicking triggers the AJAX, which returns "Login To Vote" because guest voting is disabled. The visitor sees fully functional buttons that don't work.</span></div>
<br />
<div><span>I noticed that </span><span>`$args`</span><span> is already computed correctly in </span><span>`getCommentListArgs()`</span><span> (</span><span>`class.WpdiscuzCore.php`</span><span>, line 2043) and </span><span>passed to the Walker, but it's never read inside </span><span>`WpdiscuzWalker::start_el()`</span><span>.</span></div>
<br />
<div><span><strong>Suggested fix: </strong></span><span>the Walker should check </span><span>`$args`</span><span>(or the </span><span>`isGuestCanVote`</span><span> option directly) before falling through to </span><span>the IP check. When a guest cannot vote because guest voting is </span><span>disabled, the buttons should show the disabled state with the </span><span>`wc_login_to_vote`</span><span> phrase as the tooltip, matching what the AJAX </span><span>handler will return on click.</span></div>
<br />
<div><span><strong>Conceptually:</strong></span></div>
<br /><br />
<div><span>```</span></div>
<div><span>if ($currentUserID) {</span></div>
<div><span>      // logged-in: check self-vote by user_id (already correct)</span></div>
<div><span>  } else {</span></div>
<div><span>      if (!$args) {</span></div>
<div><span>          // guest voting disabled → disabled state with "login" tooltip</span></div>
<div><span>      } else {</span></div>
<div><span>          // guest voting enabled → check same-IP (already correct)</span></div>
<div><span>      }</span></div>
<div><span>  }</span></div>
<div><span>  ```</span></div>
<br />
<div><span>Everything else in v7.6.68 looks correct and well-structured. The server-side vote checks, rate limiting, the new filter, and the </span><span>disabled CSS are all solid.</span></div>
<div> </div>
<br />
<div><span>```</span></div>
<div><span>Disclosure: This reply was drafted with the assistance of an AI coding assistant (Antigravity v2.12.2 / Claude Opus 4.6) based on my review and testing of the wpDiscuz v7.6.68 source code. The analysis was reviewed and approved by me before posting. All described behaviors were tested in my development environment (WampServer64 / WordPress 7.0.4 / PHP 8.3.30).</span></div>
<div><span>````</span></div>
</div>
<div> </div>]]></content:encoded>
						                            <category domain="https://wpdiscuz.com/community/"></category>                        <dc:creator>DoctorBR</dc:creator>
                        <guid isPermaLink="true">https://wpdiscuz.com/community/troubleshooting/bug-feature-request-same-ip-voting-restriction-in-recent-versions-blocks-logged-in-users-and-breaks-legitimate-scenarios/#post-30716</guid>
                    </item>
							        </channel>
        </rss>
		