@wordpress/core-data 7.41.0 → 7.41.2-next.v.202603161435.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (161) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +19 -0
  3. package/build/actions.cjs +25 -31
  4. package/build/actions.cjs.map +2 -2
  5. package/build/awareness/post-editor-awareness.cjs +34 -1
  6. package/build/awareness/post-editor-awareness.cjs.map +2 -2
  7. package/build/awareness/types.cjs.map +1 -1
  8. package/build/entities.cjs +3 -2
  9. package/build/entities.cjs.map +2 -2
  10. package/build/entity-provider.cjs +15 -6
  11. package/build/entity-provider.cjs.map +2 -2
  12. package/build/hooks/use-entity-prop.cjs +33 -2
  13. package/build/hooks/use-entity-prop.cjs.map +2 -2
  14. package/build/hooks/use-post-editor-awareness-state.cjs +83 -2
  15. package/build/hooks/use-post-editor-awareness-state.cjs.map +2 -2
  16. package/build/index.cjs +3 -0
  17. package/build/index.cjs.map +2 -2
  18. package/build/private-actions.cjs +1 -1
  19. package/build/private-actions.cjs.map +2 -2
  20. package/build/private-apis.cjs +3 -1
  21. package/build/private-apis.cjs.map +2 -2
  22. package/build/queried-data/actions.cjs +1 -1
  23. package/build/queried-data/actions.cjs.map +2 -2
  24. package/build/queried-data/reducer.cjs +19 -13
  25. package/build/queried-data/reducer.cjs.map +2 -2
  26. package/build/queried-data/selectors.cjs +7 -4
  27. package/build/queried-data/selectors.cjs.map +2 -2
  28. package/build/reducer.cjs +2 -1
  29. package/build/reducer.cjs.map +2 -2
  30. package/build/resolvers.cjs +114 -76
  31. package/build/resolvers.cjs.map +2 -2
  32. package/build/selectors.cjs +29 -0
  33. package/build/selectors.cjs.map +2 -2
  34. package/build/sync.cjs +3 -0
  35. package/build/sync.cjs.map +2 -2
  36. package/build/types.cjs +16 -0
  37. package/build/types.cjs.map +3 -3
  38. package/build/utils/crdt-blocks.cjs +22 -26
  39. package/build/utils/crdt-blocks.cjs.map +2 -2
  40. package/build/utils/crdt-user-selections.cjs +8 -5
  41. package/build/utils/crdt-user-selections.cjs.map +2 -2
  42. package/build/utils/crdt.cjs +1 -3
  43. package/build/utils/crdt.cjs.map +2 -2
  44. package/build/utils/index.cjs +3 -0
  45. package/build/utils/index.cjs.map +2 -2
  46. package/build/utils/normalize-query-for-resolution.cjs +35 -0
  47. package/build/utils/normalize-query-for-resolution.cjs.map +7 -0
  48. package/build/utils/user-permissions.cjs +1 -4
  49. package/build/utils/user-permissions.cjs.map +2 -2
  50. package/build-module/actions.mjs +30 -32
  51. package/build-module/actions.mjs.map +2 -2
  52. package/build-module/awareness/post-editor-awareness.mjs +34 -1
  53. package/build-module/awareness/post-editor-awareness.mjs.map +2 -2
  54. package/build-module/entities.mjs +3 -2
  55. package/build-module/entities.mjs.map +2 -2
  56. package/build-module/entity-provider.mjs +15 -6
  57. package/build-module/entity-provider.mjs.map +2 -2
  58. package/build-module/hooks/use-entity-prop.mjs +34 -3
  59. package/build-module/hooks/use-entity-prop.mjs.map +2 -2
  60. package/build-module/hooks/use-post-editor-awareness-state.mjs +80 -1
  61. package/build-module/hooks/use-post-editor-awareness-state.mjs.map +2 -2
  62. package/build-module/index.mjs +2 -0
  63. package/build-module/index.mjs.map +2 -2
  64. package/build-module/private-actions.mjs +1 -1
  65. package/build-module/private-actions.mjs.map +2 -2
  66. package/build-module/private-apis.mjs +6 -2
  67. package/build-module/private-apis.mjs.map +2 -2
  68. package/build-module/queried-data/actions.mjs +1 -1
  69. package/build-module/queried-data/actions.mjs.map +2 -2
  70. package/build-module/queried-data/reducer.mjs +19 -13
  71. package/build-module/queried-data/reducer.mjs.map +2 -2
  72. package/build-module/queried-data/selectors.mjs +7 -4
  73. package/build-module/queried-data/selectors.mjs.map +2 -2
  74. package/build-module/reducer.mjs +2 -1
  75. package/build-module/reducer.mjs.map +2 -2
  76. package/build-module/resolvers.mjs +116 -77
  77. package/build-module/resolvers.mjs.map +2 -2
  78. package/build-module/selectors.mjs +28 -0
  79. package/build-module/selectors.mjs.map +2 -2
  80. package/build-module/sync.mjs +2 -0
  81. package/build-module/sync.mjs.map +2 -2
  82. package/build-module/types.mjs +9 -0
  83. package/build-module/types.mjs.map +4 -4
  84. package/build-module/utils/crdt-blocks.mjs +22 -26
  85. package/build-module/utils/crdt-blocks.mjs.map +2 -2
  86. package/build-module/utils/crdt-user-selections.mjs +8 -5
  87. package/build-module/utils/crdt-user-selections.mjs.map +2 -2
  88. package/build-module/utils/crdt.mjs +1 -3
  89. package/build-module/utils/crdt.mjs.map +2 -2
  90. package/build-module/utils/index.mjs +2 -0
  91. package/build-module/utils/index.mjs.map +2 -2
  92. package/build-module/utils/normalize-query-for-resolution.mjs +14 -0
  93. package/build-module/utils/normalize-query-for-resolution.mjs.map +7 -0
  94. package/build-module/utils/user-permissions.mjs +1 -4
  95. package/build-module/utils/user-permissions.mjs.map +2 -2
  96. package/build-types/actions.d.ts.map +1 -1
  97. package/build-types/awareness/post-editor-awareness.d.ts.map +1 -1
  98. package/build-types/awareness/types.d.ts +1 -1
  99. package/build-types/awareness/types.d.ts.map +1 -1
  100. package/build-types/entities.d.ts +1 -1
  101. package/build-types/entities.d.ts.map +1 -1
  102. package/build-types/entity-provider.d.ts +11 -6
  103. package/build-types/entity-provider.d.ts.map +1 -1
  104. package/build-types/hooks/use-entity-prop.d.ts.map +1 -1
  105. package/build-types/hooks/use-post-editor-awareness-state.d.ts +34 -10
  106. package/build-types/hooks/use-post-editor-awareness-state.d.ts.map +1 -1
  107. package/build-types/index.d.ts +2 -0
  108. package/build-types/index.d.ts.map +1 -1
  109. package/build-types/private-apis.d.ts.map +1 -1
  110. package/build-types/queried-data/reducer.d.ts.map +1 -1
  111. package/build-types/queried-data/selectors.d.ts.map +1 -1
  112. package/build-types/reducer.d.ts.map +1 -1
  113. package/build-types/resolvers.d.ts +2 -1
  114. package/build-types/resolvers.d.ts.map +1 -1
  115. package/build-types/selectors.d.ts +17 -0
  116. package/build-types/selectors.d.ts.map +1 -1
  117. package/build-types/sync.d.ts +2 -2
  118. package/build-types/sync.d.ts.map +1 -1
  119. package/build-types/types.d.ts +15 -0
  120. package/build-types/types.d.ts.map +1 -1
  121. package/build-types/utils/crdt-blocks.d.ts.map +1 -1
  122. package/build-types/utils/crdt-user-selections.d.ts +10 -5
  123. package/build-types/utils/crdt-user-selections.d.ts.map +1 -1
  124. package/build-types/utils/crdt.d.ts.map +1 -1
  125. package/build-types/utils/index.d.ts +1 -0
  126. package/build-types/utils/normalize-query-for-resolution.d.ts +12 -0
  127. package/build-types/utils/normalize-query-for-resolution.d.ts.map +1 -0
  128. package/build-types/utils/user-permissions.d.ts.map +1 -1
  129. package/package.json +18 -18
  130. package/src/actions.js +49 -50
  131. package/src/awareness/post-editor-awareness.ts +93 -1
  132. package/src/awareness/test/post-editor-awareness.ts +35 -0
  133. package/src/awareness/types.ts +1 -1
  134. package/src/entities.js +2 -1
  135. package/src/entity-provider.js +24 -11
  136. package/src/hooks/test/use-post-editor-awareness-state.ts +443 -0
  137. package/src/hooks/use-entity-prop.js +43 -3
  138. package/src/hooks/use-post-editor-awareness-state.ts +159 -7
  139. package/src/index.js +1 -0
  140. package/src/private-actions.js +1 -1
  141. package/src/private-apis.js +6 -2
  142. package/src/queried-data/actions.js +1 -1
  143. package/src/queried-data/reducer.js +26 -14
  144. package/src/queried-data/selectors.js +12 -5
  145. package/src/queried-data/test/selectors.js +25 -0
  146. package/src/reducer.js +4 -1
  147. package/src/resolvers.js +141 -91
  148. package/src/selectors.ts +56 -0
  149. package/src/sync.ts +2 -0
  150. package/src/test/private-actions.js +1 -1
  151. package/src/test/resolvers.js +88 -14
  152. package/src/test/selectors.js +150 -0
  153. package/src/test/store.js +182 -0
  154. package/src/types.ts +19 -0
  155. package/src/utils/crdt-blocks.ts +47 -54
  156. package/src/utils/crdt-user-selections.ts +28 -16
  157. package/src/utils/crdt.ts +2 -7
  158. package/src/utils/index.js +1 -0
  159. package/src/utils/normalize-query-for-resolution.js +23 -0
  160. package/src/utils/test/crdt-blocks.ts +42 -24
  161. package/src/utils/user-permissions.js +4 -5
