Sync: Add sync actions when core updates#7108
Conversation
The new action lets us know when core gets updated to a specific version and it was autoupdated and if it was reinstalled.
|
|
||
| const UPDATES_CHECKSUM_OPTION_NAME = 'jetpack_updates_sync_checksum'; | ||
|
|
||
| private $old_version = null; |
There was a problem hiding this comment.
It looks like there is functionality related to the wordpress updates, plugin updates, theme updates, etc. going on in this file. For that reason, it may be worth renaming this property to $old_wp_version to clarify how it is used, though I wouldn't consider this a blocking change.
| add_action( '_core_updated_successfully', array( $this, 'update_core' ) ); | ||
| add_action( 'jetpack_sync_update_core_successfull', $callable, 10, 2 ); | ||
| add_action( 'jetpack_sync_autoupdate_core_successfull', $callable, 10, 2 ); | ||
| add_action( 'jetpack_sync_reinstall_core_successfull', $callable, 10, 1 ); |
There was a problem hiding this comment.
When you have priority 10 and a single argument, can't you omit these parameters? This isn't a blocking change, of course.
| public function update_core( $new_version ) { | ||
| global $pagenow; | ||
|
|
||
| if ( isset( $_GET[ 'action' ] ) && 'do-core-reinstall' == $_GET[ 'action' ] ) { |
There was a problem hiding this comment.
Do you want to use === instead of == ?
| global $pagenow; | ||
|
|
||
| if ( isset( $_GET[ 'action' ] ) && 'do-core-reinstall' == $_GET[ 'action' ] ) { | ||
| do_action( 'jetpack_sync_reinstall_core_successfull', $new_version ); |
|
|
||
| // Core was autoudpated | ||
| if ( 'update-core.php' !== $pagenow ) { | ||
| do_action( 'jetpack_sync_autoupdate_core_successfull', $new_version, $this->old_version ); |
| return; | ||
| } | ||
|
|
||
| do_action( 'jetpack_sync_update_core_successfull', $new_version, $this->old_version ); |
|
|
||
| // Send data when update completes | ||
| add_action( '_core_updated_successfully', array( $this, 'update_core' ) ); | ||
| add_action( 'jetpack_sync_update_core_successful', $callable, 10, 2 ); |
There was a problem hiding this comment.
I think we could call this one jetpack_core_updated_successfully to match the core one.
|
|
||
| public function test_sync_wp_version() { | ||
| global $wp_version; | ||
| $previews_version = $wp_version; |
jeherve
left a comment
There was a problem hiding this comment.
A small request to make our parser happy :)
| global $pagenow; | ||
|
|
||
| if ( isset( $_GET[ 'action' ] ) && 'do-core-reinstall' == $_GET[ 'action' ] ) { | ||
| do_action( 'jetpack_sync_reinstall_core_successful', $new_wp_version ); |
|
|
||
| // Core was autoudpated | ||
| if ( 'update-core.php' !== $pagenow ) { | ||
| do_action( 'jetpack_sync_autoupdate_core_successful', $new_wp_version, $this->old_wp_version ); |
| return; | ||
| } | ||
|
|
||
| do_action( 'jetpack_sync_update_core_successful', $new_wp_version, $this->old_wp_version ); |
|
@jeherve can you take another look? |
|
@enejb I think you'll need to push your changes first. |
|
Ayayay changes pushed |
|
|
||
| if ( isset( $_GET[ 'action' ] ) && 'do-core-reinstall' == $_GET[ 'action' ] ) { | ||
| /** | ||
| * Sync event that is fires when the core reinstall was successful |
There was a problem hiding this comment.
We should rephrase:
- Sync event that is fires when the core reinstall was successful
"Fired on successful core reinstall"? @gititon could you help us here? :)
| return; | ||
| } | ||
| /** | ||
| * Sync event that is fires when the core update was successful |
lezama
left a comment
There was a problem hiding this comment.
I think it is ready after handling the === comment
* 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.
The new action lets us know when core gets updated to a specific
version and it was autoupdated and if it was reinstalled.
Changes proposed in this Pull Request:
Testing instructions:
Go to the wp-admin/update-core.php and click on the update core button.
.com should get the
jetpack_sync_update_core_successfullaction with 4 arguments.Update the core verions to help trigger the core update links.
Do the same. And notice that we get jetpack_sync_update_core_successfull again but with different arguments.
Let autoupdate update core and notice the same action.
To the phpunit tests pass?
Proposed changelog entry for your changes: