Skip to content
Snippets Groups Projects
  1. May 24, 2022
  2. May 20, 2022
  3. May 18, 2022
  4. May 17, 2022
  5. May 16, 2022
  6. May 12, 2022
  7. May 10, 2022
  8. May 06, 2022
  9. May 05, 2022
    • Navneet Singh's avatar
      Merge pull request #2892 from goalgorilla/issue/3275980-multilingual-menu · 8c469f54
      Navneet Singh authored and Navneet Singh's avatar Navneet Singh committed
      Issue #3275980 by navneet0693: Switching language on multilingual platform leads to unexpected error
      8c469f54
    • Navneet Singh's avatar
      Merge pull request #2918 from goalgorilla/issue/3278347-junk-plugin-data-backport · 80350de4
      Navneet Singh authored
      Issue #3278347 by navneet0693: Junk plugin data can crash activity entity related view.
      80350de4
    • Navneet Singh's avatar
      Issue #3278347 by navneet0693: Junk plugin data can crash activity entity related view · b24b2609
      Navneet Singh authored and Andrii Chyrskyi's avatar Andrii Chyrskyi committed
      Certain scenarios like:
      
      1. configuration overrides
      2. undefensive code
      3. uninstalled modules not cleaning it's related data at the time of uninstalling
      
      can lead to orphaned and/or junk data in entities in database. For example, a module declaring a plugin instance and attaching that instance with entities, for example, activities, was uninstalled; but during uninstall it didn't cleaned it's related data from activities. This will lead to PluginNotFoundException being thrown on the pages where activities are being processed. For example, home page, stream pages, group streams, notifications etc.
      
      We wanted to make sure that before creating an instance of a plugin whose the plugin manager which extends 'DefaultPluginManager' class, we check that the plugin definition exists and it is successful in retrieving it without any errors.
      
      The hasDefinition function is defined as follows:
      
      public function hasDefinition($plugin_id) {
          return (bool) $this->getDefinition($plugin_id, FALSE);
      }
      
      which means that it is marking $exception_on_invalid parameter to be false, which simply says "If TRUE, an invalid plugin ID will throw an exception."
      
      now hasDefinition simply returns false in this logic if the plugin definition couldn't be found. This saves us from hard errors and we can safely say that call to "createInstance" will return a plugin instance.
      b24b2609
  10. May 04, 2022
  11. Apr 29, 2022
  12. Apr 27, 2022
  13. Apr 26, 2022
  14. Apr 25, 2022
  15. Apr 21, 2022
  16. Apr 20, 2022
  17. Apr 18, 2022
  18. Apr 13, 2022
  19. Apr 12, 2022
  20. Apr 11, 2022
  21. Apr 08, 2022
  22. Apr 07, 2022
  23. Apr 06, 2022
  24. Apr 05, 2022
  25. Apr 04, 2022
Loading