@@ -692,6 +692,23 @@ export declare function getDefaultTemplateId(state: State, query: TemplateQuery)
692
692
  * @return Record.
693
693
  */
694
694
  export declare const getRevisions: (state: State, kind: string, name: string, recordKey: EntityRecordKey, query?: GetRecordsHttpQuery) => RevisionRecord[] | null;
695
+ /**
696
+ * Returns true if a revision has been received for the given set of parameters,
697
+ * or false otherwise.
698
+ *
699
+ * Note: This does not trigger a request for the revision from the API
700
+ * if it's not available in the local state.
701
+ *
702
+ * @param state State tree
703
+ * @param kind Entity kind.
704
+ * @param name Entity name.
705
+ * @param recordKey The key of the entity record whose revision you want to check.
706
+ * @param revisionKey The revision's key.
707
+ * @param query Optional query.
708
+ *
709
+ * @return Whether a revision has been received.
710
+ */
711
+ export declare function hasRevision(state: State, kind: string, name: string, recordKey: EntityRecordKey, revisionKey: EntityRecordKey, query?: GetRecordsHttpQuery): boolean;
695
712
  /**
696
713
  * Returns a single, specific revision of a parent entity.
697
714
  *
@@ -1 +1 @@
1
- {"version":3,"file":"selectors.d.ts","sourceRoot":"","sources":["../src/selectors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"selectors.d.ts","sourceRoot":"","sources":["../src/selectors.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  * WordPress dependencies
3
3
  */
4
4
  import { type SyncManager } from '@wordpress/sync';
5
- declare const Delta: any, CRDT_DOC_META_PERSISTENCE_KEY: any, CRDT_RECORD_MAP_KEY: any, LOCAL_EDITOR_ORIGIN: any, retrySyncConnection: any;
6
- export { Delta, CRDT_DOC_META_PERSISTENCE_KEY, CRDT_RECORD_MAP_KEY, LOCAL_EDITOR_ORIGIN, retrySyncConnection, };
5
+ declare const Delta: any, CRDT_DOC_META_PERSISTENCE_KEY: any, CRDT_RECORD_MAP_KEY: any, LOCAL_EDITOR_ORIGIN: any, LOCAL_UNDO_IGNORED_ORIGIN: any, retrySyncConnection: any;
6
+ export { Delta, CRDT_DOC_META_PERSISTENCE_KEY, CRDT_RECORD_MAP_KEY, LOCAL_EDITOR_ORIGIN, LOCAL_UNDO_IGNORED_ORIGIN, retrySyncConnection, };
7
7
  export declare function getSyncManager(): SyncManager | undefined;
