Skip to content

Sync editor settings in layout effect (fixes autosave e2e)#78799

Open
jsnajdr wants to merge 2 commits into
trunkfrom
fix/autosave-conflict-e2e
Open

Sync editor settings in layout effect (fixes autosave e2e)#78799
jsnajdr wants to merge 2 commits into
trunkfrom
fix/autosave-conflict-e2e

Conversation

@jsnajdr

@jsnajdr jsnajdr commented May 29, 2026

Copy link
Copy Markdown
Member

Attempt to fix #78706, a flaky autosave test that started failing 2 days ago. The most likely suspect is the React 19 migration which changed the precise scheduling of effects, state updates and similar things.

The problem is that when we have both remote (server) and local (storage) autosaves, we show notices about both of them:

Locator: locator('.components-notice__content')
Expected substring: "There is an autosave of this post that is more recent than the version below."
Error: strict mode violation: locator('.components-notice__content') resolved to 2 elements:
    1) <div class="components-notice__content">The backup of this post in your browser is differ…</div> aka getByText('The backup of this post in')
    2) <div class="components-notice__content">There is an autosave of this post that is more re…</div> aka getByLabel('Editor content').getByText('There is an autosave of this')

although we have explicit code (added 7 years ago in #17501) that disables the local notice when the remote one is shown:

if ( hasRemoteAutosave ) {
return;
}

But this doesn't work because of the following combination of reasons:

  • the hasRemoteAutosave value is read in useEffect, on mount, from select( editorStore ).getEditorSettings().autosave, i.e., the editor settings stored in data store
  • at the moment of the mount, the data store doesn't contain the real settings yet, it only has the default values. The real settings are saved in another useEffect, in ExperimentalEditorProvider. And because effects on parent components run only after effects on child components, the sync happens too late.

The result is that the effect in LocalAutosaveMonitor always sees a false value of the autosave setting, the check doesn't work.

I'm fixing this by doing the updateEditorSettings call in a layout effect instead. Then it happens early enough. Doing this is generally a good idea, it's not a mere hack. Because the initial render doesn't yet have the real settings, only the default ones, we shouldn't paint the result. We should trigger a second render as soon as possible, and paint only after the second, correct render finishes.

In this PR I'm also removing the stillHasRemoteAutosave check, because it hides another bug. This check was added by @mcsf in #17679, also 7 years ago. The problem was that sometimes the autosave is not there after reload, although it was reliably saved. I don't know why this was happening in 2019, but today it's happening because of RTC 🙂

There is this POST request that saves the crdtDocument to post meta, triggered by a supposedly read-only getEntityRecord. This request happens after the autosave. And the very bad thing about it is that it updates the "modified" timestamp of the post. When the edit-form-blocks.php page decides whether to send the autosave, it checks the timestamps:

https://github.com/WordPress/wordpress-develop/blob/75fc4e9f0eb6ec211b1d95e2bd80683fc36c5090/src/wp-admin/edit-form-blocks.php#L291-L300

In my testing, the autosave and meta-save happen either in the same second, and then the test succeeds. Or the meta-save happens in the next second, and then the modified timestamp is bigger, the remote autosave is deleted and the test fails.

For this reason, the e2e test will still fail. What can we do about it? The meta-save request probably shouldn't update any timestamps at all. FYI @alecgeatches

@jsnajdr jsnajdr requested review from Mamaduka, aduth and ellatrix May 29, 2026 07:59
@jsnajdr jsnajdr self-assigned this May 29, 2026
@jsnajdr jsnajdr added the [Type] Flaky Test Auto-generated flaky test report issue label May 29, 2026
@github-actions github-actions Bot added the [Package] Editor /packages/editor label May 29, 2026
@github-actions

github-actions Bot commented May 29, 2026

Copy link
Copy Markdown

Size Change: +16 B (0%)

Total Size: 8.21 MB

📦 View Changed
Filename Size Change
build/scripts/core-data/index.min.js 31.4 kB +14 B (+0.04%)
build/scripts/editor/index.min.js 462 kB +2 B (0%)
ℹ️ View Unchanged
Filename Size Change
build/modules/a11y/index.min.js 355 B 0 B
build/modules/abilities/index.min.js 42.3 kB 0 B
build/modules/block-editor/utils/fit-text-frontend.min.js 617 B 0 B
build/modules/block-library/accordion/view.min.js 595 B 0 B
build/modules/block-library/file/view.min.js 346 B 0 B
build/modules/block-library/form/view.min.js 528 B 0 B
build/modules/block-library/image/view.min.js 2.64 kB 0 B
build/modules/block-library/navigation/view.min.js 1.14 kB 0 B
build/modules/block-library/playlist/view.min.js 10.9 kB 0 B
build/modules/block-library/query/view.min.js 518 B 0 B
build/modules/block-library/search/view.min.js 498 B 0 B
build/modules/block-library/tabs/view.min.js 946 B 0 B
build/modules/boot/index.min.js 51.8 kB 0 B
build/modules/connectors/index.min.js 2.05 kB 0 B
build/modules/content-types/index.min.js 156 kB 0 B
build/modules/core-abilities/index.min.js 926 B 0 B
build/modules/edit-site-init/index.min.js 1.4 kB 0 B
build/modules/interactivity-router/full-page.min.js 451 B 0 B
build/modules/interactivity-router/index.min.js 11.6 kB 0 B
build/modules/interactivity/index.min.js 15.3 kB 0 B
build/modules/latex-to-mathml/index.min.js 56.5 kB 0 B
build/modules/latex-to-mathml/loader.min.js 131 B 0 B
build/modules/lazy-editor/index.min.js 14.2 kB 0 B
build/modules/route/index.min.js 25.2 kB 0 B
build/modules/vips/loader.min.js 127 B 0 B
build/modules/vips/worker.min.js 4.56 MB 0 B
build/modules/workflow/index.min.js 19.9 kB 0 B
build/scripts/a11y/index.min.js 1.1 kB 0 B
build/scripts/annotations/index.min.js 2.53 kB 0 B
build/scripts/api-fetch/index.min.js 3.34 kB 0 B
build/scripts/autop/index.min.js 2.21 kB 0 B
build/scripts/base-styles/index.min.js 146 B 0 B
build/scripts/blob/index.min.js 665 B 0 B
build/scripts/block-directory/index.min.js 43 kB 0 B
build/scripts/block-editor/index.min.js 379 kB 0 B
build/scripts/block-library/index.min.js 323 kB 0 B
build/scripts/block-serialization-default-parser/index.min.js 1.2 kB 0 B
build/scripts/block-serialization-spec-parser/index.min.js 3.12 kB 0 B
build/scripts/blocks/index.min.js 57 kB 0 B
build/scripts/commands/index.min.js 21 kB 0 B
build/scripts/components/index.min.js 263 kB 0 B
build/scripts/compose/index.min.js 11.7 kB 0 B
build/scripts/core-commands/index.min.js 4.37 kB 0 B
build/scripts/customize-widgets/index.min.js 14.6 kB 0 B
build/scripts/data-controls/index.min.js 832 B 0 B
build/scripts/data/index.min.js 9.74 kB 0 B
build/scripts/date/index.min.js 23.7 kB 0 B
build/scripts/deprecated/index.min.js 784 B 0 B
build/scripts/dom-ready/index.min.js 502 B 0 B
build/scripts/dom/index.min.js 5.04 kB 0 B
build/scripts/edit-post/index.min.js 52 kB 0 B
build/scripts/edit-site/index.min.js 295 kB 0 B
build/scripts/edit-widgets/index.min.js 22.2 kB 0 B
build/scripts/element/index.min.js 5.63 kB 0 B
build/scripts/escape-html/index.min.js 622 B 0 B
build/scripts/format-library/index.min.js 13.1 kB 0 B
build/scripts/hooks/index.min.js 1.86 kB 0 B
build/scripts/html-entities/index.min.js 529 B 0 B
build/scripts/i18n/index.min.js 2.5 kB 0 B
build/scripts/is-shallow-equal/index.min.js 607 B 0 B
build/scripts/keyboard-shortcuts/index.min.js 1.65 kB 0 B
build/scripts/keycodes/index.min.js 1.6 kB 0 B
build/scripts/list-reusable-blocks/index.min.js 2.53 kB 0 B
build/scripts/media-utils/index.min.js 112 kB 0 B
build/scripts/notices/index.min.js 1.72 kB 0 B
build/scripts/nux/index.min.js 909 B 0 B
build/scripts/patterns/index.min.js 8 kB 0 B
build/scripts/plugins/index.min.js 2.18 kB 0 B
build/scripts/preferences-persistence/index.min.js 2.19 kB 0 B
build/scripts/preferences/index.min.js 3.33 kB 0 B
build/scripts/primitives/index.min.js 1.05 kB 0 B
build/scripts/priority-queue/index.min.js 1.65 kB 0 B
build/scripts/private-apis/index.min.js 1.15 kB 0 B
build/scripts/react-i18n/index.min.js 868 B 0 B
build/scripts/redux-routine/index.min.js 3.4 kB 0 B
build/scripts/reusable-blocks/index.min.js 3.14 kB 0 B
build/scripts/rich-text/index.min.js 14.1 kB 0 B
build/scripts/router/index.min.js 5.99 kB 0 B
build/scripts/server-side-render/index.min.js 1.98 kB 0 B
build/scripts/shortcode/index.min.js 1.62 kB 0 B
build/scripts/style-engine/index.min.js 2.45 kB 0 B
build/scripts/sync/index.min.js 39.6 kB 0 B
build/scripts/theme/index.min.js 22 kB 0 B
build/scripts/token-list/index.min.js 767 B 0 B
build/scripts/undo-manager/index.min.js 954 B 0 B
build/scripts/upload-media/index.min.js 11.5 kB 0 B
build/scripts/url/index.min.js 4.02 kB 0 B
build/scripts/vendors/react-dom.min.js 57.7 kB 0 B
build/scripts/vendors/react-jsx-runtime.min.js 513 B 0 B
build/scripts/vendors/react.min.js 3.1 kB 0 B
build/scripts/viewport/index.min.js 1.25 kB 0 B
build/scripts/warning/index.min.js 482 B 0 B
build/scripts/widgets/index.min.js 7.84 kB 0 B
build/scripts/wordcount/index.min.js 1.07 kB 0 B
build/styles/base-styles/admin-schemes-rtl.css 1.71 kB 0 B
build/styles/base-styles/admin-schemes-rtl.min.css 775 B 0 B
build/styles/base-styles/admin-schemes.css 1.71 kB 0 B
build/styles/base-styles/admin-schemes.min.css 775 B 0 B
build/styles/block-directory/style-rtl.css 1.97 kB 0 B
build/styles/block-directory/style-rtl.min.css 1.06 kB 0 B
build/styles/block-directory/style.css 1.98 kB 0 B
build/styles/block-directory/style.min.css 1.06 kB 0 B
build/styles/block-editor/content-rtl.css 5.51 kB 0 B
build/styles/block-editor/content-rtl.min.css 4.08 kB 0 B
build/styles/block-editor/content.css 5.52 kB 0 B
build/styles/block-editor/content.min.css 4.07 kB 0 B
build/styles/block-editor/default-editor-styles-rtl.css 697 B 0 B
build/styles/block-editor/default-editor-styles-rtl.min.css 224 B 0 B
build/styles/block-editor/default-editor-styles.css 697 B 0 B
build/styles/block-editor/default-editor-styles.min.css 224 B 0 B
build/styles/block-editor/style-rtl.css 18.7 kB 0 B
build/styles/block-editor/style-rtl.min.css 15.9 kB 0 B
build/styles/block-editor/style.css 18.7 kB 0 B
build/styles/block-editor/style.min.css 15.9 kB 0 B
build/styles/block-library/accordion-heading/style-rtl.css 346 B 0 B
build/styles/block-library/accordion-heading/style-rtl.min.css 325 B 0 B
build/styles/block-library/accordion-heading/style.css 346 B 0 B
build/styles/block-library/accordion-heading/style.min.css 325 B 0 B
build/styles/block-library/accordion-item/style-rtl.css 239 B 0 B
build/styles/block-library/accordion-item/style-rtl.min.css 180 B 0 B
build/styles/block-library/accordion-item/style.css 238 B 0 B
build/styles/block-library/accordion-item/style.min.css 180 B 0 B
build/styles/block-library/accordion-panel/style-rtl.css 110 B 0 B
build/styles/block-library/accordion-panel/style-rtl.min.css 99 B 0 B
build/styles/block-library/accordion-panel/style.css 110 B 0 B
build/styles/block-library/accordion-panel/style.min.css 99 B 0 B
build/styles/block-library/accordion/style-rtl.css 69 B 0 B
build/styles/block-library/accordion/style-rtl.min.css 62 B 0 B
build/styles/block-library/accordion/style.css 69 B 0 B
build/styles/block-library/accordion/style.min.css 62 B 0 B
build/styles/block-library/archives/style-rtl.css 101 B 0 B
build/styles/block-library/archives/style-rtl.min.css 90 B 0 B
build/styles/block-library/archives/style.css 101 B 0 B
build/styles/block-library/archives/style.min.css 90 B 0 B
build/styles/block-library/audio/editor-rtl.css 166 B 0 B
build/styles/block-library/audio/editor-rtl.min.css 149 B 0 B
build/styles/block-library/audio/editor.css 166 B 0 B
build/styles/block-library/audio/editor.min.css 151 B 0 B
build/styles/block-library/audio/style-rtl.css 945 B 0 B
build/styles/block-library/audio/style-rtl.min.css 132 B 0 B
build/styles/block-library/audio/style.css 945 B 0 B
build/styles/block-library/audio/style.min.css 132 B 0 B
build/styles/block-library/audio/theme-rtl.css 967 B 0 B
build/styles/block-library/audio/theme-rtl.min.css 134 B 0 B
build/styles/block-library/audio/theme.css 967 B 0 B
build/styles/block-library/audio/theme.min.css 134 B 0 B
build/styles/block-library/avatar/editor-rtl.css 127 B 0 B
build/styles/block-library/avatar/editor-rtl.min.css 115 B 0 B
build/styles/block-library/avatar/editor.css 127 B 0 B
build/styles/block-library/avatar/editor.min.css 115 B 0 B
build/styles/block-library/avatar/style-rtl.css 117 B 0 B
build/styles/block-library/avatar/style-rtl.min.css 104 B 0 B
build/styles/block-library/avatar/style.css 117 B 0 B
build/styles/block-library/avatar/style.min.css 104 B 0 B
build/styles/block-library/breadcrumbs/style-rtl.css 236 B 0 B
build/styles/block-library/breadcrumbs/style-rtl.min.css 206 B 0 B
build/styles/block-library/breadcrumbs/style.css 236 B 0 B
build/styles/block-library/breadcrumbs/style.min.css 206 B 0 B
build/styles/block-library/button/editor-rtl.css 306 B 0 B
build/styles/block-library/button/editor-rtl.min.css 265 B 0 B
build/styles/block-library/button/editor.css 317 B 0 B
build/styles/block-library/button/editor.min.css 265 B 0 B
build/styles/block-library/button/style-rtl.css 651 B 0 B
build/styles/block-library/button/style-rtl.min.css 596 B 0 B
build/styles/block-library/button/style.css 662 B 0 B
build/styles/block-library/button/style.min.css 596 B 0 B
build/styles/block-library/buttons/editor-rtl.css 391 B 0 B
build/styles/block-library/buttons/editor-rtl.min.css 291 B 0 B
build/styles/block-library/buttons/editor.css 391 B 0 B
build/styles/block-library/buttons/editor.min.css 291 B 0 B
build/styles/block-library/buttons/style-rtl.css 452 B 0 B
build/styles/block-library/buttons/style-rtl.min.css 349 B 0 B
build/styles/block-library/buttons/style.css 453 B 0 B
build/styles/block-library/buttons/style.min.css 349 B 0 B
build/styles/block-library/calendar/style-rtl.css 271 B 0 B
build/styles/block-library/calendar/style-rtl.min.css 239 B 0 B
build/styles/block-library/calendar/style.css 271 B 0 B
build/styles/block-library/calendar/style.min.css 239 B 0 B
build/styles/block-library/categories/editor-rtl.css 171 B 0 B
build/styles/block-library/categories/editor-rtl.min.css 132 B 0 B
build/styles/block-library/categories/editor.css 170 B 0 B
build/styles/block-library/categories/editor.min.css 131 B 0 B
build/styles/block-library/categories/style-rtl.css 226 B 0 B
build/styles/block-library/categories/style-rtl.min.css 169 B 0 B
build/styles/block-library/categories/style.css 235 B 0 B
build/styles/block-library/categories/style.min.css 169 B 0 B
build/styles/block-library/classic-rtl.css 402 B 0 B
build/styles/block-library/classic-rtl.min.css 358 B 0 B
build/styles/block-library/classic.css 402 B 0 B
build/styles/block-library/classic.min.css 358 B 0 B
build/styles/block-library/code/editor-rtl.css 59 B 0 B
build/styles/block-library/code/editor-rtl.min.css 53 B 0 B
build/styles/block-library/code/editor.css 59 B 0 B
build/styles/block-library/code/editor.min.css 53 B 0 B
build/styles/block-library/code/style-rtl.css 158 B 0 B
build/styles/block-library/code/style-rtl.min.css 140 B 0 B
build/styles/block-library/code/style.css 178 B 0 B
build/styles/block-library/code/style.min.css 140 B 0 B
build/styles/block-library/code/theme-rtl.css 135 B 0 B
build/styles/block-library/code/theme-rtl.min.css 122 B 0 B
build/styles/block-library/code/theme.css 135 B 0 B
build/styles/block-library/code/theme.min.css 122 B 0 B
build/styles/block-library/columns/editor-rtl.css 119 B 0 B
build/styles/block-library/columns/editor-rtl.min.css 108 B 0 B
build/styles/block-library/columns/editor.css 119 B 0 B
build/styles/block-library/columns/editor.min.css 108 B 0 B
build/styles/block-library/columns/style-rtl.css 1.3 kB 0 B
build/styles/block-library/columns/style-rtl.min.css 421 B 0 B
build/styles/block-library/columns/style.css 1.3 kB 0 B
build/styles/block-library/columns/style.min.css 421 B 0 B
build/styles/block-library/comment-author-avatar/editor-rtl.css 136 B 0 B
build/styles/block-library/comment-author-avatar/editor-rtl.min.css 124 B 0 B
build/styles/block-library/comment-author-avatar/editor.css 136 B 0 B
build/styles/block-library/comment-author-avatar/editor.min.css 124 B 0 B
build/styles/block-library/comment-author-name/style-rtl.css 79 B 0 B
build/styles/block-library/comment-author-name/style-rtl.min.css 72 B 0 B
build/styles/block-library/comment-author-name/style.css 79 B 0 B
build/styles/block-library/comment-author-name/style.min.css 72 B 0 B
build/styles/block-library/comment-content/style-rtl.css 137 B 0 B
build/styles/block-library/comment-content/style-rtl.min.css 120 B 0 B
build/styles/block-library/comment-content/style.css 137 B 0 B
build/styles/block-library/comment-content/style.min.css 120 B 0 B
build/styles/block-library/comment-date/style-rtl.css 72 B 0 B
build/styles/block-library/comment-date/style-rtl.min.css 65 B 0 B
build/styles/block-library/comment-date/style.css 72 B 0 B
build/styles/block-library/comment-date/style.min.css 65 B 0 B
build/styles/block-library/comment-edit-link/style-rtl.css 77 B 0 B
build/styles/block-library/comment-edit-link/style-rtl.min.css 70 B 0 B
build/styles/block-library/comment-edit-link/style.css 77 B 0 B
build/styles/block-library/comment-edit-link/style.min.css 70 B 0 B
build/styles/block-library/comment-reply-link/style-rtl.css 78 B 0 B
build/styles/block-library/comment-reply-link/style-rtl.min.css 71 B 0 B
build/styles/block-library/comment-reply-link/style.css 78 B 0 B
build/styles/block-library/comment-reply-link/style.min.css 71 B 0 B
build/styles/block-library/comment-template/style-rtl.css 213 B 0 B
build/styles/block-library/comment-template/style-rtl.min.css 191 B 0 B
build/styles/block-library/comment-template/style.css 213 B 0 B
build/styles/block-library/comment-template/style.min.css 191 B 0 B
build/styles/block-library/comments-pagination-numbers/editor-rtl.css 135 B 0 B
build/styles/block-library/comments-pagination-numbers/editor-rtl.min.css 122 B 0 B
build/styles/block-library/comments-pagination-numbers/editor.css 144 B 0 B
build/styles/block-library/comments-pagination-numbers/editor.min.css 121 B 0 B
build/styles/block-library/comments-pagination/editor-rtl.css 184 B 0 B
build/styles/block-library/comments-pagination/editor-rtl.min.css 168 B 0 B
build/styles/block-library/comments-pagination/editor.css 184 B 0 B
build/styles/block-library/comments-pagination/editor.min.css 168 B 0 B
build/styles/block-library/comments-pagination/style-rtl.css 224 B 0 B
build/styles/block-library/comments-pagination/style-rtl.min.css 201 B 0 B
build/styles/block-library/comments-pagination/style.css 236 B 0 B
build/styles/block-library/comments-pagination/style.min.css 201 B 0 B
build/styles/block-library/comments-title/editor-rtl.css 83 B 0 B
build/styles/block-library/comments-title/editor-rtl.min.css 75 B 0 B
build/styles/block-library/comments-title/editor.css 83 B 0 B
build/styles/block-library/comments-title/editor.min.css 75 B 0 B
build/styles/block-library/comments/editor-rtl.css 968 B 0 B
build/styles/block-library/comments/editor-rtl.min.css 842 B 0 B
build/styles/block-library/comments/editor.css 968 B 0 B
build/styles/block-library/comments/editor.min.css 842 B 0 B
build/styles/block-library/comments/style-rtl.css 754 B 0 B
build/styles/block-library/comments/style-rtl.min.css 637 B 0 B
build/styles/block-library/comments/style.css 752 B 0 B
build/styles/block-library/comments/style.min.css 637 B 0 B
build/styles/block-library/common-rtl.css 2.57 kB 0 B
build/styles/block-library/common-rtl.min.css 1.21 kB 0 B
build/styles/block-library/common.css 2.59 kB 0 B
build/styles/block-library/common.min.css 1.2 kB 0 B
build/styles/block-library/cover/editor-rtl.css 1.05 kB 0 B
build/styles/block-library/cover/editor-rtl.min.css 631 B 0 B
build/styles/block-library/cover/editor.css 1.05 kB 0 B
build/styles/block-library/cover/editor.min.css 631 B 0 B
build/styles/block-library/cover/style-rtl.css 2.5 kB 0 B
build/styles/block-library/cover/style-rtl.min.css 1.82 kB 0 B
build/styles/block-library/cover/style.css 2.51 kB 0 B
build/styles/block-library/cover/style.min.css 1.81 kB 0 B
build/styles/block-library/details/editor-rtl.css 72 B 0 B
build/styles/block-library/details/editor-rtl.min.css 65 B 0 B
build/styles/block-library/details/editor.css 72 B 0 B
build/styles/block-library/details/editor.min.css 65 B 0 B
build/styles/block-library/details/style-rtl.css 97 B 0 B
build/styles/block-library/details/style-rtl.min.css 86 B 0 B
build/styles/block-library/details/style.css 97 B 0 B
build/styles/block-library/details/style.min.css 86 B 0 B
build/styles/block-library/editor-elements-rtl.css 117 B 0 B
build/styles/block-library/editor-elements-rtl.min.css 75 B 0 B
build/styles/block-library/editor-elements.css 117 B 0 B
build/styles/block-library/editor-elements.min.css 75 B 0 B
build/styles/block-library/editor-rtl.css 12.5 kB 0 B
build/styles/block-library/editor-rtl.min.css 10.3 kB 0 B
build/styles/block-library/editor.css 12.5 kB 0 B
build/styles/block-library/editor.min.css 10.3 kB 0 B
build/styles/block-library/elements-rtl.css 84 B 0 B
build/styles/block-library/elements-rtl.min.css 54 B 0 B
build/styles/block-library/elements.css 84 B 0 B
build/styles/block-library/elements.min.css 54 B 0 B
build/styles/block-library/embed/editor-rtl.css 391 B 0 B
build/styles/block-library/embed/editor-rtl.min.css 331 B 0 B
build/styles/block-library/embed/editor.css 390 B 0 B
build/styles/block-library/embed/editor.min.css 331 B 0 B
build/styles/block-library/embed/style-rtl.css 1.29 kB 0 B
build/styles/block-library/embed/style-rtl.min.css 448 B 0 B
build/styles/block-library/embed/style.css 1.29 kB 0 B
build/styles/block-library/embed/style.min.css 448 B 0 B
build/styles/block-library/embed/theme-rtl.css 967 B 0 B
build/styles/block-library/embed/theme-rtl.min.css 133 B 0 B
build/styles/block-library/embed/theme.css 967 B 0 B
build/styles/block-library/embed/theme.min.css 133 B 0 B
build/styles/block-library/file/editor-rtl.css 352 B 0 B
build/styles/block-library/file/editor-rtl.min.css 324 B 0 B
build/styles/block-library/file/editor.css 353 B 0 B
build/styles/block-library/file/editor.min.css 324 B 0 B
build/styles/block-library/file/style-rtl.css 318 B 0 B
build/styles/block-library/file/style-rtl.min.css 278 B 0 B
build/styles/block-library/file/style.css 331 B 0 B
build/styles/block-library/file/style.min.css 278 B 0 B
build/styles/block-library/footnotes/style-rtl.css 220 B 0 B
build/styles/block-library/footnotes/style-rtl.min.css 198 B 0 B
build/styles/block-library/footnotes/style.css 219 B 0 B
build/styles/block-library/footnotes/style.min.css 197 B 0 B
build/styles/block-library/form-input/editor-rtl.css 286 B 0 B
build/styles/block-library/form-input/editor-rtl.min.css 265 B 0 B
build/styles/block-library/form-input/editor.css 285 B 0 B
build/styles/block-library/form-input/editor.min.css 264 B 0 B
build/styles/block-library/form-input/style-rtl.css 467 B 0 B
build/styles/block-library/form-input/style-rtl.min.css 366 B 0 B
build/styles/block-library/form-input/style.css 467 B 0 B
build/styles/block-library/form-input/style.min.css 366 B 0 B
build/styles/block-library/form-submission-notification/editor-rtl.css 368 B 0 B
build/styles/block-library/form-submission-notification/editor-rtl.min.css 344 B 0 B
build/styles/block-library/form-submission-notification/editor.css 368 B 0 B
build/styles/block-library/form-submission-notification/editor.min.css 341 B 0 B
build/styles/block-library/form-submit-button/style-rtl.css 77 B 0 B
build/styles/block-library/form-submit-button/style-rtl.min.css 69 B 0 B
build/styles/block-library/form-submit-button/style.css 77 B 0 B
build/styles/block-library/form-submit-button/style.min.css 69 B 0 B
build/styles/block-library/freeform/editor-rtl.css 1.12 kB 0 B
build/styles/block-library/freeform/editor-rtl.min.css 288 B 0 B
build/styles/block-library/freeform/editor.css 1.12 kB 0 B
build/styles/block-library/freeform/editor.min.css 288 B 0 B
build/styles/block-library/gallery/editor-rtl.css 1.46 kB 0 B
build/styles/block-library/gallery/editor-rtl.min.css 561 B 0 B
build/styles/block-library/gallery/editor.css 1.46 kB 0 B
build/styles/block-library/gallery/editor.min.css 564 B 0 B
build/styles/block-library/gallery/style-rtl.css 2.84 kB 0 B
build/styles/block-library/gallery/style-rtl.min.css 1.84 kB 0 B
build/styles/block-library/gallery/style.css 2.84 kB 0 B
build/styles/block-library/gallery/style.min.css 1.84 kB 0 B
build/styles/block-library/gallery/theme-rtl.css 941 B 0 B
build/styles/block-library/gallery/theme-rtl.min.css 108 B 0 B
build/styles/block-library/gallery/theme.css 941 B 0 B
build/styles/block-library/gallery/theme.min.css 108 B 0 B
build/styles/block-library/group/editor-rtl.css 772 B 0 B
build/styles/block-library/group/editor-rtl.min.css 335 B 0 B
build/styles/block-library/group/editor.css 772 B 0 B
build/styles/block-library/group/editor.min.css 335 B 0 B
build/styles/block-library/group/style-rtl.css 120 B 0 B
build/styles/block-library/group/style-rtl.min.css 103 B 0 B
build/styles/block-library/group/style.css 120 B 0 B
build/styles/block-library/group/style.min.css 103 B 0 B
build/styles/block-library/group/theme-rtl.css 468 B 0 B
build/styles/block-library/group/theme-rtl.min.css 79 B 0 B
build/styles/block-library/group/theme.css 468 B 0 B
build/styles/block-library/group/theme.min.css 79 B 0 B
build/styles/block-library/heading/style-rtl.css 604 B 0 B
build/styles/block-library/heading/style-rtl.min.css 205 B 0 B
build/styles/block-library/heading/style.css 604 B 0 B
build/styles/block-library/heading/style.min.css 205 B 0 B
build/styles/block-library/html/editor-rtl.css 1.29 kB 0 B
build/styles/block-library/html/editor-rtl.min.css 464 B 0 B
build/styles/block-library/html/editor.css 1.3 kB 0 B
build/styles/block-library/html/editor.min.css 464 B 0 B
build/styles/block-library/icon/editor-rtl.css 776 B 0 B
build/styles/block-library/icon/editor-rtl.min.css 377 B 0 B
build/styles/block-library/icon/editor.css 776 B 0 B
build/styles/block-library/icon/editor.min.css 377 B 0 B
build/styles/block-library/icon/style-rtl.css 218 B 0 B
build/styles/block-library/icon/style-rtl.min.css 154 B 0 B
build/styles/block-library/icon/style.css 218 B 0 B
build/styles/block-library/icon/style.min.css 154 B 0 B
build/styles/block-library/image/editor-rtl.css 1.64 kB 0 B
build/styles/block-library/image/editor-rtl.min.css 782 B 0 B
build/styles/block-library/image/editor.css 1.64 kB 0 B
build/styles/block-library/image/editor.min.css 780 B 0 B
build/styles/block-library/image/style-rtl.css 2.92 kB 0 B
build/styles/block-library/image/style-rtl.min.css 1.86 kB 0 B
build/styles/block-library/image/style.css 2.92 kB 0 B
build/styles/block-library/image/style.min.css 1.85 kB 0 B
build/styles/block-library/image/theme-rtl.css 971 B 0 B
build/styles/block-library/image/theme-rtl.min.css 137 B 0 B
build/styles/block-library/image/theme.css 971 B 0 B
build/styles/block-library/image/theme.min.css 137 B 0 B
build/styles/block-library/latest-comments/style-rtl.css 392 B 0 B
build/styles/block-library/latest-comments/style-rtl.min.css 352 B 0 B
build/styles/block-library/latest-comments/style.css 390 B 0 B
build/styles/block-library/latest-comments/style.min.css 352 B 0 B
build/styles/block-library/latest-posts/editor-rtl.css 154 B 0 B
build/styles/block-library/latest-posts/editor-rtl.min.css 139 B 0 B
build/styles/block-library/latest-posts/editor.css 153 B 0 B
build/styles/block-library/latest-posts/editor.min.css 138 B 0 B
build/styles/block-library/latest-posts/style-rtl.css 1.36 kB 0 B
build/styles/block-library/latest-posts/style-rtl.min.css 520 B 0 B
build/styles/block-library/latest-posts/style.css 1.37 kB 0 B
build/styles/block-library/latest-posts/style.min.css 520 B 0 B
build/styles/block-library/list/style-rtl.css 498 B 0 B
build/styles/block-library/list/style-rtl.min.css 107 B 0 B
build/styles/block-library/list/style.css 498 B 0 B
build/styles/block-library/list/style.min.css 107 B 0 B
build/styles/block-library/loginout/style-rtl.css 68 B 0 B
build/styles/block-library/loginout/style-rtl.min.css 61 B 0 B
build/styles/block-library/loginout/style.css 68 B 0 B
build/styles/block-library/loginout/style.min.css 61 B 0 B
build/styles/block-library/math/editor-rtl.css 491 B 0 B
build/styles/block-library/math/editor-rtl.min.css 105 B 0 B
build/styles/block-library/math/editor.css 502 B 0 B
build/styles/block-library/math/editor.min.css 105 B 0 B
build/styles/block-library/math/style-rtl.css 70 B 0 B
build/styles/block-library/math/style-rtl.min.css 61 B 0 B
build/styles/block-library/math/style.css 70 B 0 B
build/styles/block-library/math/style.min.css 61 B 0 B
build/styles/block-library/media-text/editor-rtl.css 389 B 0 B
build/styles/block-library/media-text/editor-rtl.min.css 321 B 0 B
build/styles/block-library/media-text/editor.css 389 B 0 B
build/styles/block-library/media-text/editor.min.css 320 B 0 B
build/styles/block-library/media-text/style-rtl.css 873 B 0 B
build/styles/block-library/media-text/style-rtl.min.css 552 B 0 B
build/styles/block-library/media-text/style.css 901 B 0 B
build/styles/block-library/media-text/style.min.css 550 B 0 B
build/styles/block-library/more/editor-rtl.css 796 B 0 B
build/styles/block-library/more/editor-rtl.min.css 393 B 0 B
build/styles/block-library/more/editor.css 798 B 0 B
build/styles/block-library/more/editor.min.css 393 B 0 B
build/styles/block-library/navigation-link/editor-rtl.css 1.28 kB 0 B
build/styles/block-library/navigation-link/editor-rtl.min.css 710 B 0 B
build/styles/block-library/navigation-link/editor.css 1.27 kB 0 B
build/styles/block-library/navigation-link/editor.min.css 713 B 0 B
build/styles/block-library/navigation-link/style-rtl.css 579 B 0 B
build/styles/block-library/navigation-link/style-rtl.min.css 190 B 0 B
build/styles/block-library/navigation-link/style.css 579 B 0 B
build/styles/block-library/navigation-link/style.min.css 188 B 0 B
build/styles/block-library/navigation-overlay-close/style-rtl.css 260 B 0 B
build/styles/block-library/navigation-overlay-close/style-rtl.min.css 237 B 0 B
build/styles/block-library/navigation-overlay-close/style.css 260 B 0 B
build/styles/block-library/navigation-overlay-close/style.min.css 237 B 0 B
build/styles/block-library/navigation-submenu/editor-rtl.css 1.12 kB 0 B
build/styles/block-library/navigation-submenu/editor-rtl.min.css 295 B 0 B
build/styles/block-library/navigation-submenu/editor.css 1.12 kB 0 B
build/styles/block-library/navigation-submenu/editor.min.css 294 B 0 B
build/styles/block-library/navigation/editor-rtl.css 3.28 kB 0 B
build/styles/block-library/navigation/editor-rtl.min.css 2.28 kB 0 B
build/styles/block-library/navigation/editor.css 3.29 kB 0 B
build/styles/block-library/navigation/editor.min.css 2.28 kB 0 B
build/styles/block-library/navigation/style-rtl.css 3.59 kB 0 B
build/styles/block-library/navigation/style-rtl.min.css 2.52 kB 0 B
build/styles/block-library/navigation/style.css 3.59 kB 0 B
build/styles/block-library/navigation/style.min.css 2.5 kB 0 B
build/styles/block-library/nextpage/editor-rtl.css 799 B 0 B
build/styles/block-library/nextpage/editor-rtl.min.css 392 B 0 B
build/styles/block-library/nextpage/editor.css 800 B 0 B
build/styles/block-library/nextpage/editor.min.css 392 B 0 B
build/styles/block-library/page-list/editor-rtl.css 1.18 kB 0 B
build/styles/block-library/page-list/editor-rtl.min.css 356 B 0 B
build/styles/block-library/page-list/editor.css 1.18 kB 0 B
build/styles/block-library/page-list/editor.min.css 356 B 0 B
build/styles/block-library/page-list/style-rtl.css 207 B 0 B
build/styles/block-library/page-list/style-rtl.min.css 192 B 0 B
build/styles/block-library/page-list/style.css 207 B 0 B
build/styles/block-library/page-list/style.min.css 192 B 0 B
build/styles/block-library/paragraph/editor-rtl.css 315 B 0 B
build/styles/block-library/paragraph/editor-rtl.min.css 292 B 0 B
build/styles/block-library/paragraph/editor.css 314 B 0 B
build/styles/block-library/paragraph/editor.min.css 292 B 0 B
build/styles/block-library/paragraph/style-rtl.css 746 B 0 B
build/styles/block-library/paragraph/style-rtl.min.css 341 B 0 B
build/styles/block-library/paragraph/style.css 752 B 0 B
build/styles/block-library/paragraph/style.min.css 340 B 0 B
build/styles/block-library/playlist-track/style-rtl.css 453 B 0 B
build/styles/block-library/playlist-track/style-rtl.min.css 420 B 0 B
build/styles/block-library/playlist-track/style.css 453 B 0 B
build/styles/block-library/playlist-track/style.min.css 420 B 0 B
build/styles/block-library/playlist/editor-rtl.css 120 B 0 B
build/styles/block-library/playlist/editor-rtl.min.css 112 B 0 B
build/styles/block-library/playlist/editor.css 120 B 0 B
build/styles/block-library/playlist/editor.min.css 112 B 0 B
build/styles/block-library/playlist/style-rtl.css 1.52 kB 0 B
build/styles/block-library/playlist/style-rtl.min.css 1.42 kB 0 B
build/styles/block-library/playlist/style.css 1.52 kB 0 B
build/styles/block-library/playlist/style.min.css 1.42 kB 0 B
build/styles/block-library/post-author-biography/style-rtl.css 96 B 0 B
build/styles/block-library/post-author-biography/style-rtl.min.css 86 B 0 B
build/styles/block-library/post-author-biography/style.css 96 B 0 B
build/styles/block-library/post-author-biography/style.min.css 86 B 0 B
build/styles/block-library/post-author-name/style-rtl.css 76 B 0 B
build/styles/block-library/post-author-name/style-rtl.min.css 69 B 0 B
build/styles/block-library/post-author-name/style.css 76 B 0 B
build/styles/block-library/post-author-name/style.min.css 69 B 0 B
build/styles/block-library/post-author/editor-rtl.css 490 B 0 B
build/styles/block-library/post-author/editor-rtl.min.css 104 B 0 B
build/styles/block-library/post-author/editor.css 490 B 0 B
build/styles/block-library/post-author/editor.min.css 104 B 0 B
build/styles/block-library/post-author/style-rtl.css 213 B 0 B
build/styles/block-library/post-author/style-rtl.min.css 188 B 0 B
build/styles/block-library/post-author/style.css 214 B 0 B
build/styles/block-library/post-author/style.min.css 189 B 0 B
build/styles/block-library/post-comments-count/style-rtl.css 79 B 0 B
build/styles/block-library/post-comments-count/style-rtl.min.css 72 B 0 B
build/styles/block-library/post-comments-count/style.css 79 B 0 B
build/styles/block-library/post-comments-count/style.min.css 72 B 0 B
build/styles/block-library/post-comments-form/editor-rtl.css 104 B 0 B
build/styles/block-library/post-comments-form/editor-rtl.min.css 96 B 0 B
build/styles/block-library/post-comments-form/editor.css 104 B 0 B
build/styles/block-library/post-comments-form/editor.min.css 96 B 0 B
build/styles/block-library/post-comments-form/style-rtl.css 585 B 0 B
build/styles/block-library/post-comments-form/style-rtl.min.css 525 B 0 B
build/styles/block-library/post-comments-form/style.css 584 B 0 B
build/styles/block-library/post-comments-form/style.min.css 525 B 0 B
build/styles/block-library/post-comments-link/style-rtl.css 78 B 0 B
build/styles/block-library/post-comments-link/style-rtl.min.css 71 B 0 B
build/styles/block-library/post-comments-link/style.css 78 B 0 B
build/styles/block-library/post-comments-link/style.min.css 71 B 0 B
build/styles/block-library/post-content/style-rtl.css 68 B 0 B
build/styles/block-library/post-content/style-rtl.min.css 61 B 0 B
build/styles/block-library/post-content/style.css 68 B 0 B
build/styles/block-library/post-content/style.min.css 61 B 0 B
build/styles/block-library/post-date/style-rtl.css 69 B 0 B
build/styles/block-library/post-date/style-rtl.min.css 62 B 0 B
build/styles/block-library/post-date/style.css 69 B 0 B
build/styles/block-library/post-date/style.min.css 62 B 0 B
build/styles/block-library/post-excerpt/editor-rtl.css 78 B 0 B
build/styles/block-library/post-excerpt/editor-rtl.min.css 71 B 0 B
build/styles/block-library/post-excerpt/editor.css 78 B 0 B
build/styles/block-library/post-excerpt/editor.min.css 71 B 0 B
build/styles/block-library/post-excerpt/style-rtl.css 171 B 0 B
build/styles/block-library/post-excerpt/style-rtl.min.css 155 B 0 B
build/styles/block-library/post-excerpt/style.css 171 B 0 B
build/styles/block-library/post-excerpt/style.min.css 155 B 0 B
build/styles/block-library/post-featured-image/editor-rtl.css 1.14 kB 0 B
build/styles/block-library/post-featured-image/editor-rtl.min.css 719 B 0 B
build/styles/block-library/post-featured-image/editor.css 1.14 kB 0 B
build/styles/block-library/post-featured-image/editor.min.css 717 B 0 B
build/styles/block-library/post-featured-image/style-rtl.css 392 B 0 B
build/styles/block-library/post-featured-image/style-rtl.min.css 347 B 0 B
build/styles/block-library/post-featured-image/style.css 392 B 0 B
build/styles/block-library/post-featured-image/style.min.css 347 B 0 B
build/styles/block-library/post-navigation-link/style-rtl.css 234 B 0 B
build/styles/block-library/post-navigation-link/style-rtl.min.css 215 B 0 B
build/styles/block-library/post-navigation-link/style.css 245 B 0 B
build/styles/block-library/post-navigation-link/style.min.css 214 B 0 B
build/styles/block-library/post-template/style-rtl.css 1.27 kB 0 B
build/styles/block-library/post-template/style-rtl.min.css 441 B 0 B
build/styles/block-library/post-template/style.css 1.27 kB 0 B
build/styles/block-library/post-template/style.min.css 441 B 0 B
build/styles/block-library/post-terms/style-rtl.css 108 B 0 B
build/styles/block-library/post-terms/style-rtl.min.css 96 B 0 B
build/styles/block-library/post-terms/style.css 108 B 0 B
build/styles/block-library/post-terms/style.min.css 96 B 0 B
build/styles/block-library/post-time-to-read/style-rtl.css 77 B 0 B
build/styles/block-library/post-time-to-read/style-rtl.min.css 70 B 0 B
build/styles/block-library/post-time-to-read/style.css 77 B 0 B
build/styles/block-library/post-time-to-read/style.min.css 70 B 0 B
build/styles/block-library/post-title/style-rtl.css 175 B 0 B
build/styles/block-library/post-title/style-rtl.min.css 162 B 0 B
build/styles/block-library/post-title/style.css 175 B 0 B
build/styles/block-library/post-title/style.min.css 162 B 0 B
build/styles/block-library/preformatted/style-rtl.css 511 B 0 B
build/styles/block-library/preformatted/style-rtl.min.css 125 B 0 B
build/styles/block-library/preformatted/style.css 511 B 0 B
build/styles/block-library/preformatted/style.min.css 125 B 0 B
build/styles/block-library/pullquote/editor-rtl.css 146 B 0 B
build/styles/block-library/pullquote/editor-rtl.min.css 133 B 0 B
build/styles/block-library/pullquote/editor.css 146 B 0 B
build/styles/block-library/pullquote/editor.min.css 133 B 0 B
build/styles/block-library/pullquote/style-rtl.css 765 B 0 B
build/styles/block-library/pullquote/style-rtl.min.css 365 B 0 B
build/styles/block-library/pullquote/style.css 764 B 0 B
build/styles/block-library/pullquote/style.min.css 365 B 0 B
build/styles/block-library/pullquote/theme-rtl.css 195 B 0 B
build/styles/block-library/pullquote/theme-rtl.min.css 176 B 0 B
build/styles/block-library/pullquote/theme.css 195 B 0 B
build/styles/block-library/pullquote/theme.min.css 176 B 0 B
build/styles/block-library/query-pagination-numbers/editor-rtl.css 134 B 0 B
build/styles/block-library/query-pagination-numbers/editor-rtl.min.css 121 B 0 B
build/styles/block-library/query-pagination-numbers/editor.css 144 B 0 B
build/styles/block-library/query-pagination-numbers/editor.min.css 118 B 0 B
build/styles/block-library/query-pagination/editor-rtl.css 168 B 0 B
build/styles/block-library/query-pagination/editor-rtl.min.css 154 B 0 B
build/styles/block-library/query-pagination/editor.css 168 B 0 B
build/styles/block-library/query-pagination/editor.min.css 154 B 0 B
build/styles/block-library/query-pagination/style-rtl.css 254 B 0 B
build/styles/block-library/query-pagination/style-rtl.min.css 237 B 0 B
build/styles/block-library/query-pagination/style.css 265 B 0 B
build/styles/block-library/query-pagination/style.min.css 237 B 0 B
build/styles/block-library/query-title/style-rtl.css 71 B 0 B
build/styles/block-library/query-title/style-rtl.min.css 64 B 0 B
build/styles/block-library/query-title/style.css 71 B 0 B
build/styles/block-library/query-title/style.min.css 64 B 0 B
build/styles/block-library/query-total/style-rtl.css 71 B 0 B
build/styles/block-library/query-total/style-rtl.min.css 64 B 0 B
build/styles/block-library/query-total/style.css 71 B 0 B
build/styles/block-library/query-total/style.min.css 64 B 0 B
build/styles/block-library/query/editor-rtl.css 1.28 kB 0 B
build/styles/block-library/query/editor-rtl.min.css 438 B 0 B
build/styles/block-library/query/editor.css 1.28 kB 0 B
build/styles/block-library/query/editor.min.css 438 B 0 B
build/styles/block-library/quote/style-rtl.css 255 B 0 B
build/styles/block-library/quote/style-rtl.min.css 238 B 0 B
build/styles/block-library/quote/style.css 256 B 0 B
build/styles/block-library/quote/style.min.css 238 B 0 B
build/styles/block-library/quote/theme-rtl.css 253 B 0 B
build/styles/block-library/quote/theme-rtl.min.css 233 B 0 B
build/styles/block-library/quote/theme.css 254 B 0 B
build/styles/block-library/quote/theme.min.css 236 B 0 B
build/styles/block-library/read-more/style-rtl.css 146 B 0 B
build/styles/block-library/read-more/style-rtl.min.css 131 B 0 B
build/styles/block-library/read-more/style.css 146 B 0 B
build/styles/block-library/read-more/style.min.css 131 B 0 B
build/styles/block-library/reset-rtl.css 936 B 0 B
build/styles/block-library/reset-rtl.min.css 467 B 0 B
build/styles/block-library/reset.css 936 B 0 B
build/styles/block-library/reset.min.css 467 B 0 B
build/styles/block-library/rss/editor-rtl.css 144 B 0 B
build/styles/block-library/rss/editor-rtl.min.css 126 B 0 B
build/styles/block-library/rss/editor.css 144 B 0 B
build/styles/block-library/rss/editor.min.css 126 B 0 B
build/styles/block-library/rss/style-rtl.css 1.11 kB 0 B
build/styles/block-library/rss/style-rtl.min.css 284 B 0 B
build/styles/block-library/rss/style.css 1.12 kB 0 B
build/styles/block-library/rss/style.min.css 283 B 0 B
build/styles/block-library/search/editor-rtl.css 217 B 0 B
build/styles/block-library/search/editor-rtl.min.css 199 B 0 B
build/styles/block-library/search/editor.css 217 B 0 B
build/styles/block-library/search/editor.min.css 199 B 0 B
build/styles/block-library/search/style-rtl.css 1.1 kB 0 B
build/styles/block-library/search/style-rtl.min.css 665 B 0 B
build/styles/block-library/search/style.css 1.1 kB 0 B
build/styles/block-library/search/style.min.css 666 B 0 B
build/styles/block-library/search/theme-rtl.css 130 B 0 B
build/styles/block-library/search/theme-rtl.min.css 113 B 0 B
build/styles/block-library/search/theme.css 130 B 0 B
build/styles/block-library/search/theme.min.css 113 B 0 B
build/styles/block-library/separator/editor-rtl.css 106 B 0 B
build/styles/block-library/separator/editor-rtl.min.css 100 B 0 B
build/styles/block-library/separator/editor.css 106 B 0 B
build/styles/block-library/separator/editor.min.css 100 B 0 B
build/styles/block-library/separator/style-rtl.css 284 B 0 B
build/styles/block-library/separator/style-rtl.min.css 248 B 0 B
build/styles/block-library/separator/style.css 297 B 0 B
build/styles/block-library/separator/style.min.css 248 B 0 B
build/styles/block-library/separator/theme-rtl.css 226 B 0 B
build/styles/block-library/separator/theme-rtl.min.css 195 B 0 B
build/styles/block-library/separator/theme.css 226 B 0 B
build/styles/block-library/separator/theme.min.css 195 B 0 B
build/styles/block-library/shortcode/editor-rtl.css 1.1 kB 0 B
build/styles/block-library/shortcode/editor-rtl.min.css 286 B 0 B
build/styles/block-library/shortcode/editor.css 1.1 kB 0 B
build/styles/block-library/shortcode/editor.min.css 286 B 0 B
build/styles/block-library/site-logo/editor-rtl.css 1.12 kB 0 B
build/styles/block-library/site-logo/editor-rtl.min.css 696 B 0 B
build/styles/block-library/site-logo/editor.css 1.12 kB 0 B
build/styles/block-library/site-logo/editor.min.css 692 B 0 B
build/styles/block-library/site-logo/style-rtl.css 239 B 0 B
build/styles/block-library/site-logo/style-rtl.min.css 218 B 0 B
build/styles/block-library/site-logo/style.css 238 B 0 B
build/styles/block-library/site-logo/style.min.css 218 B 0 B
build/styles/block-library/site-tagline/editor-rtl.css 94 B 0 B
build/styles/block-library/site-tagline/editor-rtl.min.css 87 B 0 B
build/styles/block-library/site-tagline/editor.css 94 B 0 B
build/styles/block-library/site-tagline/editor.min.css 87 B 0 B
build/styles/block-library/site-tagline/style-rtl.css 72 B 0 B
build/styles/block-library/site-tagline/style-rtl.min.css 65 B 0 B
build/styles/block-library/site-tagline/style.css 72 B 0 B
build/styles/block-library/site-tagline/style.min.css 65 B 0 B
build/styles/block-library/site-title/editor-rtl.css 93 B 0 B
build/styles/block-library/site-title/editor-rtl.min.css 85 B 0 B
build/styles/block-library/site-title/editor.css 93 B 0 B
build/styles/block-library/site-title/editor.min.css 85 B 0 B
build/styles/block-library/site-title/style-rtl.css 153 B 0 B
build/styles/block-library/site-title/style-rtl.min.css 143 B 0 B
build/styles/block-library/site-title/style.css 153 B 0 B
build/styles/block-library/site-title/style.min.css 143 B 0 B
build/styles/block-library/social-link/editor-rtl.css 346 B 0 B
build/styles/block-library/social-link/editor-rtl.min.css 314 B 0 B
build/styles/block-library/social-link/editor.css 348 B 0 B
build/styles/block-library/social-link/editor.min.css 314 B 0 B
build/styles/block-library/social-links/editor-rtl.css 737 B 0 B
build/styles/block-library/social-links/editor-rtl.min.css 339 B 0 B
build/styles/block-library/social-links/editor.css 738 B 0 B
build/styles/block-library/social-links/editor.min.css 338 B 0 B
build/styles/block-library/social-links/style-rtl.css 1.57 kB 0 B
build/styles/block-library/social-links/style-rtl.min.css 1.51 kB 0 B
build/styles/block-library/social-links/style.css 1.57 kB 0 B
build/styles/block-library/social-links/style.min.css 1.51 kB 0 B
build/styles/block-library/spacer/editor-rtl.css 774 B 0 B
build/styles/block-library/spacer/editor-rtl.min.css 346 B 0 B
build/styles/block-library/spacer/editor.css 774 B 0 B
build/styles/block-library/spacer/editor.min.css 346 B 0 B
build/styles/block-library/spacer/style-rtl.css 55 B 0 B
build/styles/block-library/spacer/style-rtl.min.css 48 B 0 B
build/styles/block-library/spacer/style.css 55 B 0 B
build/styles/block-library/spacer/style.min.css 48 B 0 B
build/styles/block-library/style-rtl.css 21.6 kB 0 B
build/styles/block-library/style-rtl.min.css 18.1 kB 0 B
build/styles/block-library/style.css 21.7 kB 0 B
build/styles/block-library/style.min.css 18 kB 0 B
build/styles/block-library/tab-list/editor-rtl.css 107 B 0 B
build/styles/block-library/tab-list/editor-rtl.min.css 97 B 0 B
build/styles/block-library/tab-list/editor.css 107 B 0 B
build/styles/block-library/tab-list/editor.min.css 97 B 0 B
build/styles/block-library/tab-panel/style-rtl.css 238 B 0 B
build/styles/block-library/tab-panel/style-rtl.min.css 215 B 0 B
build/styles/block-library/tab-panel/style.css 238 B 0 B
build/styles/block-library/tab-panel/style.min.css 215 B 0 B
build/styles/block-library/tab-panels/style-rtl.css 76 B 0 B
build/styles/block-library/tab-panels/style-rtl.min.css 65 B 0 B
build/styles/block-library/tab-panels/style.css 76 B 0 B
build/styles/block-library/tab-panels/style.min.css 65 B 0 B
build/styles/block-library/tab/editor-rtl.css 160 B 0 B
build/styles/block-library/tab/editor-rtl.min.css 148 B 0 B
build/styles/block-library/tab/editor.css 160 B 0 B
build/styles/block-library/tab/editor.min.css 148 B 0 B
build/styles/block-library/tab/style-rtl.css 397 B 0 B
build/styles/block-library/tab/style-rtl.min.css 352 B 0 B
build/styles/block-library/tab/style.css 398 B 0 B
build/styles/block-library/tab/style.min.css 356 B 0 B
build/styles/block-library/table-of-contents/style-rtl.css 89 B 0 B
build/styles/block-library/table-of-contents/style-rtl.min.css 83 B 0 B
build/styles/block-library/table-of-contents/style.css 89 B 0 B
build/styles/block-library/table-of-contents/style.min.css 83 B 0 B
build/styles/block-library/table/editor-rtl.css 1.25 kB 0 B
build/styles/block-library/table/editor-rtl.min.css 394 B 0 B
build/styles/block-library/table/editor.css 1.25 kB 0 B
build/styles/block-library/table/editor.min.css 394 B 0 B
build/styles/block-library/table/style-rtl.css 1.06 kB 0 B
build/styles/block-library/table/style-rtl.min.css 641 B 0 B
build/styles/block-library/table/style.css 1.06 kB 0 B
build/styles/block-library/table/style.min.css 640 B 0 B
build/styles/block-library/table/theme-rtl.css 985 B 0 B
build/styles/block-library/table/theme-rtl.min.css 152 B 0 B
build/styles/block-library/table/theme.css 985 B 0 B
build/styles/block-library/table/theme.min.css 152 B 0 B
build/styles/block-library/tabs/style-rtl.css 64 B 0 B
build/styles/block-library/tabs/style-rtl.min.css 57 B 0 B
build/styles/block-library/tabs/style.css 64 B 0 B
build/styles/block-library/tabs/style.min.css 57 B 0 B
build/styles/block-library/tag-cloud/style-rtl.css 283 B 0 B
build/styles/block-library/tag-cloud/style-rtl.min.css 248 B 0 B
build/styles/block-library/tag-cloud/style.css 283 B 0 B
build/styles/block-library/tag-cloud/style.min.css 248 B 0 B
build/styles/block-library/template-part/editor-rtl.css 1.2 kB 0 B
build/styles/block-library/template-part/editor-rtl.min.css 368 B 0 B
build/styles/block-library/template-part/editor.css 1.2 kB 0 B
build/styles/block-library/template-part/editor.min.css 368 B 0 B
build/styles/block-library/template-part/theme-rtl.css 492 B 0 B
build/styles/block-library/template-part/theme-rtl.min.css 113 B 0 B
build/styles/block-library/template-part/theme.css 492 B 0 B
build/styles/block-library/template-part/theme.min.css 113 B 0 B
build/styles/block-library/term-count/style-rtl.css 70 B 0 B
build/styles/block-library/term-count/style-rtl.min.css 63 B 0 B
build/styles/block-library/term-count/style.css 70 B 0 B
build/styles/block-library/term-count/style.min.css 63 B 0 B
build/styles/block-library/term-description/style-rtl.css 138 B 0 B
build/styles/block-library/term-description/style-rtl.min.css 126 B 0 B
build/styles/block-library/term-description/style.css 138 B 0 B
build/styles/block-library/term-description/style.min.css 126 B 0 B
build/styles/block-library/term-name/style-rtl.css 69 B 0 B
build/styles/block-library/term-name/style-rtl.min.css 62 B 0 B
build/styles/block-library/term-name/style.css 69 B 0 B
build/styles/block-library/term-name/style.min.css 62 B 0 B
build/styles/block-library/term-template/editor-rtl.css 267 B 0 B
build/styles/block-library/term-template/editor-rtl.min.css 225 B 0 B
build/styles/block-library/term-template/editor.css 267 B 0 B
build/styles/block-library/term-template/editor.min.css 225 B 0 B
build/styles/block-library/term-template/style-rtl.css 124 B 0 B
build/styles/block-library/term-template/style-rtl.min.css 114 B 0 B
build/styles/block-library/term-template/style.css 124 B 0 B
build/styles/block-library/term-template/style.min.css 114 B 0 B
build/styles/block-library/text-columns/editor-rtl.css 481 B 0 B
build/styles/block-library/text-columns/editor-rtl.min.css 95 B 0 B
build/styles/block-library/text-columns/editor.css 481 B 0 B
build/styles/block-library/text-columns/editor.min.css 95 B 0 B
build/styles/block-library/text-columns/style-rtl.css 177 B 0 B
build/styles/block-library/text-columns/style-rtl.min.css 165 B 0 B
build/styles/block-library/text-columns/style.css 177 B 0 B
build/styles/block-library/text-columns/style.min.css 165 B 0 B
build/styles/block-library/theme-rtl.css 1.59 kB 0 B
build/styles/block-library/theme-rtl.min.css 715 B 0 B
build/styles/block-library/theme.css 1.6 kB 0 B
build/styles/block-library/theme.min.css 719 B 0 B
build/styles/block-library/verse/style-rtl.css 155 B 0 B
build/styles/block-library/verse/style-rtl.min.css 137 B 0 B
build/styles/block-library/verse/style.css 155 B 0 B
build/styles/block-library/verse/style.min.css 137 B 0 B
build/styles/block-library/video/editor-rtl.css 839 B 0 B
build/styles/block-library/video/editor-rtl.min.css 428 B 0 B
build/styles/block-library/video/editor.css 840 B 0 B
build/styles/block-library/video/editor.min.css 428 B 0 B
build/styles/block-library/video/style-rtl.css 1.02 kB 0 B
build/styles/block-library/video/style-rtl.min.css 202 B 0 B
build/styles/block-library/video/style.css 1.02 kB 0 B
build/styles/block-library/video/style.min.css 202 B 0 B
build/styles/block-library/video/theme-rtl.css 967 B 0 B
build/styles/block-library/video/theme-rtl.min.css 134 B 0 B
build/styles/block-library/video/theme.css 967 B 0 B
build/styles/block-library/video/theme.min.css 134 B 0 B
build/styles/commands/style-rtl.css 2.07 kB 0 B
build/styles/commands/style-rtl.min.css 1.17 kB 0 B
build/styles/commands/style.css 2.06 kB 0 B
build/styles/commands/style.min.css 1.17 kB 0 B
build/styles/components/style-rtl.css 17.8 kB 0 B
build/styles/components/style-rtl.min.css 14.7 kB 0 B
build/styles/components/style.css 17.9 kB 0 B
build/styles/components/style.min.css 14.8 kB 0 B
build/styles/customize-widgets/style-rtl.css 2.35 kB 0 B
build/styles/customize-widgets/style-rtl.min.css 1.44 kB 0 B
build/styles/customize-widgets/style.css 2.35 kB 0 B
build/styles/customize-widgets/style.min.css 1.44 kB 0 B
build/styles/edit-post/classic-rtl.css 1.29 kB 0 B
build/styles/edit-post/classic-rtl.min.css 425 B 0 B
build/styles/edit-post/classic.css 1.31 kB 0 B
build/styles/edit-post/classic.min.css 428 B 0 B
build/styles/edit-post/experimental-admin-bar-in-editor-rtl.css 550 B 0 B
build/styles/edit-post/experimental-admin-bar-in-editor-rtl.min.css 513 B 0 B
build/styles/edit-post/experimental-admin-bar-in-editor.css 551 B 0 B
build/styles/edit-post/experimental-admin-bar-in-editor.min.css 514 B 0 B
build/styles/edit-post/style-rtl.css 3.8 kB 0 B
build/styles/edit-post/style-rtl.min.css 2.48 kB 0 B
build/styles/edit-post/style.css 3.81 kB 0 B
build/styles/edit-post/style.min.css 2.49 kB 0 B
build/styles/edit-site/experimental-admin-bar-in-editor-rtl.css 502 B 0 B
build/styles/edit-site/experimental-admin-bar-in-editor-rtl.min.css 474 B 0 B
build/styles/edit-site/experimental-admin-bar-in-editor.css 502 B 0 B
build/styles/edit-site/experimental-admin-bar-in-editor.min.css 474 B 0 B
build/styles/edit-site/style-rtl.css 21.3 kB 0 B
build/styles/edit-site/style-rtl.min.css 17.4 kB 0 B
build/styles/edit-site/style.css 21.3 kB 0 B
build/styles/edit-site/style.min.css 17.4 kB 0 B
build/styles/edit-widgets/style-rtl.css 4.85 kB 0 B
build/styles/edit-widgets/style-rtl.min.css 3.52 kB 0 B
build/styles/edit-widgets/style.css 4.85 kB 0 B
build/styles/edit-widgets/style.min.css 3.52 kB 0 B
build/styles/editor/style-rtl.css 29.4 kB 0 B
build/styles/editor/style-rtl.min.css 24.9 kB 0 B
build/styles/editor/style.css 29.5 kB 0 B
build/styles/editor/style.min.css 24.9 kB 0 B
build/styles/format-library/style-rtl.css 735 B 0 B
build/styles/format-library/style-rtl.min.css 326 B 0 B
build/styles/format-library/style.css 746 B 0 B
build/styles/format-library/style.min.css 326 B 0 B
build/styles/list-reusable-blocks/style-rtl.css 1.03 kB 0 B
build/styles/list-reusable-blocks/style-rtl.min.css 210 B 0 B
build/styles/list-reusable-blocks/style.css 1.03 kB 0 B
build/styles/list-reusable-blocks/style.min.css 211 B 0 B
build/styles/media-utils/style-rtl.css 2.12 kB 0 B
build/styles/media-utils/style-rtl.min.css 1.2 kB 0 B
build/styles/media-utils/style.css 2.11 kB 0 B
build/styles/media-utils/style.min.css 1.2 kB 0 B
build/styles/notices/style-rtl.css 121 B 0 B
build/styles/notices/style-rtl.min.css 106 B 0 B
build/styles/notices/style.css 121 B 0 B
build/styles/notices/style.min.css 106 B 0 B
build/styles/nux/style-rtl.css 118 B 0 B
build/styles/nux/style-rtl.min.css 0 B 0 B 🆕
build/styles/nux/style.css 118 B 0 B
build/styles/nux/style.min.css 0 B 0 B 🆕
build/styles/patterns/style-rtl.css 1.46 kB 0 B
build/styles/patterns/style-rtl.min.css 611 B 0 B
build/styles/patterns/style.css 1.46 kB 0 B
build/styles/patterns/style.min.css 611 B 0 B
build/styles/preferences/style-rtl.css 1.26 kB 0 B
build/styles/preferences/style-rtl.min.css 415 B 0 B
build/styles/preferences/style.css 1.26 kB 0 B
build/styles/preferences/style.min.css 415 B 0 B
build/styles/reusable-blocks/style-rtl.css 1.11 kB 0 B
build/styles/reusable-blocks/style-rtl.min.css 275 B 0 B
build/styles/reusable-blocks/style.css 1.11 kB 0 B
build/styles/reusable-blocks/style.min.css 275 B 0 B
build/styles/widgets/style-rtl.css 2.05 kB 0 B
build/styles/widgets/style-rtl.min.css 1.16 kB 0 B
build/styles/widgets/style.css 2.06 kB 0 B
build/styles/widgets/style.min.css 1.16 kB 0 B

compressed-size-action

@Mamaduka

Copy link
Copy Markdown
Member

The change reminded me of our previous conversation - #49409 (comment). Do you think that's still doable? It should also resolve the related issue #15993.

@github-actions

github-actions Bot commented May 29, 2026

Copy link
Copy Markdown

The following accounts have interacted with this PR and/or linked issues. I will continue to update these lists as activity occurs. You can also manually ask me to refresh this list by adding the props-bot label.

If you're merging code through a pull request on GitHub, copy and paste the following into the bottom of the merge commit message.

Co-authored-by: jsnajdr <jsnajdr@git.wordpress.org>
Co-authored-by: Mamaduka <mamaduka@git.wordpress.org>
Co-authored-by: alecgeatches <alecgeatches@git.wordpress.org>

To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook.

@jsnajdr

jsnajdr commented May 29, 2026

Copy link
Copy Markdown
Member Author

The change reminded me of our previous conversation

Haha you remember everything 🙂 At the end of the comment I wrote:

In practice it's not so simple and there's some amount of complexity to untangle, but in principle it should work.

I don't remember what I meant by that, but today there is at least one caveat: the settings we send to the data store is not the raw object that was passed to initializeEditor, but it's enhanced inside EditorProvider with styles and callbacks like onNavigateToEntityRecord. So it's not so easy to move the updateEditorSettings call from the React component (EditorProvider) to the initializeEditor function.

@Mamaduka

Copy link
Copy Markdown
Member

I think it’s doable to untangle. Styles should already be available on server and passed as raw settings. Navigation callback will need more tinkering.

Mostly want to close old issue with a fix when possible or with comment why change can’t be made.

Anyway, it’s not a blocker here, just something I remembered.

Unfortunately, the tests seem to be failing on this branch as well.

@jsnajdr

jsnajdr commented May 29, 2026

Copy link
Copy Markdown
Member Author

Unfortunately, the tests seem to be failing on this branch as well.

Yes, that's expected, because I removed the stillHasRemoteAutosave check. Its purpose is to check whether we managed to set up the initial condition: there are both remote and local autosaves. Sometimes setting up the remote autosave fails, because of the modified race condition. Then the test silently gave up, acted as noop and succeeded. Without the check, it now fails.

If the test succeeds at setting up both autosaves, it checks the notices. And there was the updateEditorSettings bug that caused the notices to be displayed incorrectly.

If we don't manage to fix the setup problem, I'll add the check back, although it's a bad thing to have it there.

@jsnajdr jsnajdr requested a review from nerrad as a code owner May 29, 2026 12:21
@github-actions github-actions Bot added the [Package] Core data /packages/core-data label May 29, 2026
@alecgeatches

alecgeatches commented May 29, 2026

Copy link
Copy Markdown
Contributor

The meta-save request probably shouldn't update any timestamps at all.

@jsnajdr Your change in 5dfbf96 looks fine to me! The purpose of the persistCRDTDoc call is to fix the server-persisted CRDT doc when we load a post and see that the content has changed, e.g. a WP-CLI command has added content to the post or a taxonomy/meta value has changed on server but not in the CRDT doc. We want both to match, so when a user loads in and determines there's a mismatch, the saveEntityRecord call fires with the intended side-effect of just updating CRDT meta. I don't think there would be any problems patching the timestamp to keep it stable. Another more invasive solution could be to detect CRDT meta updates server-side and then not update the post_modified flag to avoid overwriting an actual change, but that might be too case-specific.

@chubes4 only recently fixed this pathway to save the CRDT doc alone instead of the whole post which was even more disruptive.

@jsnajdr

jsnajdr commented Jun 1, 2026

Copy link
Copy Markdown
Member Author

the saveEntityRecord call fires with the intended side-effect of just updating CRDT meta. I don't think there would be any problems patching the timestamp to keep it stable.

Patching the modified timestamp works for the moment, but I think an ideal solution will be a separate endpoint to save the CRTD document. Maybe in the wp-sync namespace, something like

POST /wp-json/wp-sync/save { "room": "postType/post:5", "doc": ... }

The reason is that saveEntityRecord, the REST endpoint, and the server-side PHP wp_update_post have the semantics that the user really saved a new version of the post, and modified it in some meaningful way. But saving the CRDT document is just a RTC bookkeeping, the user is not really saving anything. It's triggered even by purely read-only actions.

In wp-data, saveEntityRecord makes the UI think that the post is really saving, and it disables the "Publish" button for a moment, for example.

wp_update_post calls many popular filters and actions that plugins hook into, and the assumption is that we're saving a post.

With a separate endpoint we would avoid a lot of confusion. What do you think?

@jsnajdr

jsnajdr commented Jun 1, 2026

Copy link
Copy Markdown
Member Author

@chubes4 only recently fixed this pathway to save the CRDT doc alone instead of the whole post

It seems there is a case where the payload is too small and doesn't even include the CRDT doc. Sometimes when creating a new post I see a request to update a category, where the payload includes only the id:

POST /wp/v2/categories/1 { id: 1 }

This is triggered by a getEntityRecord( 'taxonomy', 'category' ) read.

Taxonomies have a syncConfig, but it's the defaultSyncConfig one that doesn't have a getPersistedCRDTDoc, and also taxonomies don't have the __unstablePrePersist hook that would add the CRDT document to the empty payload.

What is the solution for this? Should categories have a persisted CRDT doc at all?

@jsnajdr

jsnajdr commented Jun 1, 2026

Copy link
Copy Markdown
Member Author

Setting modified explicitly doesn't work, the REST API considers the modified field as read-only and that attempt to set it is ignored.

@alecgeatches

Copy link
Copy Markdown
Contributor

Patching the modified timestamp works for the moment, but I think an ideal solution will be a separate endpoint to save the CRTD document. Maybe in the wp-sync namespace, something like

POST /wp-json/wp-sync/save { "room": "postType/post:5", "doc": ... }

The reason is that saveEntityRecord, the REST endpoint, and the server-side PHP wp_update_post have the semantics that the user really saved a new version of the post, and modified it in some meaningful way. But saving the CRDT document is just a RTC bookkeeping, the user is not really saving anything. It's triggered even by purely read-only actions.

In wp-data, saveEntityRecord makes the UI think that the post is really saving, and it disables the "Publish" button for a moment, for example.

@jsnajdr This sounds right to me, especially considering all of the side effects of saveEntityRecord() you mentioned. I opened a new issue in #78867 to track this. Does this seem necessary to fix the problems you're seeing in this PR, i.e. should we get this done pretty quickly?

@jsnajdr

jsnajdr commented Jun 2, 2026

Copy link
Copy Markdown
Member Author

Does this seem necessary to fix the problems you're seeing in this PR, i.e. should we get this done pretty quickly?

Yes, this is causing at least two flaky e2e tests, this one, and also the Cancel button failures in #77721. The mechanism is similar in each case: the POST request with CRDT meta is an unexpected side effect that is observable in one way or another: changes the modified date, signals that the post is already saving, etc. I think there will be more flaky tests like this, it's just that so far I know about two.

If we don't fix this, I think people will soon discover that their modified dates are off, it's a very visible bug. Maybe it's already reported somewhere.

I also wanted to clarify the empty { id } payload when saving a category. Should categories (and other taxonomies) also have a CRDT document? They don't have a content attribute to edit.

@alecgeatches

Copy link
Copy Markdown
Contributor

Does this seem necessary to fix the problems you're seeing in this PR, i.e. should we get this done pretty quickly?

Yes, this is causing at least two flaky e2e tests, this one, and also the Cancel button failures in #77721. The mechanism is similar in each case: the POST request with CRDT meta is an unexpected side effect that is observable in one way or another: changes the modified date, signals that the post is already saving, etc. I think there will be more flaky tests like this, it's just that so far I know about two.

If we don't fix this, I think people will soon discover that their modified dates are off, it's a very visible bug. Maybe it's already reported somewhere.

Okay, thanks for the clarification. I'll look into what's involved with changing our persistence endpoint.

I also wanted to clarify the empty { id } payload when saving a category. Should categories (and other taxonomies) also have a CRDT document? They don't have a content attribute to edit.

Categories/taxonomies are synced over Yjs, but they're never persisted as stored CRDT docs, so I think you've identified a bug. We're supposed to bail when an entity doesn't support meta, but it appears categories do have a meta property and are incorrectly getting the "persist CRDT" side-effect with no doc to save for no good reason. That should also be addressed in this work.

@alecgeatches

Copy link
Copy Markdown
Contributor

@jsnajdr I started on a PR in #78891. There are a couple of snags with other side effects we relied on from saving, but overall it seems to be working well. I'll ping you on that PR when it's ready for review.

@jsnajdr

jsnajdr commented Jun 3, 2026

Copy link
Copy Markdown
Member Author

I started on a PR in #78891. There are a couple of snags with other side effects we relied on from saving, but overall it seems to be working well.

Thanks, it works very well in my testing, and I posted a few review comments already.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

[Package] Core data /packages/core-data [Package] Editor /packages/editor [Type] Flaky Test Auto-generated flaky test report issue

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Flaky Test] shouldn't conflict with server-side autosave

3 participants