The CheckUser API needs to be updated to read the user agent string from the cu_useragent table using the agent_id columns in each result table to find the associated rows.
This could be done by joining the cu_useragent table to each query to the result tables (cu_changes, cu_log_event, and cu_private_event) or performing a separate query to lookup the user agent strings after the results have been selected.
Doing the latter may be more a better solution, as it should avoid making the query yet more complicated by avoiding the need to add a join. However, the former would likely involve less code changes (as the cuua_text column could be aliased as cuc_agent, cule_agent, or cupe_agent).
Acceptance criteria
- Subclasses of ApiQueryCheckUserAbstractResponse will read the user agent string from the cu_useragent table if the schema migration config is set to SCHEMA_COMPAT_READ_NEW.
- If the schema migration is set to SCHEMA_COMPAT_READ_OLD, the code should continue to get the user agent string from the agent column (for example, cuc_agent)