8
8
  //# sourceMappingURL=sync.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../src/sync.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAEN,KAAK,WAAW,EAChB,MAAM,iBAAiB,CAAC;AAOzB,QAAA,MAEC,KAAK,OACL,6BAA6B,OAC7B,mBAAmB,OACnB,mBAAmB,OACnB,mBAAmB,KACS,CAAC;AAE9B,OAAO,EACN,KAAK,EACL,6BAA6B,EAC7B,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,GACnB,CAAC;AAIF,wBAAgB,cAAc,IAAI,WAAW,GAAG,SAAS,CAQxD"}
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../src/sync.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAEN,KAAK,WAAW,EAChB,MAAM,iBAAiB,CAAC;AAOzB,QAAA,MAEC,KAAK,OACL,6BAA6B,OAC7B,mBAAmB,OACnB,mBAAmB,OACnB,yBAAyB,OACzB,mBAAmB,KACS,CAAC;AAE9B,OAAO,EACN,KAAK,EACL,6BAA6B,EAC7B,mBAAmB,EACnB,mBAAmB,EACnB,yBAAyB,EACzB,mBAAmB,GACnB,CAAC;AAIF,wBAAgB,cAAc,IAAI,WAAW,GAAG,SAAS,CAQxD"}
@@ -48,6 +48,15 @@ export type CursorPosition = {
48
48
  relativePosition: Y.RelativePosition;
49
49
  absoluteOffset: number;
50
50
  };
51
+ /**
52
+ * The direction of a text selection, indicating where the caret sits.
53
+ */
54
+ export declare enum SelectionDirection {
55
+ /** The caret is at the end of the selection (default / left-to-right). */
56
+ Forward = "f",
57
+ /** The caret is at the start of the selection (right-to-left). */
58
+ Backward = "b"
59
+ }
51
60
  export type SelectionNone = {
52
61
  type: SelectionType.None;
53
62
  };
@@ -59,15 +68,21 @@ export type SelectionInOneBlock = {
59
68
  type: SelectionType.SelectionInOneBlock;
60
69
  cursorStartPosition: CursorPosition;
61
70
  cursorEndPosition: CursorPosition;
71
+ selectionDirection?: SelectionDirection;
62
72
  };
63
73
  export type SelectionInMultipleBlocks = {
64
74
  type: SelectionType.SelectionInMultipleBlocks;
65
75
  cursorStartPosition: CursorPosition;
66
76
  cursorEndPosition: CursorPosition;
77
+ selectionDirection?: SelectionDirection;
67
78
  };
68
79
  export type SelectionWholeBlock = {
69
80
  type: SelectionType.WholeBlock;
70
81
  blockPosition: Y.RelativePosition;
71
82
  };
72
83
  export type SelectionState = SelectionNone | SelectionCursor | SelectionInOneBlock | SelectionInMultipleBlocks | SelectionWholeBlock;
