Publishing a canvas_page via auto-save API drops all non-default-language translations
### Overview When a `canvas_page` that has translations is published through the Canvas editor (the auto-save API), every non-default-language translation disappears from the published page. Canvas auto-save only ever captures the translation that was being edited: the draft stored for a page is a snapshot of a single translation. When that draft is published, the publish path rebuilt the page entity from that single-translation snapshot and saved it, so all other translations were silently discarded. Standard Drupal edits don't hit this because they modify the already-loaded entity in place (keeping its translations); the Canvas auto-save publish path is the only place that reconstructed the entity from a partial snapshot. ### Steps to reproduce 1. Create a `canvas_page` and add a non-default-language translation (e.g. Spanish). 2. Open the page in the Canvas editor (auto-save runs in the background) and click Publish. 3. Inspect the published page. **Expected:** all translations are preserved. **Actual:** every non-default-language translation is gone. ### Proposed resolution Publish by loading the stored page and applying the auto-saved changes onto the translation the draft belongs to, instead of recreating the page from the single-translation snapshot. Because the real entity is never discarded, all other translations are retained. This also fixes a subtler failure: the loaded entity keeps a valid loaded revision ID, which `content_translation`'s field synchronizer needs to choose the correct synchronization source. For sites configured with a shared ("symmetric") component tree, recreating the entity from the snapshot made the synchronizer fall back to a stale translation and could silently revert a structural edit on the default language; loading the stored entity avoids this. An earlier approach — re-adding the missing translations onto the recreated entity — was rejected: it papered over the dropped translations but left the symmetric structural-edit corruption in place. ### Remaining tasks - Review and merge `!1189`. ### User interface changes None. ### API changes None. ### Data model changes None. ### Release notes snippet Publishing a translated page in the Canvas editor no longer removes the page's other-language translations.
issue