Skip to content
Snippets Groups Projects
  1. Jul 08, 2024
  2. Jul 02, 2024
  3. Jul 01, 2024
  4. Jun 30, 2024
  5. Jun 29, 2024
  6. Jun 28, 2024
  7. Jun 26, 2024
  8. Jun 25, 2024
  9. Jun 24, 2024
  10. Jun 23, 2024
  11. Jun 21, 2024
  12. Jun 19, 2024
    • Sascha Egerer's avatar
      [BUGFIX] Make ContentRenderer catch more errors · 1dbe88a6
      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/+/84757
      
      
      Tested-by: default avatarBenni Mack <benni@typo3.org>
      Tested-by: default avatarcore-ci <typo3@b13.com>
      Reviewed-by: default avatarBenni Mack <benni@typo3.org>
      1dbe88a6
  13. Jun 18, 2024
    • Daniel Gohlke's avatar
      [BUGFIX] Allow to open info modal window · c6645752
      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/+/84755
      
      
      Tested-by: default avatarOliver Bartsch <bo@cedev.de>
      Reviewed-by: default avatarOliver Bartsch <bo@cedev.de>
      Tested-by: default avatarcore-ci <typo3@b13.com>
      c6645752
    • Benjamin Franzke's avatar
      [BUGFIX] Avoid race condition in DocumentService.ready() · 45d8e094
      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/+/84776
      
      
      Tested-by: default avatarcore-ci <typo3@b13.com>
      Reviewed-by: default avatarBenjamin Franzke <ben@bnf.dev>
      Tested-by: default avatarBenjamin Franzke <ben@bnf.dev>
      45d8e094
  14. Jun 14, 2024
  15. Jun 13, 2024