* develop:
Improved Russian translation (#767)
Remove empty widget width option (#772)
Fix overlooked reference to App facade instead of local instance
Use local app instance rather than facade
Don't register backend permissions in the testing suite
Type hinting and style tweaks
Use the model instance returned by getRelationModel directly rather than as a static class reference
Clone the form model before passing it to the RelationController
# Conflicts:
# modules/cms/ServiceProvider.php
* develop:
Prevent fancy layout styling from spilling over into nested forms (#763)
Allow Snowboard event listeners to be closures
CMS Twig extension `contentFunction()` should return bool like `partialFunction()` (#746)
prevent previous relations from being unlinked (#765)
Allow cms.restrictBaseDir to be controlled via env variable
This builds on the work originally done in https://github.com/octobercms/october/pull/3220 to further improve performance, especially in cases where lots of themes are present to choose from or "virtual" themes are being utilized.
Previously every single request would iterate over and initialize every single theme which involved booting an autodatasource for each theme and loading the entire contents of the path cache for each datasource of each theme into memory.
This commit changes the logic so that the cms.theme.getActiveTheme event will be run first, falling back to asking the cache service, then falling back to the DB if present, and finally defaulting to the value set in the configuration. After it has resolved an active theme it will attempt to cache that resolution permanently which should be fine since changing the active theme in the DB would trigger a cache invalidation when done through the setActiveTheme() method and changing the active theme in the file configuration would trigger a cache invalidation as well.
* develop:
Allow Snowboard debugging to be controlled independently
Show required indicators on checkbox fields (#754)
Allow component assets to be mirrored by "winter:mirror" command
Adds the "develop.debugSnowboard" config option to enable to disable Snowboard debugging, overriding the default behaviour in following the app debug mode.