New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Comment Mail v160611-RC (Release Candidate) #278

Closed
raamdev opened this Issue Jun 11, 2016 · 13 comments

Comments

Projects
None yet
4 participants
@raamdev
Contributor

raamdev commented Jun 11, 2016

Downloads

Changelog

Reporting Issues / Feedback

Please report any issues or feedback related to this Release Candidate using this GitHub issue. Please post a comment below with details.

If you are reporting a UI-related issue, please include a screenshot.

If you are reporting a bug, please provide list of steps to reproduce and if the bug is related to an existing GitHub issue, please provide a link to that GitHub issue as well.


Reported Issues to Fix

  • The Lite version incorrectly contains src/includes/templates/type-a/*, which should not exist as Advanced Templates are a Pro-only feature.
  • When Comet Cache is installed on a site, saving the Comment Mail options—e.g., changing and saving the Comment Form configuration option, which directly affects content on the front-end of the site—does not trigger an automated clearing of the cache. At first I thought this might be a Comet Cache issue, but I realized that what probably needs to happen is Comment Mail probably needs to be firing a hook that Comet Cache is already listening for, so this seems like a Comment Mail issue.
  • When attempting to Subscribe without Commenting in the Lite version, the SSO actions (a Pro-only feature) are loaded, which results in a fatal error. See #278 (comment).
  • Disabling Data Safeguards (Comment Mail → Config. Options → Data Safeguards) and then deactivating and deleting the plugin does not delete comment_mail_options from the database as you would expect)
  • When a site contains subscription data (such as the previous release of Comment Mail), the Lite version shows the Import/Export option on the left-hand side menu of the Dashboard but doesn't do anything, i.e. no instructions or UI panel to import the subscriptions. #278 (comment)
  • Installing the Lite version on a site that doesn't contain any StCR data in the database (and doesn't even have StCR installed) still generates the Dashboard notice welcoming the site owner as a StCR user. #278 (comment)
  • Fatal error upgrading from Comment Mail Lite v160213; see #278 (comment)

@raamdev raamdev added this to the Next Release milestone Jun 11, 2016

raamdev added a commit to websharks/comment-mail-pro that referenced this issue Jun 11, 2016

@raamdev

This comment has been minimized.

Contributor

raamdev commented Jun 14, 2016

Fixed websharks/comment-mail-pro@192d0fc


The Lite version incorrectly contains src/includes/templates/type-a/*, which should not exist as Advanced Templates are a Pro-only feature.

@raamdev raamdev self-assigned this Jun 14, 2016

@raamdev raamdev added the todo label Jun 14, 2016

@raamdev

This comment has been minimized.

Contributor

raamdev commented Jun 14, 2016

Fixed in websharks/comet-cache-pro@6216325


When Comet Cache is installed on a site, saving the Comment Mail options—e.g., changing and saving the Comment Form configuration option, which directly affects content on the front-end of the site—does not trigger an automated clearing of the cache. At first I thought this might be a Comet Cache issue, but I realized that what probably needs to happen is Comment Mail probably needs to be firing a hook that Comet Cache is already listening for, so this seems like a Comment Mail issue.

@kristineds

This comment has been minimized.

Contributor

kristineds commented Jun 14, 2016

Fixed websharks/comment-mail-pro@331a74b.


When a site contains subscription data (such as the previous release of Comment Mail), the Lite version shows the Import/Export option on the left-hand side menu of the Dashboard but doesn't do anything, i.e. no instructions or UI panel to import the subscriptions. Referencing: http://comment-mail.com/kb-article/why-did-the-importexport-feature-disappear/

screen shot 2016-06-15 at 3 52 33 am

@kristineds

This comment has been minimized.

Contributor

kristineds commented Jun 14, 2016

Fixed websharks/comment-mail-pro@e1b8126


When Comment Form Subscr. Options Template is enabled with Auto-Subscribe and Auto-Confirm disabled, clicking on the options subscribe without commenting and manage my subscriptions on a post are both showing fatal errors like this:

Fatal error: Uncaught Error: Class 'WebSharks\CommentMail\SsoActions' not found in /home4/wsksdev/public_html/kristine/wp-content/plugins/comment-mail/src/includes/classes/Actions.php:55 Stack trace: #0 /home4/wsksdev/public_html/kristine/wp-content/plugins/comment-mail/src/includes/classes/Actions.php(36): WebSharks\CommentMail\Actions->maybeDoSsoActions() #1 /home4/wsksdev/public_html/kristine/wp-content/plugins/comment-mail/src/includes/classes/Plugin.php(972): WebSharks\CommentMail\Actions->__construct() #2 /home4/wsksdev/public_html/kristine/wp-includes/plugin.php(525): WebSharks\CommentMail\Plugin->actions('') #3 /home4/wsksdev/public_html/kristine/wp-settings.php(393): do_action('init') #4 /home4/wsksdev/public_html/kristine/wp-config.php(83): require_once('/home4/wsksdev/...') #5 /home4/wsksdev/public_html/kristine/wp-load.php(37): require_once('/home4/wsksdev/...') #6 /home4/wsksdev/public_html/kristine/wp-blog-header.php(13): require_once('/home4/wsksdev/...') #7 /home4/wsksdev/public_html/kristine/index.php(17) in /home4/wsksdev/public_html/kristine/wp-content/plugins/comment-mail/src/includes/classes/Actions.php on line 55

screen shot 2016-06-15 at 4 06 55 am
This was tested in two situations:

- Site owner logged-in
- Visitor logged-out

@raamdev

This comment has been minimized.

Contributor

raamdev commented Jun 14, 2016

Fixed websharks/comment-mail-pro@ac640be


Disabling Data Safeguards (Comment Mail → Config. Options → Data Safeguards) and then deactivating and deleting the plugin does not delete comment_mail_options from the database as you would expect).

@raamdev

This comment has been minimized.

Contributor

raamdev commented Jun 14, 2016

Fixed websharks/comment-mail-pro@331a74b.


Installing the Lite version on a site that doesn't contain any StCR data in the database (and doesn't even have StCR installed) still generates the Dashboard notice welcoming the site owner as a StCR user:

2016-06-14_16-19-41

This might be related to Kristine's report above: #278 (comment)

raamdev added a commit to websharks/comment-mail-pro that referenced this issue Jun 15, 2016

raamdev added a commit to websharks/comment-mail-pro that referenced this issue Jun 16, 2016

Fix blank Import/Export page when no StCR subscription data exists
Also improves the "Upgrading from StCR" Dashboard message to only show
the note about importing subscriptions when there is actually StCR
subscription data to import.

See websharks/comment-mail#278
@raamdev

This comment has been minimized.

Contributor

raamdev commented Jun 16, 2016

@kristineds writes...

When a site contains subscription data (such as the previous release of Comment Mail), the Lite version shows the Import/Export option on the left-hand side menu of the Dashboard but doesn't do anything, i.e. no instructions or UI panel to import the subscriptions.

@raamdev writes...

Installing the Lite version on a site that doesn't contain any StCR data in the database (and doesn't even have StCR installed) still generates the Dashboard notice welcoming the site owner as a StCR user

As I suspected, the issue I reported was related to the issue Kristine reported.

There were a few issues here:

  • When you delete the StCR plugin from your site, the StCR plugin options are not removed from the database. (See stcr/subscribe-to-comments-reloaded#228.) As a result, this Comment Mail conditional that checks if the subscribe_reloaded_version option exists was returning true and Comment Mail was assuming that we should proceed as if the user has StCR installed.
  • The other problem was that if you had StCR installed, but you didn't have any StCR subscription data that should be imported, Comment Mail acted as if you did have StCR subscription data to import and presented you with the Import/Export menu option (which showed up as blank when you load in the Lite version because the Import/Export page itself does check if ImportStcr::dataExists()).

To fix these issues websharks/comment-mail-pro@331a74b accomplishes the following:

  • Hides the Import/Export menu option unless IS_PRO || ImportStcr::dataExists()
  • Improves the "Upgrading from StCR" Dashboard message so that it doesn't show a note about importing StCR subscription data when none exists:

Without StCR subscription data to import:

2016-06-15_21-14-20

With StCR subscription data to import:

2016-06-14_16-19-41

@Reedyseth

This comment has been minimized.

Contributor

Reedyseth commented Jun 16, 2016

@raamdev

When you delete the StCR plugin from your site, the StCR plugin options are not removed from the database. (See stcr/subscribe-to-comments-reloaded#228) As a result, this Comment Mail conditional that checks if the subscribe_reloaded_version option exists was returning true and Comment Mail was assuming that we should proceed as if the user has StCR installed.

Alright, copy that I will follow up the issue open on StCR as well of this 👍

@jaswrks

This comment has been minimized.

Member

jaswrks commented Jun 16, 2016

IS_PRO || ImportStcr::dataExists()

Ah. Great catch! :-)

raamdev added a commit to websharks/comment-mail-pro that referenced this issue Jun 16, 2016

raamdev added a commit to websharks/comet-cache-pro that referenced this issue Jun 16, 2016

@raamdev

This comment has been minimized.

Contributor

raamdev commented Jun 18, 2016

Fixed in websharks/comment-mail-pro@519c1fb


Fatal error upgrading from Comment Mail Lite v160213 (built from the release/160611-RC branch as of 2016-06-18):

( ! ) Fatal error: Uncaught Exception: Missing template: `type-a/site/header.php`. in /srv/www/wordpress-default/wp-content/plugins/comment-mail/src/includes/classes/Template.php on line 355
( ! ) Exception: Missing template: `type-a/site/header.php`. in /srv/www/wordpress-default/wp-content/plugins/comment-mail/src/includes/classes/Template.php on line 355
Call Stack
#   Time    Memory  Function    Location
1   0.2024  361200  {main}( )   .../index.php:0
2   0.2031  361872  require_once( '/srv/www/wordpress-default/wp-admin/admin.php' ) .../index.php:10
3   1.1135  3784200 do_action( string(10), ??? )    .../admin.php:168
4   2.0251  3911888 WebSharks\CommentMail\Plugin->checkVersion( string(0) ) .../plugin.php:525
5   2.0299  3913232 WebSharks\CommentMail\Upgrader->__construct( )  .../Plugin.php:909
6   2.0299  3913296 WebSharks\CommentMail\Upgrader->maybeUpgrade( ) .../Upgrader.php:37
7   2.0425  3915280 WebSharks\CommentMail\UpgraderVs->__construct( string(6) )  .../Upgrader.php:53
8   2.0425  3915344 WebSharks\CommentMail\UpgraderVs->runHandlers( )    .../UpgraderVs.php:39
9   2.0425  3915344 WebSharks\CommentMail\UpgraderVs->fromLteV160213( ) .../UpgraderVs.php:50
10  2.0558  3990072 WebSharks\CommentMail\Template->__construct( string(15), string(1), true )  .../UpgraderVs.php:116
11  2.0559  3990536 WebSharks\CommentMail\Template->getFileContents( )  .../Template.php:95

Update 2016-06-18 11:29:14 EDT

Discovered that Comment Mail Lite v160213 (the latest public release) incorrectly includes template__type_a__* option keys, even though it does not have any Advanced Templates. This is screwing up getFileContents() in Template.php because it's seeing those option keys and attempting to load the Advanced Template files, which do not exist in the Lite version.

Update 2016-06-18 11:48:17 EDT

It looks like v160611-RC suffers from this issue as well. The Lite version contains the Pro-only template__type_a__* option keys in its default options.

Update 2016-06-18 12:18:08 EDT

I see now that this is not so much a bug in v160213, but rather just an odd design that I wasn't expecting. The Lite version is supposed to be including the Pro-only option keys, it's just that they're being forced to the default values. https://github.com/websharks/comment-mail/blob/160611-RC/src/includes/classes/Plugin.php#L746-L749

The bug that resulted in the above errors is related to the new Version Upgrade routine that handles the migration of Customized Advanced Templates, which are not backwards compatible with v160213.

The fromLteV160213() upgrade routine is not taking into account the fact that the Lite version won't have the src/includes/templates/type-a/* files present and that's what's resulting in the fatal error.

We should only be running that specific VS upgrade routine when IS_PRO to avoid this issue.

raamdev added a commit to websharks/comment-mail-pro that referenced this issue Jun 18, 2016

@raamdev

This comment has been minimized.

Contributor

raamdev commented Jun 19, 2016

Comment Mail v160618 Released:
https://comment-mail.com/comment-mail-v160618-now-available/

Thanks to all for the testing! 👍

@raamdev raamdev closed this Jun 19, 2016

@jaswrks

This comment has been minimized.

Member

jaswrks commented Jun 21, 2016

Woohoo!!!!!! 😀

@kristineds

This comment has been minimized.

Contributor

kristineds commented Jun 21, 2016

Yay! 🎉

raamdev added a commit to websharks/comet-cache that referenced this issue Jul 7, 2016

Phing release of v160706 with the following changes:
- **New Feature! Apache Optimizations.** This release includes a completely new option panel for Apache Performance Tuning. Current options for Apache tuning include GZIP Compression, Leverage Browser Caching, Enforce Canonical URLs, and Send Access-Control-Allow-Origin Header (for Static CDN Filters). These options automatically add or remove from your `.htaccess` file the appropriate configuration based on the options you enable or disable (all options are disabled by default, so your `.htaccess` file is not modified unless you say so). If you prefer to update your `.htaccess` file manually, the necessary configuration can be viewed beneath each option. Props @jaswsinc, @renzms. See [Issue #789](#789).
- **New Feature!** A new "Enable GZIP Compression" option has been added to the new Apache Optimizations panel. This option will automatically add the appropriate configuration to your `.htaccess` file to enable GZIP compression. This option is disabled by default. The old "GZIP Compression" panel has been removed in favor of the new option inside Apache Optimizations. Props @renzms, @jaswsinc. See [Issue #764](#764).
- **New Feature!** Multisite Host Exclusion Patterns. It's now possible to exclude entire sites from the cache in a Multisite Network environment. Domain mapping is also supported! See _Comet Cache → Plugin Options → Host Exclusion Patterns_. If you're running a Multisite Network with Sub-Directories, you can exclude sites using the existing URI Exclusion Patterns feature. Props @kristineds. See [Issue #754](#754).
- **New Feature (Pro)!** A new "Leverage Browser Caching" option has been added to the new Apache Optimizations panel. This option will automatically add the appropriate configuration to your `.htaccess` file to enable Browser Caching. This option is disabled by default. Props @renzms, @jaswsinc. See [Issue #764](#764).
- **New Feature (Pro)!** A new "Enforce Canonical URLs" option has been added to the new Apache Optimizations panel. This options adds the appropriate `.htaccess` code to enforce the correct canonical URLs according to your WordPress Permalink settings (Comet Cache detects if the Permalink Structure ends with a trailing slash, or without a trailing slash). Props @renzms, @jaswsinc. See [Issue #554](#554).
- **Bug Fix**: In some scenarios the Cron Event that cleans up expired cache files (`_cron_comet_cache_cleanup`) would never run, or the Next Run time would constantly reset to 1 minute away from running every time a page was reloaded. We suspect this is a race condition and in attempt to work around this issue we now skip all of our Cron-related checks if Cron is currently in the middle of running a process. Props @xberg and @lkraav for help reporting. See [Issue #653](#653).
- **Bug Fix**: If your site uses aliased domains, Comet Cache now properly considers all possible domain variations when it clears the cache on WP Standard installations. Props @kristineds, @jaswsinc, @yoffe, and @VR51. See [Issue #608](#608).
- **Bug Fix** (Pro): Fixed a bug where Comet Cache would appear to prevent WordPress from redirecting Permalinks that don't include a trailing slash, to the URL that does include a trailing slash. This was due to the fact that Comet Cache loads very early on (for caching purposes) and as a result the WordPress `redirect_canonical()` function never gets run. This was fixed by adding an option to the new Apache Optimizations panel that allows you to Enforce Canonical URLs. Props @renzms, @jaswsinc. See [Issue #554](#554).
- **UX Bug Fix** (Pro): If you had your WordPress Dashboard login details saved by your browser, the browser autofill would automatically fill in the Pro Plugin Updater fields with those details, which then needed to be replaced with your actual Pro license details. The browser autofill has been disabled for those fields (tested in Chrome, Firefox, and Safari). Props @renzms. See [Issue #741](#741).
- **Enhancement**: Added links the Options Page for the Comet Cache [Twitter](http://twitter.com/cometcache) and [Facebook](http://facebook.com/cometcache) accounts. Props @renzms. [Issue #771](#771).
- **Enhancement:** Added full support for UTF-8 (multibyte strings). This release adds full support for UTF-8 throughout the Comet Cache codebase, greatly enhancing Comet Cache's ability to deal with file paths and URLs that may contain UTF-8 characters. Props @jaswsinc. [Issue #703](#703).
- **UI Enhancements**: Improved the Logged-In Users and the Client-Side Caching options panels to dim additional options when the feature is disabled. Additionally, the "Enable HTML Compression for Logged-In Users?" option has been relocated from the HTML Compressor option panel to the more appropriate Logged-In Users option panel. See [Issue #768](#768).
- **UX Enhancement**: Improved the inline docs for Auto-Clear List of Custom URLs to clarify that full URLs must be provided. Props @renzms. See [Issue #781](#781).
- **Enhancement** (Pro): The Pro Plugin Updater has been improved to allow for better compatibility with hosting platforms that use Apache's ModSecurity. In some cases, site owners were seeing a 404 error when attempting to update the Pro version using the Pro Plugin updater because certain ModSecurity rules were blocking the Pro Updater requests. The Pro Plugin Updater now uses WP Transients to store the necessary metadata, which works around the issue with ModSecurity. Props to @seozones for reporting and @jaswsinc for help fixing this. [Issue #416](#416).
- **Enhancement** (Pro): When Static CDN Filters are enabled, it's now possible to disable the automatic insertion of rules into your `.htaccess` file that are designed to prevent issues with [CORS](https://cometcache.com/kb-article/what-are-cross-origin-request-blocked-errors/). See _Apache Optimizations → Send Access-Control-Allow-Origin Header?_ See [Issue #787](#787).
- **Enhancement** (Pro): The HTML Notes added to the bottom of a cached page now specify if the page was cached as the result of an HTTP Request or if it was cached by the Auto-Cache Engine. Props @kristineds. See [Issue #292](#292).
- **Enhancement** (Pro): The Auto-Cache Engine now supports a fallback to cURL using the WP HTTP API. If your PHP configuration has `allow_fopen_url=0`, the Auto-Cache Engine will use the fallback to download the XML Sitemap and parse it from a temporary file. If you want to force the use of this fallback even when `allow_fopen_url=1`, you can use [a filter](#440 (comment)). See [Issue #440](#440).
- **UI Enhancement** (Pro): A second button has been added to the bottom of the Pro Plugin Updater page that allows you to "Save and Update Comet Cache Pro" in one step. Props @renzms. See [Issue #741](#741).
- **UI Enhancement** (Pro): The "Cache Stats" button in Admin Bar is now linked to the Cache Stats page. Instead of hovering over the button and then clicking "More Info" inside the popup panel, you can now just click the "Cache Stats" button to go directly to the Cache Stats page. Props @Presskopp, @renzms. See [Issue #780](#780).
- **Comment Mail Compatibility:** Improved compatibility with the Comment Mail plugin by automatically clearing the cache whenever Comment Mail options are changed. Many of the Comment Mail options affect front-end portions of the site, so it's important that the cache is cleared whenever Comment Mail options change. See [Comment Mail Issue #278](websharks/comment-mail#278 (comment)).
- **PHP Compatibility:** Improved compatibility back to PHP 5.2 (the lowest version allowed by WordPress). Comet Cache still requires PHP 5.4+, but if you install Comet Cache on a site running PHP 5.2, it will now fail gracefully with a Dashboard notice indicating PHP 5.4+ is required, instead of producing a fatal error. See [Issue #784](#784).
- **WP-CLI Compatibility**: Fixed a bug with deactivating Comet Cache using WP-CLI. Doing so was producing a "Invalid argument; host token empty!" error message. This has been resolved. Props @MarioKnight @jaswsinc @renzms. See [Issue #728](#728).
- Renamed `COMET_CACHE_ALLOW_BROWSER_CACHE` constant to `COMET_CACHE_ALLOW_CLIENT_SIDE_CACHE`. Backwards compatibility has been maintained.
- Renamed `allow_browser_cache` plugin option to `allow_client_side_cache`.

@websharks websharks locked and limited conversation to collaborators Jul 7, 2016

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.