close

Filter

loading table of contents...

Release Notes / Version 10.2101

Table Of Contents

CoreMedia Studio

Fixed Tooltip of Notification Menu Button

The tooltip of the Notification menu button wasn't showing the proper amount of unread notifications. This has been fixed now.

(CMS-19323)

Embedding a CMHTML document into the richtext editor no longer leads to errors

There was a bug when embedding a CMHTML document to the richtext editor causing JavaScript errors and breaking Studio. This has been fixed now.

(CMS-19280)

Studio Locale Cookie with SameSite Lax

Firefox was complaining about the Studio locale cookie having sameSite=none and at the same time not being secure. Firefox also threatens to disregard the cookie in the near future which will result in Studio not loading anymore whenever a locale different from the default locale is stored in a user's EditorPreferences.

The cookie now has sameSite=Lax from 2101.4 and 2104.1 on. For older versions there is a workaround applicable to the config-init.js in Blueprint.

Replace the function loadScripts() with this:

  function loadScripts() {
    // create and append script elements
    function loadScript(attributes) {
      var script = document.createElement('script');
      script.async = false;
      script.type = 'text/javascript';
      Object.keys(attributes).forEach(function (a) {
        script[a] = attributes[a];
      });

      document.body.appendChild(script);
    }

    var attributeList = [
      {src: window.coremediaRemoteServiceUri + 'supported-locales.js'},
      {src: window.coremediaRemoteServiceUri + 'accept-language-header.js'},
      {src: 'resources/before-ext-load.js'},
      {id: 'microloader', 'data-app': '906bf4bf-9a7d-42cc-b7a5-6ef30df325e9', src: 'bootstrap.js'}
    ];

    patchJooLocaleSupportWhenReady();

    attributeList.forEach(loadScript)
  }

and add:

  function patchJooLocaleSupportWhenReady() {
    joo.___localeSupport = joo.localeSupport;
    Object.defineProperty(joo, "localeSupport", {
      get: function () {
        return joo.___localeSupport;
      },
      set: function (ls) {
        joo.___localeSupport = ls;

        ls.setLocale = function (newLocale/*:String*/)/*:String*/ {
          ls.locale = ls.findSupportedLocale(newLocale);
          // either create, update or remove (if locale===null) the Cookie:
          setLaxCookie(ls.localeCookieName, ls.locale, ls.localeCookiePath,
                  ls.locale ? getLocaleCookieExpiry() : new Date(0),
                  ls.localeCookieDomain);
          return ls.getLocale(); // use getter to re-compute fallback logic for locale==null and cache the result
        }

        return ls.getLocale();
      }
    })
  }

  function setLaxCookie(name, value, path, expires, domain) {
    //noinspection FallThroughInSwitchStatementJS
    document.cookie =
            name + "=" + encodeURIComponent(value || "") +
            ((expires === null) ? "" : ("; expires=" + expires.toGMTString())) +
            ((path === null) ? "" : ("; path=" + path)) +
            ((domain === null) ? "" : ("; domain=" + domain)) + "; SameSite=Lax"
  }

  function getLocaleCookieExpiry()/*:Date*/ {
    var date/*:Date*/ = new Date();
    var DAYS_TILL_LOCALE_COOKIE_EXPIRY = 10*356;
    date.setTime(date.getTime() + (DAYS_TILL_LOCALE_COOKIE_EXPIRY * 24 * 60 * 60 * 1000));
    return date;
  }

(CMS-18892)

Fixed VisibilityValidator bug that caused NoSuchPropertyDescriptorException

Fixed a bug in the Studio VisibilityValidator that could lead to an exception of type NoSuchPropertyDescriptorException when issues were computed for a page, and if a link was missing in the page grid structure.

(CMS-17791)

Search Results

Table Of Contents