Problem/Motivation
Three pages render from the string, translation, project and release tables but were cached with a permanent max-age and no cache tags: explore languages, explore projects and the welcome page. Dynamic page cache therefore kept serving each user the first version it rendered, so after a release was parsed the languages page still said 'No strings to translate.' until a cache clear, and the projects page ignored the initial filter because that query argument was not part of the cache key.
The fix adds the entity list cache tags for strings, translations, projects, releases and languages, which Drupal invalidates automatically whenever one of those entities is saved, plus the user.permissions context and, on the projects page, the url.query_args:initial context. The permanent max-age is dropped. It touches only the three controllers, no data or template changes.
Was found while writing tests for #3621205: Port the Drupal 7 l10n_community test suite to 3.0.x functional tests so test coverage is included there.
Steps to reproduce
Proposed resolution
Remaining tasks
User interface changes
API changes
Data model changes
LLM disclosuer
LLM was used to find, diagnose and fix this issue.
Comments
Comment #2
gábor hojtsyComment #4
gábor hojtsy