84
+ export interface ResolvedSelection {
85
+ textIndex: number | null;
86
+ localClientId: string | null;
87
+ }
73
88
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,iBAAiB,CAAC;AAEzC;;GAEG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAElE,MAAM,WAAW,WAAW;IAC3B,CAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAI,GAAG,CAAC;CACxB;AAED;;;;;;;;;;GAUG;AACH,MAAM,MAAM,sBAAsB,GAAG,MAAM,EAAE,CAAC;AAE9C;;;;;;;;;GASG;AACH,MAAM,WAAW,gBAAgB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC3B,YAAY,EAAE,gBAAgB,CAAC;IAC/B,cAAc,EAAE,gBAAgB,CAAC;IACjC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC5B,gBAAgB,EAAE,CAAC,CAAC,gBAAgB,CAAC;IAYrC,cAAc,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAE3B,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAI7B,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC;IAC3B,cAAc,EAAE,cAAc,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAIjC,IAAI,EAAE,aAAa,CAAC,mBAAmB,CAAC;IACxC,mBAAmB,EAAE,cAAc,CAAC;IACpC,iBAAiB,EAAE,cAAc,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IAIvC,IAAI,EAAE,aAAa,CAAC,yBAAyB,CAAC;IAC9C,mBAAmB,EAAE,cAAc,CAAC;IACpC,iBAAiB,EAAE,cAAc,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAIjC,IAAI,EAAE,aAAa,CAAC,UAAU,CAAC;IAC/B,aAAa,EAAE,CAAC,CAAC,gBAAgB,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,cAAc,GACvB,aAAa,GACb,eAAe,GACf,mBAAmB,GACnB,yBAAyB,GACzB,mBAAmB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,iBAAiB,CAAC;AAEzC;;GAEG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAElE,MAAM,WAAW,WAAW;IAC3B,CAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAI,GAAG,CAAC;CACxB;AAED;;;;;;;;;;GAUG;AACH,MAAM,MAAM,sBAAsB,GAAG,MAAM,EAAE,CAAC;AAE9C;;;;;;;;;GASG;AACH,MAAM,WAAW,gBAAgB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC3B,YAAY,EAAE,gBAAgB,CAAC;IAC/B,cAAc,EAAE,gBAAgB,CAAC;IACjC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC5B,gBAAgB,EAAE,CAAC,CAAC,gBAAgB,CAAC;IAYrC,cAAc,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF;;GAEG;AACH,oBAAY,kBAAkB;IAC7B,0EAA0E;IAC1E,OAAO,MAAM;IACb,kEAAkE;IAClE,QAAQ,MAAM;CACd;AAED,MAAM,MAAM,aAAa,GAAG;IAE3B,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAI7B,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC;IAC3B,cAAc,EAAE,cAAc,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAIjC,IAAI,EAAE,aAAa,CAAC,mBAAmB,CAAC;IACxC,mBAAmB,EAAE,cAAc,CAAC;IACpC,iBAAiB,EAAE,cAAc,CAAC;IAElC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IAIvC,IAAI,EAAE,aAAa,CAAC,yBAAyB,CAAC;IAC9C,mBAAmB,EAAE,cAAc,CAAC;IACpC,iBAAiB,EAAE,cAAc,CAAC;IAElC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAIjC,IAAI,EAAE,aAAa,CAAC,UAAU,CAAC;IAC/B,aAAa,EAAE,CAAC,CAAC,gBAAgB,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,cAAc,GACvB,aAAa,GACb,eAAe,GACf,mBAAmB,GACnB,yBAAyB,GACzB,mBAAmB,CAAC;AAEvB,MAAM,WAAW,iBAAiB;IACjC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B"}
@@ -1 +1 @@
1
- {"version":3,"file":"crdt-blocks.d.ts","sourceRoot":"","sources":["../../src/utils/crdt-blocks.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,CAAC,EAAE,MAAM,iBAAiB,CAAC;AAEpC;;GAEG;AACH,OAAO,EAAc,KAAK,UAAU,EAAE,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAG1E,UAAU,eAAe;IACxB,CAAE,GAAG,EAAE,MAAM,GAAI,OAAO,CAAC;CACzB;AAQD,MAAM,WAAW,KAAK;IACrB,UAAU,EAAE,eAAe,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,KAAK,EAAE,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAGD,MAAM,WAAW,YAAa,SAAQ,UAAU;IAC/C,UAAU,EAAE,gBAAgB,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;CACb;AAED,MAAM,MAAM,MAAM,GAAG,QAAQ,CAAE,YAAY,CAAE,CAAC;AAC9C,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAE,MAAM,CAAE,CAAC;AAIxC,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,GAAG,CAAE,CAAC,CAAC,IAAI,GAAG,OAAO,CAAE,CAAC;AAiIzD;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC9B,OAAO,EAAE,OAAO,EAChB,cAAc,EAAE,KAAK,EAAE,EACvB,cAAc,EAAE,MAAM,GAAG,IAAI,GAC3B,IAAI,CA0LN;AAuJD;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAClC,UAAU,EAAE,CAAC,CAAC,IAAI,EAClB,YAAY,EAAE,MAAM,EACpB,cAAc,GAAE,MAAM,GAAG,IAAW,GAClC,IAAI,CA4BN"}
1
+ {"version":3,"file":"crdt-blocks.d.ts","sourceRoot":"","sources":["../../src/utils/crdt-blocks.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,CAAC,EAAE,MAAM,iBAAiB,CAAC;AAEpC;;GAEG;AACH,OAAO,EAAc,KAAK,UAAU,EAAE,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAG1E,UAAU,eAAe;IACxB,CAAE,GAAG,EAAE,MAAM,GAAI,OAAO,CAAC;CACzB;AAaD,MAAM,WAAW,KAAK;IACrB,UAAU,EAAE,eAAe,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,KAAK,EAAE,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAGD,MAAM,WAAW,YAAa,SAAQ,UAAU;IAC/C,UAAU,EAAE,gBAAgB,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;CACb;AAED,MAAM,MAAM,MAAM,GAAG,QAAQ,CAAE,YAAY,CAAE,CAAC;AAC9C,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAE,MAAM,CAAE,CAAC;AAIxC,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,GAAG,CAAE,CAAC,CAAC,IAAI,GAAG,OAAO,CAAE,CAAC;AAuIzD;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC9B,OAAO,EAAE,OAAO,EAChB,cAAc,EAAE,KAAK,EAAE,EACvB,cAAc,EAAE,MAAM,GAAG,IAAI,GAC3B,IAAI,CAqLN;AA0ID;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAClC,UAAU,EAAE,CAAC,CAAC,IAAI,EAClB,YAAY,EAAE,MAAM,EACpB,cAAc,GAAE,MAAM,GAAG,IAAW,GAClC,IAAI,CA4BN"}
@@ -1,5 +1,6 @@
1
1
  import { Y } from '@wordpress/sync';
2
- import type { AbsoluteBlockIndexPath, WPBlockSelection, SelectionState } from '../types';
2
+ import type { SelectionDirection } from '../types';
3
+ import { type AbsoluteBlockIndexPath, type WPBlockSelection, type SelectionState } from '../types';
3
4
  /**
4
5
  * The type of selection.
5
6
  */
@@ -18,12 +19,16 @@ export declare enum SelectionType {
18
19
  * differ between the block-editor store and the Yjs document (e.g. in "Show
19
20
  * Template" mode).
20
21
  *
21
- * @param selectionStart - The start position of the selection
22
- * @param selectionEnd - The end position of the selection
23
- * @param yDoc - The Yjs document
22
+ * @param selectionStart - The start position of the selection
23
+ * @param selectionEnd - The end position of the selection
24
+ * @param yDoc - The Yjs document
25
+ * @param options - Optional parameters
26
+ * @param options.selectionDirection - The direction of the selection (forward or backward)
24
27
  * @return The SelectionState
25
28
  */
26
- export declare function getSelectionState(selectionStart: WPBlockSelection, selectionEnd: WPBlockSelection, yDoc: Y.Doc): SelectionState;
29
+ export declare function getSelectionState(selectionStart: WPBlockSelection, selectionEnd: WPBlockSelection, yDoc: Y.Doc, options?: {
30
+ selectionDirection?: SelectionDirection;
31
+ }): SelectionState;
27
32
  /**
28
33
  * Resolves a local block-editor clientId to its index path relative to the
29
34
  * post content blocks. This allows finding the corresponding block in the Yjs
@@ -1 +1 @@
1
- {"version":3,"file":"crdt-user-selections.d.ts","sourceRoot":"","sources":["../../src/utils/crdt-user-selections.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,iBAAiB,CAAC;AAWpC,OAAO,KAAK,EACX,sBAAsB,EACtB,gBAAgB,EAChB,cAAc,EAOd,MAAM,UAAU,CAAC;AAElB;;GAEG;AACH,oBAAY,aAAa;IACxB,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,mBAAmB,2BAA2B;IAC9C,yBAAyB,iCAAiC;IAC1D,UAAU,gBAAgB;CAC1B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAChC,cAAc,EAAE,gBAAgB,EAChC,YAAY,EAAE,gBAAgB,EAC9B,IAAI,EAAE,CAAC,CAAC,GAAG,GACT,cAAc,CAqFhB;AA0CD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,4BAA4B,CAC3C,QAAQ,EAAE,MAAM,GACd,sBAAsB,GAAG,IAAI,CAyB/B;AA4DD;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACvC,UAAU,EAAE,cAAc,EAC1B,UAAU,EAAE,cAAc,GACxB,OAAO,CAiDT"}
1
+ {"version":3,"file":"crdt-user-selections.d.ts","sourceRoot":"","sources":["../../src/utils/crdt-user-selections.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,iBAAiB,CAAC;AAWpC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,EACN,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACrB,KAAK,cAAc,EAOnB,MAAM,UAAU,CAAC;AAElB;;GAEG;AACH,oBAAY,aAAa;IACxB,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,mBAAmB,2BAA2B;IAC9C,yBAAyB,iCAAiC;IAC1D,UAAU,gBAAgB;CAC1B;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAChC,cAAc,EAAE,gBAAgB,EAChC,YAAY,EAAE,gBAAgB,EAC9B,IAAI,EAAE,CAAC,CAAC,GAAG,EACX,OAAO,CAAC,EAAE;IAAE,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;CAAE,GACnD,cAAc,CAwFhB;AA0CD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,4BAA4B,CAC3C,QAAQ,EAAE,MAAM,GACd,sBAAsB,GAAG,IAAI,CAyB/B;AA4DD;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACvC,UAAU,EAAE,cAAc,EAC1B,UAAU,EAAE,cAAc,GACxB,OAAO,CAsDT"}
@@ -1 +1 @@
1
- {"version":3,"file":"crdt.d.ts","sourceRoot":"","sources":["../../src/utils/crdt.ts"],"names":[],"mappings":"AAUA,OAAO,EACN,KAAK,OAAO,EAEZ,KAAK,UAAU,EACf,CAAC,EACD,MAAM,iBAAiB,CAAC;AAMzB,OAAO,EAGN,KAAK,KAAK,EAEV,KAAK,OAAO,EACZ,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAM5C,OAAO,EAIN,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,MAAM,cAAc,CAAC;AAGtB,MAAM,MAAM,WAAW,GAAG,OAAO,CAAE,IAAI,CAAE,GAAG;IAC3C,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;IACjB,OAAO,CAAC,EAAE,IAAI,CAAE,SAAS,CAAE,GAAG,MAAM,CAAC;IACrC,OAAO,CAAC,EAAE,IAAI,CAAE,SAAS,CAAE,GAAG,MAAM,CAAC;IACrC,SAAS,CAAC,EAAE,WAAW,CAAC;IACxB,KAAK,CAAC,EAAE,IAAI,CAAE,OAAO,CAAE,GAAG,MAAM,CAAC;CACjC,CAAC;AAGF,MAAM,WAAW,WAAY,SAAQ,UAAU;IAC9C,MAAM,EAAE,MAAM,CAAC;IAEf,MAAM,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5B,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC;IAChB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,QAAQ,CAAE,UAAU,CAAE,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC;CACd;AAED,eAAO,MAAM,sCAAsC,mBAAmB,CAAC;AA2DvE;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CACxC,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,IAAI,GACb,IAAI,CAoIN;AAMD;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CACxC,IAAI,EAAE,OAAO,EACb,YAAY,EAAE,IAAI,EAClB,SAAS,EAAE,IAAI,GACb,WAAW,CAuIb;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,UAI/B,CAAC"}
1
+ {"version":3,"file":"crdt.d.ts","sourceRoot":"","sources":["../../src/utils/crdt.ts"],"names":[],"mappings":"AAUA,OAAO,EACN,KAAK,OAAO,EAEZ,KAAK,UAAU,EACf,CAAC,EACD,MAAM,iBAAiB,CAAC;AAMzB,OAAO,EAGN,KAAK,KAAK,EAEV,KAAK,OAAO,EACZ,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAM5C,OAAO,EAIN,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,MAAM,cAAc,CAAC;AAGtB,MAAM,MAAM,WAAW,GAAG,OAAO,CAAE,IAAI,CAAE,GAAG;IAC3C,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;IACjB,OAAO,CAAC,EAAE,IAAI,CAAE,SAAS,CAAE,GAAG,MAAM,CAAC;IACrC,OAAO,CAAC,EAAE,IAAI,CAAE,SAAS,CAAE,GAAG,MAAM,CAAC;IACrC,SAAS,CAAC,EAAE,WAAW,CAAC;IACxB,KAAK,CAAC,EAAE,IAAI,CAAE,OAAO,CAAE,GAAG,MAAM,CAAC;CACjC,CAAC;AAGF,MAAM,WAAW,WAAY,SAAQ,UAAU;IAC9C,MAAM,EAAE,MAAM,CAAC;IAEf,MAAM,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5B,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC;IAChB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,QAAQ,CAAE,UAAU,CAAE,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC;CACd;AAED,eAAO,MAAM,sCAAsC,mBAAmB,CAAC;AA2DvE;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CACxC,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,IAAI,GACb,IAAI,CAoIN;AAMD;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CACxC,IAAI,EAAE,OAAO,EACb,YAAY,EAAE,IAAI,EAClB,SAAS,EAAE,IAAI,GACb,WAAW,CAkIb;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,UAI/B,CAAC"}
@@ -10,5 +10,6 @@ export { default as setNestedValue } from "./set-nested-value";
10
10
  export { default as getNestedValue } from "./get-nested-value";
11
11
  export { default as isNumericID } from "./is-numeric-id";
12
12
  export { RECEIVE_INTERMEDIATE_RESULTS } from "./receive-intermediate-results";
13
+ export { default as normalizeQueryForResolution } from "./normalize-query-for-resolution";
13
14
  export { getUserPermissionCacheKey, getUserPermissionsFromAllowHeader, ALLOWED_RESOURCE_ACTIONS } from "./user-permissions";
14
15
  //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Returns a copy of `query` filtered to only the keys that affect resolution
3
+ * identity (`context` and `_fields`), or `undefined` when none are present.
4
+ * This mirrors the normalisation that the data store applies when keying
5
+ * resolved records, so that `finishResolutions` receives args that match the
6
+ * keys used by callers who omit pagination params.
7
+ *
8
+ * @param {Object} query The raw query object.
9
+ * @return {Object|undefined} Normalised query or undefined.
10
+ */
11
+ export default function normalizeQueryForResolution(query: any): any | undefined;
12
+ //# sourceMappingURL=normalize-query-for-resolution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalize-query-for-resolution.d.ts","sourceRoot":"","sources":["../../src/utils/normalize-query-for-resolution.js"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,iEAFY,MAAO,SAAS,CAc3B"}
@@ -1 +1 @@
1
- {"version":3,"file":"user-permissions.d.ts","sourceRoot":"","sources":["../../src/utils/user-permissions.js"],"names":[],"mappings":"AAOA,2EAiBC;AAED,uFAUC;AApCD,gDAKE"}
1
+ {"version":3,"file":"user-permissions.d.ts","sourceRoot":"","sources":["../../src/utils/user-permissions.js"],"names":[],"mappings":"AAOA,2EAgBC;AAED,uFAUC;AAnCD,gDAKE"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wordpress/core-data",
3
- "version": "7.41.0",
3
+ "version": "7.41.2-next.v.202603161435.0+ab4981c4f",
4
4
  "description": "Access to and manipulation of core WordPress entities.",
5
5
  "author": "The WordPress Contributors",
6
6
  "license": "GPL-2.0-or-later",
@@ -49,22 +49,22 @@
49
49
  "build-module/index.mjs"
50
50
  ],
51
51
  "dependencies": {
52
- "@wordpress/api-fetch": "^7.41.0",
53
- "@wordpress/block-editor": "^15.14.0",
54
- "@wordpress/blocks": "^15.14.0",
55
- "@wordpress/compose": "^7.41.0",
56
- "@wordpress/data": "^10.41.0",
57
- "@wordpress/deprecated": "^4.41.0",
58
- "@wordpress/element": "^6.41.0",
59
- "@wordpress/html-entities": "^4.41.0",
60
- "@wordpress/i18n": "^6.14.0",
61
- "@wordpress/is-shallow-equal": "^5.41.0",
62
- "@wordpress/private-apis": "^1.41.0",
63
- "@wordpress/rich-text": "^7.41.0",
64
- "@wordpress/sync": "^1.41.0",
65
- "@wordpress/undo-manager": "^1.41.0",
66
- "@wordpress/url": "^4.41.0",
67
- "@wordpress/warning": "^3.41.0",
52
+ "@wordpress/api-fetch": "^7.41.1-next.v.202603161435.0+ab4981c4f",
53
+ "@wordpress/block-editor": "^15.14.1-next.v.202603161435.0+ab4981c4f",
54
+ "@wordpress/blocks": "^15.14.1-next.v.202603161435.0+ab4981c4f",
55
+ "@wordpress/compose": "^7.41.1-next.v.202603161435.0+ab4981c4f",
56
+ "@wordpress/data": "^10.41.1-next.v.202603161435.0+ab4981c4f",
57
+ "@wordpress/deprecated": "^4.41.1-next.v.202603161435.0+ab4981c4f",
58
+ "@wordpress/element": "^6.41.1-next.v.202603161435.0+ab4981c4f",
59
+ "@wordpress/html-entities": "^4.41.1-next.v.202603161435.0+ab4981c4f",
60
+ "@wordpress/i18n": "^6.14.1-next.v.202603161435.0+ab4981c4f",
61
+ "@wordpress/is-shallow-equal": "^5.41.1-next.v.202603161435.0+ab4981c4f",
62
+ "@wordpress/private-apis": "^1.41.1-next.v.202603161435.0+ab4981c4f",
63
+ "@wordpress/rich-text": "^7.41.1-next.v.202603161435.0+ab4981c4f",
64
+ "@wordpress/sync": "^1.41.1-next.v.202603161435.0+ab4981c4f",
65
+ "@wordpress/undo-manager": "^1.41.1-next.v.202603161435.0+ab4981c4f",
66
+ "@wordpress/url": "^4.41.1-next.v.202603161435.0+ab4981c4f",
67
+ "@wordpress/warning": "^3.41.1-next.v.202603161435.0+ab4981c4f",
68
68
  "change-case": "^4.1.2",
69
69
  "equivalent-key-map": "^0.2.2",
70
70
  "fast-deep-equal": "^3.1.3",
@@ -84,5 +84,5 @@
84
84
  "publishConfig": {
85
85
  "access": "public"
86
86
  },
87
- "gitHead": "8bfc179b9aed74c0a6dd6e8edf7a49e40e4f87cc"
87
+ "gitHead": "748f4e4564fcc0e6ae90200d90bb993a3cef5828"
88
88
  }
package/src/actions.js CHANGED
@@ -19,9 +19,17 @@ import { receiveItems, removeItems, receiveQueriedItems } from './queried-data';
19
19
  import { DEFAULT_ENTITY_KEY } from './entities';
20
20
  import { createBatch } from './batch';
21
21
  import { STORE_NAME } from './name';
22
- import { LOCAL_EDITOR_ORIGIN, getSyncManager } from './sync';
22
+ import {
23
+ LOCAL_EDITOR_ORIGIN,
24
+ LOCAL_UNDO_IGNORED_ORIGIN,
25
+ getSyncManager,
26
+ } from './sync';
23
27
  import logEntityDeprecation from './utils/log-entity-deprecation';
24
28
 
29
+ function addTitleToAutoDraft( record ) {
30
+ return record.status === 'auto-draft' ? { ...record, title: '' } : record;
31
+ }
32
+
25
33
  /**
26
34
  * Returns an action object used in signalling that authors have been received.
27
35
  * Ignored from documentation as it's internal to the data store.
@@ -96,12 +104,9 @@ export function receiveEntityRecords(
96
104
  // Auto drafts should not have titles, but some plugins rely on them so we can't filter this
97
105
  // on the server.
98
106
  if ( kind === 'postType' ) {
99
- records = ( Array.isArray( records ) ? records : [ records ] ).map(
100
- ( record ) =>
101
- record.status === 'auto-draft'
102
- ? { ...record, title: '' }
103
- : record
104
- );
107
+ records = Array.isArray( records )
108
+ ? records.map( addTitleToAutoDraft )
109
+ : addTitleToAutoDraft( records );
105
110
  }
106
111
  let action;
107
112
  if ( query ) {
@@ -445,11 +450,18 @@ export const editEntityRecord =
445
450
  ? false
446
451
  : ! options.isCached;
447
452
 
453
+ // Use an untracked origin for undoIgnore changes so the Yjs
454
+ // UndoManager does not capture them as undo levels, while
455
+ // still syncing them to the CRDT document and other peers.
456
+ const origin = options.undoIgnore
457
+ ? LOCAL_UNDO_IGNORED_ORIGIN
458
+ : LOCAL_EDITOR_ORIGIN;
459
+
448
460
  getSyncManager()?.update(
449
461
  objectType,
450
462
  objectId,
451
463
  editsWithMerges,
452
- LOCAL_EDITOR_ORIGIN,
464
+ origin,
453
465
  { isNewUndoLevel }
454
466
  );
455
467
  }
@@ -666,40 +678,25 @@ export const saveEntityRecord =
666
678
  ? select.getRawEntityRecord( kind, name, recordId )
667
679
  : {};
668
680
 
681
+ // Most of this autosave logic is very specific to posts.
682
+ // This is fine for now as it is the only supported autosave,
683
+ // but ideally this should all be handled in the back end,
684
+ // so the client just sends and receives objects.
669
685
  if ( isAutosave ) {
670
- // Most of this autosave logic is very specific to posts.
671
- // This is fine for now as it is the only supported autosave,
672
- // but ideally this should all be handled in the back end,
673
- // so the client just sends and receives objects.
674
- const currentUser = select.getCurrentUser();
675
- const currentUserId = currentUser
676
- ? currentUser.id
677
- : undefined;
678
- const autosavePost = await resolveSelect.getAutosave(
679
- persistedRecord.type,
680
- persistedRecord.id,
681
- currentUserId
682
- );
683
- // Autosaves need all expected fields to be present.
684
- // So we fallback to the previous autosave and then
685
- // to the actual persisted entity if the edits don't
686
- // have a value.
687
- let data = {
688
- ...persistedRecord,
689
- ...autosavePost,
690
- ...record,
691
- };
692
- data = Object.keys( data ).reduce(
686
+ // Build the autosave payload from the persisted
687
+ // record and the incoming edits. The previous autosave
688
+ // is intentionally excluded to avoid stale values
689
+ // overriding reverted fields.
690
+ const merged = { ...persistedRecord, ...record };
691
+ const data = [
692
+ 'title',
693
+ 'excerpt',
694
+ 'content',
695
+ 'meta',
696
+ ].reduce(
693
697
  ( acc, key ) => {
694
- if (
695
- [
696
- 'title',
697
- 'excerpt',
698
- 'content',
699
- 'meta',
700
- ].includes( key )
701
- ) {
702
- acc[ key ] = data[ key ];
698
+ if ( key in merged ) {
699
+ acc[ key ] = merged[ key ];
703
700
  }
704
701
  return acc;
705
702
  },
@@ -709,7 +706,7 @@ export const saveEntityRecord =
709
706
  // because it can lead to unexpected results. An example would be to
710
707
  // have a draft post and change the status to publish.
711
708
  status:
712
- data.status === 'auto-draft'
709
+ merged.status === 'auto-draft'
713
710
  ? 'draft'
714
711
  : undefined,
715
712
  }
@@ -733,9 +730,12 @@ export const saveEntityRecord =
733
730
  ( acc, key ) => {
734
731
  // These properties are persisted in autosaves.
735
732
  if (
736
- [ 'title', 'excerpt', 'content' ].includes(
737
- key
738
- )
733
+ [
734
+ 'title',
735
+ 'excerpt',
736
+ 'content',
737
+ 'meta',
738
+ ].includes( key )
739
739
  ) {
740
740
  acc[ key ] = newRecord[ key ];
741
741
  } else if ( key === 'status' ) {
@@ -793,11 +793,13 @@ export const saveEntityRecord =
793
793
  edits
794
794
  );
795
795
  if ( entityConfig.syncConfig ) {
796
+ // Use an untracked origin so that the save
797
+ // response does not create undo levels.
796
798
  getSyncManager()?.update(
797
799
  `${ kind }/${ name }`,
798
800
  recordId,
799
801
  updatedRecord,
800
- LOCAL_EDITOR_ORIGIN,
802
+ LOCAL_UNDO_IGNORED_ORIGIN,
801
803
  { isSave: true }
802
804
  );
803
805
  }
@@ -1100,15 +1102,12 @@ export const receiveRevisions =
1100
1102
  const entityConfig = configs.find(
1101
1103
  ( config ) => config.kind === kind && config.name === name
1102
1104
  );
1103
- const key =
1104
- entityConfig && entityConfig?.revisionKey
1105
- ? entityConfig.revisionKey
1106
- : DEFAULT_ENTITY_KEY;
1105
+ const key = entityConfig?.revisionKey ?? DEFAULT_ENTITY_KEY;
1107
1106
 
1108
1107
  dispatch( {
1109
1108
  type: 'RECEIVE_ITEM_REVISIONS',
1110
1109
  key,
1111
- items: Array.isArray( records ) ? records : [ records ],
1110
+ items: records,
1112
1111
  recordKey,
1113
1112
  meta,
1114
1113
  query,
@@ -22,6 +22,7 @@ import {
22
22
  SelectionType,
23
23
  } from '../utils/crdt-user-selections';
24
24
 
25
+ import { SelectionDirection } from '../types';
25
26
  import type { SelectionState, WPBlockSelection } from '../types';
26
27
  import type { YBlocks } from '../utils/crdt-blocks';
27
28
  import type {
@@ -69,6 +70,18 @@ export class PostEditorAwareness extends BaseAwarenessState< PostEditorState > {
69
70
  let selectionEnd = getSelectionEnd();
70
71
  let localCursorTimeout: NodeJS.Timeout | null = null;
71
72
 
73
+ // During rapid selection changes (e.g. undo restoring content and
74
+ // selection), the debounce discards intermediate events. If we use the
75
+ // last intermediate state instead of the overall change it can produce
76
+ // the wrong direction.
77
+ // Use selectionBeforeDebounce to capture the selection state from
78
+ // before the debounce window so that direction is computed across the
79
+ // full window when it fires.
80
+ let selectionBeforeDebounce: {
81
+ start: WPBlockSelection;
82
+ end: WPBlockSelection;
83
+ } | null = null;
84
+
72
85
  subscribe( () => {
73
86
  const newSelectionStart = getSelectionStart();
74
87
  const newSelectionEnd = getSelectionEnd();
@@ -80,6 +93,15 @@ export class PostEditorAwareness extends BaseAwarenessState< PostEditorState > {
80
93
  return;
81
94
  }
82
95
 
96
+ // On the first change of a debounce window, snapshot the state
97
+ // we're moving away from.
98
+ if ( ! selectionBeforeDebounce ) {
99
+ selectionBeforeDebounce = {
100
+ start: selectionStart,
101
+ end: selectionEnd,
102
+ };
103
+ }
104
+
83
105
  selectionStart = newSelectionStart;
84
106
  selectionEnd = newSelectionEnd;
85
107
 
@@ -103,10 +125,29 @@ export class PostEditorAwareness extends BaseAwarenessState< PostEditorState > {
103
125
  }
104
126
 
105
127
  localCursorTimeout = setTimeout( () => {
128
+ // Compute direction across the full debounce window.
129
+ const selectionStateOptions: {
130
+ selectionDirection?: SelectionDirection;
131
+ } = {};
132
+
133
+ if ( selectionBeforeDebounce ) {
134
+ selectionStateOptions.selectionDirection =
135
+ detectSelectionDirection(
136
+ selectionBeforeDebounce.start,
137
+ selectionBeforeDebounce.end,
138
+ selectionStart,
139
+ selectionEnd
140
+ );
141
+
142
+ // Reset debounced selection state.
143
+ selectionBeforeDebounce = null;
144
+ }
145
+
106
146
  const selectionState = getSelectionState(
107
147
  selectionStart,
108
148
  selectionEnd,
109
- this.doc
149
+ this.doc,
150
+ selectionStateOptions
110
151
  );
111
152
 
112
153
  this.setThrottledLocalStateField(
@@ -171,6 +212,10 @@ export class PostEditorAwareness extends BaseAwarenessState< PostEditorState > {
171
212
  return state1 === state2;
172
213
  }
173
214
 
215
+ if ( ! state1.selection || ! state2.selection ) {
216
+ return state1.selection === state2.selection;
217
+ }
218
+
174
219
  return areSelectionsStatesEqual( state1.selection, state2.selection );
175
220
  }
176
221
 
@@ -325,3 +370,50 @@ export class PostEditorAwareness extends BaseAwarenessState< PostEditorState > {
325
370
  };
326
371
  }
327
372
  }
373
+
374
+ /**
375
+ * Detect the direction of a selection change by comparing old and new edges.
376
+ *
377
+ * When the user extends a selection backward (e.g. Shift+Left), the
378
+ * selectionStart edge moves while selectionEnd stays fixed, so the caret
379
+ * is at the start. The reverse is true for forward extension.
380
+ *
381
+ * @param prevStart - The previous selectionStart.
382
+ * @param prevEnd - The previous selectionEnd.
383
+ * @param newStart - The new selectionStart.
384
+ * @param newEnd - The new selectionEnd.
385
+ * @return The detected direction, defaulting to Forward when indeterminate.
386
+ */
387
+ function detectSelectionDirection(
388
+ prevStart: WPBlockSelection,
389
+ prevEnd: WPBlockSelection,
390
+ newStart: WPBlockSelection,
391
+ newEnd: WPBlockSelection
392
+ ): SelectionDirection {
393
+ const startMoved = ! areBlockSelectionsEqual( prevStart, newStart );
394
+ const endMoved = ! areBlockSelectionsEqual( prevEnd, newEnd );
395
+
396
+ if ( startMoved && ! endMoved ) {
397
+ return SelectionDirection.Backward;
398
+ }
399
+
400
+ return SelectionDirection.Forward;
401
+ }
402
+
403
+ /**
404
+ * Compare two WPBlockSelection objects by value.
405
+ *
406
+ * @param a - First selection.
407
+ * @param b - Second selection.
408
+ * @return True if all fields are equal.
409
+ */
410
+ function areBlockSelectionsEqual(
411
+ a: WPBlockSelection,
412
+ b: WPBlockSelection
413
+ ): boolean {
414
+ return (
415
+ a.clientId === b.clientId &&
416
+ a.attributeKey === b.attributeKey &&
417
+ a.offset === b.offset
418
+ );
419
+ }
@@ -422,6 +422,41 @@ describe( 'PostEditorAwareness', () => {
422
422
  // Callback should not be called for equal editor states
423
423
  expect( callback ).not.toHaveBeenCalled();
424
424
  } );
425
+
426
+ test( 'should not notify when editorState without selection is unchanged', () => {
427
+ const awareness = new PostEditorAwareness(
428
+ doc,
429
+ 'postType',
430
+ 'post',
431
+ 123
432
+ );
433
+ awareness.setUp();
434
+
435
+ awareness.setLocalStateField( 'editorState', {} );
436
+
437
+ const callback = jest.fn();
438
+ awareness.onStateChange( callback );
439
+
440
+ awareness.emit( 'change', [
441
+ {
442
+ added: [],
443
+ updated: [ awareness.clientID ],
444
+ removed: [],
445
+ },
446
+ ] );
447
+ callback.mockClear();
448
+
449
+ awareness.setLocalStateField( 'editorState', {} );
450
+ awareness.emit( 'change', [
451
+ {
452
+ added: [],
453
+ updated: [ awareness.clientID ],
454
+ removed: [],
455
+ },
456
+ ] );
457
+
458
+ expect( callback ).not.toHaveBeenCalled();
459
+ } );
425
460
  } );
426
461
 
427
462
  describe( 'convertSelectionStateToAbsolute', () => {
@@ -30,7 +30,7 @@ export interface BaseState {
30
30
  * The editor state includes information about the collaborator's current selection.
31
31
  */
32
32
  export interface EditorState {
33
- selection: SelectionState;
33
+ selection?: SelectionState;
34
34
  }
35
35
 
36
36
  /**