AlexJ Posted March 16, 2019 Posted March 16, 2019 Small suggestion - 1. After deleting the members it goes back to member listing page. Possible to make it so that it goes to the list from where we started? 2. The count of post in member listing page. 3. Multi-select. This manually deleting old members is pain 😞  Makoto 1
Makoto Posted March 16, 2019 Author Posted March 16, 2019 My end-goal might be to just integrate with the Members listing page instead of essentially replicating it in the application itself. This way you'll be able to filter by disposable members there, and use IPS' native tools to prune members with disposable E-mail's all at once if you'd like (which would take care of suggestion #3). @AlexJ Do you think a solution like that would work for you? Gabriel Torres and AlexJ 2
AlexJ Posted March 16, 2019 Posted March 16, 2019 2 minutes ago, Makoto said: My end-goal might be to just integrate with the Members listing page instead of essentially replicating it in the application itself. This way you'll be able to filter by disposable members there, and use IPS' native tools to prune members with disposable E-mail's all at once if you'd like (which would take care of suggestion #3). @AlexJ Do you think a solution like that would work for you? Yes. Problem with IPS listing page is they don't show post count in their spammer listing page as well. Is their anyway, I can filter i.e. show 0 post count member + temp email members? So i can just prune them up? If yes, i am all set. If not one day, I do monkey work to click, click and click and clean up old mess. 😄  Makoto 1
Gabriel Torres Posted March 16, 2019 Posted March 16, 2019 8 hours ago, AlexJ said: I can filter i.e. show 0 post count member + temp email members? So i can just prune them up? hehehe I guess this is the #1 request, huh @Makoto ?
Makoto Posted March 19, 2019 Author Posted March 19, 2019 I've been talking with the Kickbox team and there shouldn't be any rate limiting causing Kickbox to return the null responses that we're seeing in our server logs. So I'm going to add some extra logging to the next release and see if we can't narrow down the cause of the issue there. Like mentioned above though, it won't cause the application to stop working and it only seems to occur when running the reindex tasks, but I'd still like to prevent it from occurring at all if possible.
Makoto Posted March 23, 2019 Author Posted March 23, 2019 (edited) Version 1.2.0 has been released!  This is a major release that primarily adds support for either prompting members with disposable e-mails to update on login (optional), or forcing members with disposable e-mails to update before they can access any area of the site. This additionally adds the logging feature requested by @Gabriel Torres. Next on the update list will be better member filtering and support for taking actions against members with disposable e-mails in bulk. Also, if you've been enjoying the application so far, please consider giving it a review! It'll help me a ton and I'd be very thankful ヾ(^-^)ノ Edited March 23, 2019 by Makoto Bluto and Gabriel Torres 1 1
Gabriel Torres Posted March 23, 2019 Posted March 23, 2019 (edited) @Makoto Trying to enable logging throws an error here. Will PM you. Also, the list of previously detected emails with disposable emails (that task that took hours) is now gone... Â Â Edited March 23, 2019 by Gabriel Torres
MediaDiGi Posted March 23, 2019 Posted March 23, 2019 (edited) I get errors on when I try to reindex members or log actions: SELECT count(*) FROM `x_utf_ibf_indisposable_logs` AS `indisposable_logs` IPS\Db\Exception: Table 'USER.x_utf_ibf_indisposable_logs' doesn't exist (1146) #0 /PATH/public/system/Db/Select.php(373): IPS\_Db->preparedQuery('/*IPS\\Helpers\\T...', Array, true) #1 //PATH//public/system/Db/Select.php(436): IPS\Db\_Select->runQuery() #2 //PATH//public/system/Db/Select.php(355): IPS\Db\_Select->rewind() #3 //PATH/public/system/Helpers/Table/Db.php(308): IPS\Db\_Select->first() #4 //PATH//public/system/Helpers/Table/Table.php(484): IPS\Helpers\Table\_Db->getRows(Array) #5 //PATH//public/applications/indisposable/modules/admin/indisposable/logs.php(101): IPS\Helpers\Table\_Table->__toString() #6 /PATH//public/system/Dispatcher/Controller.php(96): IPS\indisposable\modules\admin\indisposable\_logs->manage() #7 //PATH//public/applications/indisposable/modules/admin/indisposable/logs.php(26): IPS\Dispatcher\_Controller->execute() #8 //PATH//public/system/Dispatcher/Dispatcher.php(152): IPS\indisposable\modules\admin\indisposable\_logs->execute() #9 //PATH//public/admin/index.php(14): IPS\_Dispatcher->run() #10 {main} Â Edited March 23, 2019 by MediaDIGI.com
Makoto Posted March 23, 2019 Author Posted March 23, 2019 (edited) @Gabriel Torres, @MediaDIGI.com, Sorry about that, please upgrade to 1.2.1 and see if this resolves the issue! (I'm using a new local build script that wasn't pulling the latest setup files from my development server, so the 1.2.0 release was missing a file needed to create that table. 1.2.1 will check if the table exists and create it if not.) I've got that fixed now so it won't happen again in the future! @Gabriel Torres, That shouldn't happen again, I apologize for that. I've made some performance improvements to the rebuild script that should help speed it along this time, however. This list will also now be automatically populated with 1.2.0, so you don't need to run the script unless you want to immediately have all the members indexed. Edited March 23, 2019 by Makoto
Makoto Posted March 23, 2019 Author Posted March 23, 2019 3 minutes ago, MediaDIGI.com said: Fixed the logging but not the reindex. Can you post the exact error you are getting when running the reindex script?
MediaDiGi Posted March 23, 2019 Posted March 23, 2019 1 minute ago, Makoto said: Can you post the exact error you are getting when running the reindex script? Sent it via PM
Gabriel Torres Posted March 26, 2019 Posted March 26, 2019 @Makoto When I click on a username in the Members list, the link redirects to: &app=core&module=members&controller=members&do=edit&id=XXXXX Instead of: &app=core&module=members&controller=members&do=view&id=XXXXXX Which would be more useful for me here! The error I reported is gone. I will wait a couple of days to see if the list was fully populated and let you know! 🙂 Thanks for your outstanding support and adding the features we are requesting! 🙂  AlexJ and Makoto 1 1
vicentiu Posted March 26, 2019 Posted March 26, 2019 (edited) On 3/8/2019 at 4:45 PM, Makoto said: Indisposable also caches e-mail domains that kickbox returns as disposable addresses, so you only actually need to query them once for the domain, then everything can be checked locally on your server; so it keeps performance in-mind especially for high-traffic websites. Does it also cache responses for non-disposable addresses? Or will it query kickbox every time there is a @gmail address? Edited March 26, 2019 by vicentiu
Makoto Posted March 26, 2019 Author Posted March 26, 2019 (edited) 2 hours ago, vicentiu said: Does it also cache responses for non-disposable addresses? Yep! Responses for non-disposable addresses are temporarily cached (currently for a few days). The reason they're only temporarily cached is just to ensure that the domains aren't disposable e-mail addresses that haven't been caught yet. On top of that, there is a hard-coded array of 149 well-known trustworthy e-mail domains (from all countries) stored in the validation class that is checked first, which includes services such as gmail, hotmail and so on. So it will never even need to query for those, it knows those are legitimate right away. I've worked to make sure everything is built with performance in mind so you should have nothing to worry about, but I'm here to help if you do run into any issues! Edited March 26, 2019 by Makoto AlexJ 1
Gabriel Torres Posted March 27, 2019 Posted March 27, 2019 @Makoto 24 hours and the app has automatically identified only one user with disposable email address... 😑Â
Makoto Posted March 27, 2019 Author Posted March 27, 2019 21 minutes ago, Gabriel Torres said: @Makoto 24 hours and the app has automatically identified only one user with disposable email address... 😑 Do you mean registrations, or existing members? Are you seeing members with disposable e-mails that it is missing, and are you referring to the Members table, or the Logs table?
Makoto Posted March 27, 2019 Author Posted March 27, 2019 (edited) The issue with "Malformed kickbox requests" being logged will be resolved with the next maintenance release, which will be posted by Friday,https://dev.taiga.sh/ips/Indisposable/milestones/3 @Gabriel Torres let me know if you're having any issues with logging and I'll make sure that's investigated before then. If you just mean identifying members without manually running the reindex task, keep in mind it will only automatically re-identify these members when they log into their accounts. (So you may actually want to go ahead and run the reindex task again if you plan to use the filters for bulk mailing, otherwise it should still work as intended for forcing members to update their e-mails and group promotion rules) Edited March 27, 2019 by Makoto
vicentiu Posted March 27, 2019 Posted March 27, 2019 (edited) I noticed there are other disposable email validators available with free API's: www.block-disposable-email.com www.ipqualityscore.com www.validator.pizza Is it worth allowing users to add other sources? I can think of three reasons: As a fallback if kickbox is down Get a second opinion from another source Distribute the load between different sites, so no single site is queried as much. I see two implementation options: Hard code known sites with checkboxes next to them for users to enable and have a priority list as a fallback plan if a site doesn't respond or gives errors. Allow users to enter their own URL that includes their API-KEY Edited March 27, 2019 by vicentiu
Gabriel Torres Posted March 27, 2019 Posted March 27, 2019 10 hours ago, Makoto said: Do you mean registrations, or existing members? Existing members. Remember that with the previous version I had to run this manually and took several hours, and for this version you wrote above that the system would do this automatically? 2 hours ago, Makoto said: keep in mind it will only automatically re-identify these members when they log into their accounts. That explains it... hehehe I've just launched the task to re-identify these members. Thanks for putting this task in the background now! hehehe  Makoto 1
Makoto Posted March 27, 2019 Author Posted March 27, 2019 (edited) 5 hours ago, vicentiu said: I noticed there are other disposable email validators available with free API's: www.block-disposable-email.com www.ipqualityscore.com www.validator.pizza Is it worth allowing users to add other sources? I can think of three reasons: As a fallback if kickbox is down Get a second opinion from another source Distribute the load between different sites, so no single site is queried as much. I see two implementation options: Hard code known sites with checkboxes next to them for users to enable and have a priority list as a fallback plan if a site doesn't respond or gives errors. Allow users to enter their own URL that includes their API-KEY Hi there! Thank you for your feedback! Kickbox is an extremely reputable service and their API service is solid and well tested, so I put a lot of trust in their service. On top of that, their for-profit parent service allows them to provide the disposable e-mail validation service 100% free without needing an API key and with no usage limits (the other options you listed above have usage limits that would be extremely restricting on larger communities, unfortunately). Edited March 27, 2019 by Makoto
vicentiu Posted March 28, 2019 Posted March 28, 2019 (edited) I purchased and installed the plugin yesterday. I tested registration with a disposable email, but it's not blocking it, so I assume it's not working for some reason. I also couldn't find the interface for executing all the activities mentioned under Features. thanks Edited March 28, 2019 by vicentiu
Makoto Posted March 28, 2019 Author Posted March 28, 2019 10 minutes ago, vicentiu said: I purchased and installed the plugin yesterday. I tested registration with a disposable email, but it's not blocking it, so I assume it's not working for some reason. I also couldn't find the interface for executing all the activities mentioned under Features. thanks Hi @vicentiu! Can you please confirm what version of IPS you are running, and let me know what disposable e-mail domain you are testing with? Also note that this is an Application, not a plugin, so it must be installed from the Applications page.
vicentiu Posted March 28, 2019 Posted March 28, 2019 (edited) Where do I find the version? I know we upgraded last week, so I assume we're on the latest. I tried antichef.net Yes, we installed it in Applications. Edited March 28, 2019 by vicentiu
Makoto Posted March 28, 2019 Author Posted March 28, 2019 If you have installed the application but are not seeing the settings for it and it is not blocking registrations, there might have been an issue installing the application in your specific server environment. Can you please send me a PM here or on Slack so that I can investigate this for you further?
Recommended Posts