Conversation
Fixes #7199, lets not sync full sync the options that do not exist.
| $this->sender->do_full_sync(); | ||
|
|
||
| $synced_options_event = $this->server_event_storage->get_most_recent_event( 'jetpack_full_sync_options' ); | ||
| $this->assertEquals( sizeof( $synced_options_event->args ), 2, 'Size of synced potions not as expected' ); |
| $this->sender->do_full_sync(); | ||
|
|
||
| $synced_options_event = $this->server_event_storage->get_most_recent_event( 'jetpack_full_sync_options' ); | ||
| $this->assertEquals( sizeof( $synced_options_event->args ), 2, 'Size of synced potions not as expected' ); |
There was a problem hiding this comment.
How about we add a little more detail to this test and explicitly check that the two args are foo and bar?
nabsul
left a comment
There was a problem hiding this comment.
I tested sync with my test store against the sandbox. I observed that with master, non-existing wp options are sent with value false, but with this branch the data was not sent:
Logs from master:
full sync started
Error: option_not_string ["Option woocommerce_unforce_ssl_checkout is not a string: false"]
Error: option_not_string ["Option woocommerce_tax_total_display is not a string: false"]
Error: option_not_string ["Option woocommerce_tax_round_at_subtotal is not a string: false"]
Error: option_not_string ["Option woocommerce_tax_display_shop is not a string: false"]
Error: option_not_string ["Option woocommerce_tax_display_cart is not a string: false"]
full sync complete
Logs from this branch:
full sync started
full sync complete
Besides the unit test comments, this looks good to go.
|
@nabsul Thanks for the review! I address the issues you had. |
| $random_string = wp_generate_password(); | ||
| foreach ( $this->options_whitelist as $option ) { | ||
| $options[ $option ] = get_option( $option ); | ||
| $option_value = get_option( $option, $random_string ); |
There was a problem hiding this comment.
This worries me a bit because it relies on the option value never being set to the string returned by wp_generate_password(), but I suppose the odds of such a collision actually occurring are so low that it's a non issue.
* Changelog: first pass at a changelog for 5.0 * Changelog: delete 4.9 testing list. * Changelog: update minimum WP version to match ver. in jetpack.php Fixes #7158 * Changelog: add #6051 * Changelog: add #6753 * Changelog: add #6928 * Changelog: add #6964 * Changelog: add #7014 * Changelog: add #7057 * Changelog: add #7060 * Changelog: add #7068 * Changelog: add #7070 * Changelog: add #7072 * Changelog: add #7071 * Changelog: add release date and post shortlink. * Changelog: add #7094 * Changelog: add #7100 * Changelog: add #7108 * Changelog: add #7113 * Changelog: add #7123 * Changelog: add #7135 * Changelog: add #7143 * Changelog: add #7151 * Changelog: add #6996 * Changelog: add #7105 * Changelog: add #7132 * Changelog: add #7166 * Changelog: fix typo in 4.9 changelog. * Changelog: remove older releases' changelogs. @see p1HpG7-42e-p2 * Changelog: add #7090 * Changelog: add #7095 * Changelog: add #7112 * Changelog: add #7115 * Changelog: add #7122 * Changelog: add #7137 * Changelog: add #7138 * Changelog: add #7140 * Changelog: add #7154 * Changelog: add ##7155 * Changelog: add #7163 * Changelog: add #7167 * Changelog: add #7171 * Changelog: add #7180 * Changelog: add #7181 * Changelog: add #7183 * Changelog: add #7184 * Changelog: add #7189 * Changelog: add #7191 * Changelog: add #7193 * Changelog: add #7198 * Changelog: add #7200 * Changelog: add #7209 * Changelog: add #7212 * Testing list: add instructions for #7115 * Changelog: add #7188 * Changelog: add #7205 * Changelog: add #7225 * Changelog: add #6872 * Changelog: add #7107 * Changelog: add #7118 * Changelog: add #7142 * Changelog: add #7170 * Changelog: add #7210 * Changelog: add #7218 * Changelog: add #7232 * Changelog: add #7211 * Changelog: add #7213 * Changelog: add #7229 * Changelog: add #7230 * Changelog: add #7214 * Draft changelog for 5.0 * Changelog updates: 2nd pass at a clearer changelog. - Fix typos. - Use consistent tense and tone across all changelog. - Remove unclear items. * Changelog: add #7026 * Changelog: add #7058 * Changelog: add #7125 * Changelog: add #7249 * Changelog: add #7185 * add mentions of image widget migration * Changelog: add info about new output for CLI command. * Changelog: add WP version number matching the new Image Widget.
Fixes #7199, lets not sync full sync the options that do not exist.
Currently we send the key to with the null value to when options do not exits. Which is not ideal. It would be much better if we just not sent the key at all. This PR fixed #7199.
Changes proposed in this Pull Request:
Testing instructions:
@nabsul Can you test this to make sure this works for you as expected?
Proposed changelog entry for your changes: