Administrator UX for com_content currently depends on full page submits for most list and edit interactions. This PR adds progressive asynchronous behavior with strict fallback compatibility, while preserving server-side ACL/CSRF enforcement and existing synchronous flows.
What this PR delivers
1) Async admin contract foundations
Feature-flag plumbing for async backend behavior in com_content.
Reusable JSON envelope trait for async responses.
Shared client helper to execute async requests with graceful fallback.
2) Async list interactions in Articles manager
Async state actions (publish, unpublish, archive, trash, featured, unfeatured).
Async workflow transition execution.
Async search/filter/order/pagination behavior with list fragment refresh.
3) Autosave in Article edit
Autosave scheduler with dirty-state tracking.
Async autosave endpoint contract and status payload.
Versioning-safe autosave policy:
skip unchanged payload,
minimum interval throttle based on configured autosave interval.
Recover last autosaved snapshot and undo recover (MVP, session-local).
4) Custom-field filtering in Articles list
New custom-field filter controls in search tools.
Query integration for selected custom field + optional value match.
5) Shared hooks + accessibility hardening
Core reusable async fragment refresh helper extraction.
Focus restoration after async refresh.
Aria-live announcement for async messages.
6) Documentation and reviewer support
Execution tracker with all units marked complete.
Contract aligned with final implemented scope.
QA and reviewer guide.
PR handoff note.
Behavioral guarantees preserved
Async behavior is feature-flag-gated.
Non-async paths remain available and functional.
CSRF and ACL checks remain server-side.
Client fallback path is retained for unusable async responses.
Reviewer QA checklist (manual)
Flags OFF:
Confirm classic full submit behavior on list and edit screens.
Flags ON:
Confirm list async actions, transitions, search filters, pagination.
Autosave:
Confirm pending/saving/saved statuses.
Confirm skip-on-unchanged and skip-on-throttle behavior.
Confirm recover and undo recover controls.
Custom fields:
Confirm filter controls appear when fields exist.
Confirm list query narrows by selected field/value.
Accessibility:
Confirm focus restoration after async refresh.
Confirm async messages are announced via aria-live.
Risk and rollout notes
Scope intentionally limited to com_content pilot for functional safety.
Shared helper extraction is additive and consumed by pilot implementation.
Follow-up work for additional components should reuse the same contract/hooks.