The "project" module (normally mysite) is considered with the highest priority. Yet, the project's i18n is loaded first and cannot overwrite existing translations. I've added a array_reverse(), so the iteration keeps the translation of the module with the highest priority.
Old $sortedModules: mysite, (other_modules,) cms, admin, framework.
New $sortedModules: framework, admin, cms, (other_modules,) mysite.
This edge case can occur when a large tree is cached in HTML already,
without any nodes expanded via ajax. If a new node is added with
a parent that's not existant, it was simply placed on the root node.
This is a display bug, a full CMS refresh fixes it.
Fixes a related bug where tree causes (view) duplicates,
where the same node is rendered twice. This was due to the whole
subtree being refreshed (including the new node) through jstree's
built-in "open"/"select" events, while at the same time
creating a new node through updateNodesFromServer() callbacks.
Also added a global tree loading indication to make it clear
that the tree is still processing.
See https://github.com/silverstripe/silverstripe-cms/issues/872
Until now debug.log files were loaded into memory, concatenated and then re-written to disk. This is an intensive operation on a large file.
I've added the `FILE_APPEND` flag to append to this file instead.
A new form instance was being constructed for the response, which mean
that a lot of the validation information was lost. This fix means that:
* Enterered data is correctly persisted.
* A validation error notification is displayed.
This allows shortcodes to perform more complex actions on the element
which contains them. For example, the element reference can be used
to add extra classes or attributes to links which provide additional
metadata.
Were using old entity naming scheme (*.ss) instead
of underscored version which doesn't create a new YML
namespace. This means all existing translations should indeed be used.
Was already fixed in master, but not in 3.1