Skip to content
Snippets Groups Projects
  1. Jun 25, 2024
  2. Jun 24, 2024
  3. Jun 23, 2024
  4. Jun 21, 2024
  5. Jun 20, 2024
  6. Jun 19, 2024
    • Sascha Egerer's avatar
      [BUGFIX] Make ContentRenderer catch more errors · 63212d65
      Sascha Egerer authored
      The ContentObjectRenderer catches \Exception's
      that occur during the rendering of a content element.
      However, since PHP 7, there is a \TypeError exception that
      occurs, for example, if the given type does not match the
      declared type.
      Because \TypeError is not a subtype of \Exception, these
      errors are not caught in the production context, and instead
      of not rendering a single content element, the whole page
      is not rendered.
      Since all types of \Throwable are essentially errors that
      will interrupt the rendering process, the catch block must
      accommodate all of these, not just implementations of \Exception.
      
      Resolves: #102044
      Releases: main, 12.4, 11.5
      Change-Id: If6218f013caf21d7fcd2c0d0d5b6b51c3bf9963e
      Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84756
      
      
      Tested-by: default avatarBenni Mack <benni@typo3.org>
      Tested-by: default avatarcore-ci <typo3@b13.com>
      Reviewed-by: default avatarBenni Mack <benni@typo3.org>
      63212d65
  7. Jun 18, 2024
    • Daniel Gohlke's avatar
      [BUGFIX] Allow to open info modal window · a2f73811
      Daniel Gohlke authored
      The configuration top.TYPO3.settings.ShowItem.moduleUrl
      must be set so that info-window.js can use it to load
      the content for the modal.
      
      Resolves: #104147
      Resolves: #99467
      Resolves: #99695
      Releases: main, 12.4, 11.5
      Change-Id: I9dcf4e04e6c87a965ddfa6d2f3044cd74759a530
      Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84754
      
      
      Tested-by: default avatarcore-ci <typo3@b13.com>
      Tested-by: default avatarOliver Bartsch <bo@cedev.de>
      Reviewed-by: default avatarOliver Bartsch <bo@cedev.de>
      a2f73811
    • Oliver Bartsch's avatar
      [TASK] Render generator fields as hidden fields in columnsOnly mode · 10fa9b28
      Oliver Bartsch authored
      When using the "columnsOnly" mode to render just
      a subset of available fields of a record, while
      the subset includes a field of TCA type "slug",
      FormEngine needs to also render configured generator
      fields. Otherwise the slug fields won't work as
      expected, e.g. when recalculating.
      
      However, since it might be confusing for an editor
      to get fields rendered, which were not selected,
      are those fields now rendered as hidden fields.
      
      This is done by adding those fields to a hidden
      palette while omitting duplicates and performing
      sanitization.
      
      Resolves: #104115
      Releases: main, 12.4
      Change-Id: Ia31571bae9913028e81df910462d76dc4314644c
      Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84775
      
      
      Tested-by: default avatarOliver Bartsch <bo@cedev.de>
      Tested-by: default avatarcore-ci <typo3@b13.com>
      Reviewed-by: default avatarOliver Bartsch <bo@cedev.de>
      10fa9b28
    • Benjamin Franzke's avatar
      [BUGFIX] Avoid race condition in DocumentService.ready() · e9904c0e
      Benjamin Franzke authored
      Improve document-service responsiveness by relying on
      `DOMContentLoaded` and `document.readyState` >= `interactive`.
      
      1) Handle non-loading state as "ready" to avoid waiting for `complete`.
      
         `document.readyState` has three states:
      
          * `loading`
             The document is still loading.
      
          * `interactive`
             The document has finished loading and the document
             has been parsed but sub-resources such as scripts, images,
             stylesheets and frames are still loading. The state indicates
             that the DOMContentLoaded event is about to fire.
      
          * `complete`
             The document and all sub-resources have finished loading.
             The state indicates that the load event is about to fire.
      
         If DocumentService.ready was called in "interactive" state we have
         been skipping this state as we only considered `complete` to be
         the "ready" state in this case.
         This is wrong as we actually wait for the DOMContentLoaded if we
         are launched in the initial readyState (`loading`), that means
         an initial `interactive` must be understood as:
      
           `DOMContentLoaded` has already been fired as state is `interactive`
      
         We should actually avoid waiting for `complete` entirely, as document
         readyState `interactive` means "ready" in terms of document parsing.
         We're not interested in images or async scripts that are still
         loading and want event listeners to be registered as early as
         possible.
      
         With this improvement applied we can also drop the (now) unneeded
         `load` event-listener, as we are no longer skipping interactive
         state (this made the `load`-listener necessary previously).
      
         Note that the `load` workaround was previously needed for IE<=10 as
         those versions set `document.readyState` to `interactive` prior to
         the `DOMContentLoaded` event. This applied workaround becomes a race
         condition once `load` never happens and that is the case with a
         recent google chrome regression which causes iframe documents to
         never "complete": https://issues.chromium.org/issues/347724924
      
      2) Drop the timeout logic. It is no longer needed now that we only need
         to wait for `DOMContentLoaded` – which will always fire (or already
         fired) – instead of the `load` event.
      
      3) Avoid creation of new promises for every invocation of the
         ready-method. A promise can be reused without side effects by
         multiple consumers. This avoids creating a lot of event listeners
         (and previously timers).
      
      4) Remove unneeded document and window references.
      
      Releases: main, 12.4, 11.5
      Resolves: #104135
      Related: #104139
      Change-Id: I42c86961405f8a5c346c17ea429a288a85d58f8a
      Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84753
      
      
      Tested-by: default avatarBenjamin Franzke <ben@bnf.dev>
      Reviewed-by: default avatarBenjamin Franzke <ben@bnf.dev>
      Tested-by: default avatarcore-ci <typo3@b13.com>
      e9904c0e
    • Benni Mack's avatar
      [BUGFIX] Unify backend routes for workspace · aa2a78d8
      Benni Mack authored
      Resolves: #103212
      Releases: main, 12.4
      Change-Id: If285a5cb1bb418ef7671ca6894827a059e5c1cb7
      Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84773
      
      
      Tested-by: default avatarcore-ci <typo3@b13.com>
      Reviewed-by: default avatarChristian Kuhn <lolli@schwarzbu.ch>
      Tested-by: default avatarChristian Kuhn <lolli@schwarzbu.ch>
      aa2a78d8