The workflow models can always be imported via wagtail.models even if workflow is disabled.
Instead of checking the import with try/except, we should check the setting instead.
- Use a console.error spy to avoid the console error bubbling into logs for FieldBlock.test.js (also allows us to confirm an error was thrown)
- Adopt proper approach to 'flush promises' now that API is available for JSDom usage of microtasks/animation frame
- Adapt to new Jest timer mocking approach, use legacy timers in one file as there is not a suitable setTimeout (with zero delay) while also using async await
- `uuid` update is required to avoid import errors - https://github.com/uuidjs/uuid/blob/main/CHANGELOG.md#900-2022-09-05
- Add stubs for window.scrollTo to avoid console errors when running tests
- Filter out warnings for Draftail React warnings, these are unlikely to be resolved anytime soon and add noise to the Jests tests that are unhelpful
- Closes #10043
- Snippet header with history appears to be unused, updated anyway
- Update ModelAdmin header with history to use the human readable (more accessible) timesince date, which uses Tippy.js
- Relates to #8565
- Builds on #8697 & #8566
* Usages of strftime("%d %b %Y %H:%M") have been replaced by usages of
django's timezone handling and date formatting, so the output is
similar to other dates rendered through the templating.
* Dates stored in the action logs are now parsed and converted
accordingly for the frontend.
* Improved tests to check those conversions
* Fixes #9581
* Add handling for wagtail.schedule.cancel with go_live_at=None
* Migrate log timestamps to ISO 8601 in UTC
* adapted new code from #9628
* replaced usages of test utility rendered_timestamp() with new core utility
* Replaced usages of django.utils.timezone.utc
* re-added migration on top of newest migrations
This means if the underlying file changes, the rendition cache is invalidated.
Also, ensure different images with the same file get cached separately. This mostly happens in tests
This reduces the memory overhead of the command, allowing it to be run on sites with lots of images.
Whilst that may reduce performance, I've also added a `select_related` and massively simplified the
`purge_only` path to counter
Checking self.paginate_by here is not valid, as that doesn't get updated from the class-level value in the case that get_paginate_by is overridden. Django's BaseListView provides an is_paginated variable, so this could be omitted entirely - however, this returns False in the case that a view has pagination in place but only returns a single page of results, and this doesn't match the semantics we want in Wagtail (where a single page of results should display "Page 1 of 1").