Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* develop: (434 commits) [version-bump] Replaced the usage of `get_plugins()` with `file_exists()` when checking if a plugin version exists as the former can throw a warning. [languages] [update] [css] [debug] [compile] [version-bump] [clone-resolution] [ms] Improved the logic that restores the current blog when handling clones and switching to a specific blog later on is needed. [clone-resolution] [ms] When handling clones and switching to a specific blog is needed, also restore the current blog later on. [fs-lock] [update] Moved the addition of the `'fs_'` prefix for the lock into the lock constructor. [clone-resolution] [ms] [admin-notice] [ajax] Minor optimization. [clone-resolution] [ms] [admin-notice] [ajax] Fixed the clone resolution notice's network-level AJAX handler. [clone-resolution] [lock] [fix] Require the lock class when testing lock acquiring when trying to resolve a subsite clone. [clone-resolution] [lock] Prefix the ID of the lock that is used by the clone resolution mechanism with our prefix that is defined in the config. [clone-resolution] [fix] Removed the setting of the identification timestamp from `_handle_clone_resolution()` as it's now set from the main `Freemius` class. [clone-resolution] [new] Added another 60-sec lock for the clone resolution logic attempting to resolve a clone when duplicating a subsite. [clone-resolution] [storage-refactor] [major] * Transitioned into a flat storage structure (vs. array with keys). * Added a function to handle storage data migration to the new flat structure. * Made sure we reload storage from DB when accessing request_handler_* options to avoid race condition. * Make sure we reload `clone_identification_timestamp` from the storage when accessing it through `get_clone_identification_timestamp()` (again, related to race condition). * Removed `temporarily_clear_notices()`, which wasn't in use. [code-indentation] [option-manager] [enrich] Introduced a `$flush` param for `has_option()` and `get_option()` to allow reloading the data from the storage within the methods. [clone-manager] Turned the lock into a local var. [clone-resolution] [automatic-resolution] Use the new `url` param instead of `search`, which is more accurate for the current use-case (we want to find exact homepage match). [clone-resolution] [automatic-resolution] [locking] [refactor] Created a standalone generic `FS_Lock` class as the base system for locking, reverted the changes to the `FS_User_Lock` + updated the implementation with the usage of the new `FS_Lock` (seems like inheritance wasn't possible since the constructor of the base-class is public and the user lock is a singleton). In addition, instead of just checking if the lock is obtained before trying the automatic resolution, use `try_lock()` for 60 sect to check if locked and obtain the lock if not. ... # Conflicts: # languages/freemius-cs_CZ.mo # languages/freemius-cs_CZ.po # languages/freemius-da_DK.mo # languages/freemius-da_DK.po # languages/freemius-de_DE.mo # languages/freemius-de_DE.po # languages/freemius-en.mo # languages/freemius-en.po # languages/freemius-es_ES.mo # languages/freemius-es_ES.po # languages/freemius-fr_FR.mo # languages/freemius-fr_FR.po # languages/freemius-he_IL.mo # languages/freemius-he_IL.po # languages/freemius-hu_HU.mo # languages/freemius-hu_HU.po # languages/freemius-it_IT.mo # languages/freemius-it_IT.po # languages/freemius-ja.mo # languages/freemius-ja.po # languages/freemius-nl_NL.mo # languages/freemius-nl_NL.po # languages/freemius-ru_RU.mo # languages/freemius-ru_RU.po # languages/freemius-ta.mo # languages/freemius-ta.po # languages/freemius-zh_CN.mo # languages/freemius-zh_CN.po # languages/freemius.pot # start.php
- Loading branch information