Fix two bugs with the handling of generic foreign keys within `ReferenceIndex._extract_references_from_object`:
* null values were not considered
* content type ID was copied directly from the source field, unlike all other cases that translate to the base content type instead - lookups use the base content type, so these results were not returned.
Fixes #9615
Fixes #9583. The use case for null ParentalKeys is a bit questionable, but if they exist, we don't want reference indexing to break on them. Since references are always stored against the parent object, there's no valid way to record these references, so gracefully skip over them instead.
Fixes #9586. All calls to `register_snippet` that happen before `WagtailSnippetsAppConfig.ready` are now queued up and processed once we are sure models are fully loaded. This avoids any issues with unloaded models during viewset construction, as seen when subclassing django-filters's FilterSet.
Fixes #9512
An `opacity: 0.2` style is defined for the disabled button state, but the `opacity: 1` hover style takes precedence over it. As a result, the only time it kicks in - on media with hover support - is when the StreamField does NOT have hover / focus, which would ordinarily be the time when the button is hidden entirely.
Fix this by adding hover states to the `&[disabled]` case, to match the order of precedence for the normal button state.
- instead of mocking the Django global functions, test each function's export that it correctly uses the global if present or test the default behaviour
- remove specific file in .prettierignore and add inline comments to allow for linting / formatting for the searchpromotions_formset
- Split from #9522
While running tests for an unrelated fix I received a one-off random test failure, where the 'create' and 'publish' log entries were returned in the wrong order. Since these log entries are created at the same time, it's possible that the timestamps will be closer together than the database's resolution - this should not be considered a test failure. Avoid this by explicitly ordering by action codename instead.
Until now, those calls have been executed synchronously with the call of addEventListener.
Fixes #9528
Fixes issue where home page lock/unlock would not work at all (data-url should be used)