Jump to content

Nathan Explosion

Clients
  • Posts

    6,984
  • Joined

  • Days Won

    127

 Content Type 

Downloads

Release Notes

IPS4 Guides

IPS4 Developer Documentation

Invision Community Blog

Development Blog

Deprecation Tracker

Providers Directory

Forums

Events

Store

Gallery

Posts posted by Nathan Explosion

  1. 4 minutes ago, David N. said:

    I searched my ACP for 'quote' and 'quoting' but didn't find anything. 

    I thought I had limited my quoting level to 1. Meaning, if user A posts something, and user B quotes user A and answers, and I try to quote the whole post by user B, only what B wrote is inside the quote in my post, it automatically strips the quote from A. 

    Now this works for me, limiting my quote to only whoever I'm quoting, and not who they had quoted. 

    And yet I just saw a regular member quote someone's quote...

    I'm not sure where to go to double-check my settings? 

    4 minutes ago, David N. said:

    I searched my ACP for 'quote' and 'quoting' but didn't find anything. 

    I thought I had limited my quoting level to 1. Meaning, if user A posts something, and user B quotes user A and answers, and I try to quote the whole post by user B, only what B wrote is inside the quote in my post, it automatically strips the quote from A. 

    Now this works for me, limiting my quote to only whoever I'm quoting, and not who they had quoted. 

    And yet I just saw a regular member quote someone's quote...

    I'm not sure where to go to double-check my settings? 

    4 minutes ago, David N. said:

    I searched my ACP for 'quote' and 'quoting' but didn't find anything. 

    I thought I had limited my quoting level to 1. Meaning, if user A posts something, and user B quotes user A and answers, and I try to quote the whole post by user B, only what B wrote is inside the quote in my post, it automatically strips the quote from A. 

    Now this works for me, limiting my quote to only whoever I'm quoting, and not who they had quoted. 

    And yet I just saw a regular member quote someone's quote...

    I'm not sure where to go to double-check my settings? 

    4 minutes ago, David N. said:

    I searched my ACP for 'quote' and 'quoting' but didn't find anything. 

    I thought I had limited my quoting level to 1. Meaning, if user A posts something, and user B quotes user A and answers, and I try to quote the whole post by user B, only what B wrote is inside the quote in my post, it automatically strips the quote from A. 

    Now this works for me, limiting my quote to only whoever I'm quoting, and not who they had quoted. 

    And yet I just saw a regular member quote someone's quote...

    I'm not sure where to go to double-check my settings? 

     

    Like that? If so, it's probably simply a case of them quoting the content then copying the quote and pasting into an existing quote...and rinse/repeat.

    Quoting works the way you see it - 1 level. But there are ways around it, as mentioned.

  2. Are you definitely using PHP 8.0 for your site? Go to the support page in the ACP and confirm what version of PHP your site is running under, then come back and advise.

  3. Here are your reproduction steps...

    1. Login to a site
    2. Logout
    3. Change your IP address
    4. Login to the site again, ensuring same browser and account
    5. Set the "Remove IP addresses after" setting to whatever you want (I believe the minimum is 1 day)
    6. Wait that amount of time, then run the task.

    To reproduce it quicker, you're going to need to manipulate database records to change the last_seen value to meet the criteria.

    Potential fix: modify that primary key to include the last_seen value.

  4. Reporting it as it just occurred on my live site...

    UPDATE `core_members_known_ip_addresses` `core_members_known_ip_addresses`  SET `ip_address`='' WHERE ip_address != '' AND last_seen <1709136738
    IPS\Db\Exception: Duplicate entry '0138fdaa72c8135e62b3487f5be7b11d-2970-' for key 'PRIMARY' (1062)
    #0 /home/fbaeefdf/live.ynwa.tv/system/Db/Db.php(1159): IPS\_Db->preparedQuery()
    #1 /home/fbaeefdf/live.ynwa.tv/applications/core/extensions/core/IpAddresses/Logins.php(33): IPS\_Db->update()
    #2 /home/fbaeefdf/live.ynwa.tv/system/Member/Member.php(6504): IPS\core\extensions\core\IpAddresses\_Logins->pruneIpAddresses()
    #3 /home/fbaeefdf/live.ynwa.tv/applications/core/tasks/pruneipaddresses.php(43): IPS\_Member::pruneAllLoggedIpAddresses()
    #4 /home/fbaeefdf/live.ynwa.tv/system/Task/Task.php(281): IPS\core\tasks\_pruneipaddresses->execute()
    #5 /home/fbaeefdf/live.ynwa.tv/applications/core/modules/admin/settings/advanced.php(751): IPS\_Task->run()
    #6 /home/fbaeefdf/live.ynwa.tv/system/Dispatcher/Controller.php(107): IPS\core\modules\admin\settings\_advanced->runTask()
    #7 /home/fbaeefdf/live.ynwa.tv/applications/core/modules/admin/settings/advanced.php(38): IPS\Dispatcher\_Controller->execute()
    #8 /home/fbaeefdf/live.ynwa.tv/system/Dispatcher/Dispatcher.php(153): IPS\core\modules\admin\settings\_advanced->execute()
    #9 /home/fbaeefdf/live.ynwa.tv/admin/index.php(13): IPS\_Dispatcher->run()
    #10 {main}

    I believe this is a knock-on effect of it NOT having been pruning the IP addresses correctly previously - the issue you'll have is that there could be multiple entries for a specific device_key and member_id, but with different IP addresses. Now that task has been fixed to do the pruning, when it tries to remove the IP address on those multiple entries, the PRIMARY key for each row will end up being the same as the key is made up of device_key, member_id, IP address (which is now blank)

    Sample content attached:core_members_known_ip_addresses.sql

    When the query in the task runs against that data, the error occurs:

    UPDATE `core_members_known_ip_addresses` `core_members_known_ip_addresses`  SET `ip_address`='' WHERE ip_address != '' AND last_seen <1709135288

    Could contain: File, Page, Text, Webpage

     

     

×
×
  • Create New...