@parhelia/core 0.3.12788 → 0.3.12791

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 (176) hide show
  1. package/dist/components/ui/LanguageSelector.js +4 -1
  2. package/dist/components/ui/LanguageSelector.js.map +1 -1
  3. package/dist/components/ui/select.js +12 -1
  4. package/dist/components/ui/select.js.map +1 -1
  5. package/dist/editor/FieldHistory.js +2 -2
  6. package/dist/editor/FieldHistory.js.map +1 -1
  7. package/dist/editor/ai/InlineAiDialog.js +35 -8
  8. package/dist/editor/ai/InlineAiDialog.js.map +1 -1
  9. package/dist/editor/ai/terminal/components/AgentProjectProgress.d.ts +4 -3
  10. package/dist/editor/ai/terminal/components/AgentProjectProgress.js +34 -50
  11. package/dist/editor/ai/terminal/components/AgentProjectProgress.js.map +1 -1
  12. package/dist/editor/ai/terminal/components/AgentTerminalView.d.ts +2 -1
  13. package/dist/editor/ai/terminal/components/AgentTerminalView.js +2 -2
  14. package/dist/editor/ai/terminal/components/AgentTerminalView.js.map +1 -1
  15. package/dist/editor/ai/terminal/useAgentTerminalController.js +1 -0
  16. package/dist/editor/ai/terminal/useAgentTerminalController.js.map +1 -1
  17. package/dist/editor/ai/terminal/useAgentTerminalViewProps.d.ts +1 -0
  18. package/dist/editor/ai/terminal/useAgentTerminalViewProps.js +2 -1
  19. package/dist/editor/ai/terminal/useAgentTerminalViewProps.js.map +1 -1
  20. package/dist/editor/bridge/protocol.d.ts +4 -0
  21. package/dist/editor/bridge/protocol.js +1 -0
  22. package/dist/editor/bridge/protocol.js.map +1 -1
  23. package/dist/editor/client/EditorShell.js +174 -65
  24. package/dist/editor/client/EditorShell.js.map +1 -1
  25. package/dist/editor/client/editContext.d.ts +13 -3
  26. package/dist/editor/client/editContext.js.map +1 -1
  27. package/dist/editor/client/hooks/activeSessionSnapshots.d.ts +2 -0
  28. package/dist/editor/client/hooks/activeSessionSnapshots.js +43 -0
  29. package/dist/editor/client/hooks/activeSessionSnapshots.js.map +1 -0
  30. package/dist/editor/client/hooks/feedbackSocketState.js +3 -0
  31. package/dist/editor/client/hooks/feedbackSocketState.js.map +1 -1
  32. package/dist/editor/client/hooks/operationRefreshDeduplication.d.ts +22 -0
  33. package/dist/editor/client/hooks/operationRefreshDeduplication.js +45 -0
  34. package/dist/editor/client/hooks/operationRefreshDeduplication.js.map +1 -0
  35. package/dist/editor/client/hooks/socketMessageRetention.d.ts +7 -0
  36. package/dist/editor/client/hooks/socketMessageRetention.js +11 -0
  37. package/dist/editor/client/hooks/socketMessageRetention.js.map +1 -0
  38. package/dist/editor/client/hooks/useSocketMessageHandler.js +39 -19
  39. package/dist/editor/client/hooks/useSocketMessageHandler.js.map +1 -1
  40. package/dist/editor/client/hooks/useWorkbox.d.ts +4 -0
  41. package/dist/editor/client/hooks/useWorkbox.js +132 -2
  42. package/dist/editor/client/hooks/useWorkbox.js.map +1 -1
  43. package/dist/editor/client/itemsRepository.d.ts +7 -1
  44. package/dist/editor/client/itemsRepository.js +41 -18
  45. package/dist/editor/client/itemsRepository.js.map +1 -1
  46. package/dist/editor/client/operations.d.ts +7 -3
  47. package/dist/editor/client/operations.js +216 -150
  48. package/dist/editor/client/operations.js.map +1 -1
  49. package/dist/editor/client/pageModelBuilder.js +15 -3
  50. package/dist/editor/client/pageModelBuilder.js.map +1 -1
  51. package/dist/editor/client/sidebarAvailability.d.ts +4 -0
  52. package/dist/editor/client/sidebarAvailability.js +15 -0
  53. package/dist/editor/client/sidebarAvailability.js.map +1 -1
  54. package/dist/editor/commands/itemCommands.js +1 -1
  55. package/dist/editor/commands/itemCommands.js.map +1 -1
  56. package/dist/editor/field-types/RichTextEditorComponent.js +6 -1
  57. package/dist/editor/field-types/RichTextEditorComponent.js.map +1 -1
  58. package/dist/editor/field-types/SingleLineText.js +2 -3
  59. package/dist/editor/field-types/SingleLineText.js.map +1 -1
  60. package/dist/editor/field-types/richtext/components/ReactSlate.d.ts +6 -1
  61. package/dist/editor/field-types/richtext/components/ReactSlate.js +91 -5
  62. package/dist/editor/field-types/richtext/components/ReactSlate.js.map +1 -1
  63. package/dist/editor/field-types/singleLineTextValue.d.ts +3 -0
  64. package/dist/editor/field-types/singleLineTextValue.js +9 -0
  65. package/dist/editor/field-types/singleLineTextValue.js.map +1 -0
  66. package/dist/editor/menubar/ItemLanguageVersion.js +1 -1
  67. package/dist/editor/menubar/ItemLanguageVersion.js.map +1 -1
  68. package/dist/editor/menubar/VersionSelector.js +18 -6
  69. package/dist/editor/menubar/VersionSelector.js.map +1 -1
  70. package/dist/editor/menubar/WorkflowButton.js +8 -3
  71. package/dist/editor/menubar/WorkflowButton.js.map +1 -1
  72. package/dist/editor/menubar/toolbar-sections/EditControls.js +1 -1
  73. package/dist/editor/menubar/toolbar-sections/EditControls.js.map +1 -1
  74. package/dist/editor/notifications/NotificationCenter.js +26 -7
  75. package/dist/editor/notifications/NotificationCenter.js.map +1 -1
  76. package/dist/editor/notifications/useNotifications.d.ts +3 -1
  77. package/dist/editor/notifications/useNotifications.js +27 -9
  78. package/dist/editor/notifications/useNotifications.js.map +1 -1
  79. package/dist/editor/page-editor-chrome/BridgeInlineFormatOverlay.js +18 -0
  80. package/dist/editor/page-editor-chrome/BridgeInlineFormatOverlay.js.map +1 -1
  81. package/dist/editor/page-editor-chrome/InlineFieldHistoryButton.js +30 -8
  82. package/dist/editor/page-editor-chrome/InlineFieldHistoryButton.js.map +1 -1
  83. package/dist/editor/page-editor-chrome/VersionDiffHighlightings.js +30 -8
  84. package/dist/editor/page-editor-chrome/VersionDiffHighlightings.js.map +1 -1
  85. package/dist/editor/page-editor-chrome/useBridgeInlineEditing.d.ts +5 -3
  86. package/dist/editor/page-editor-chrome/useBridgeInlineEditing.js +111 -19
  87. package/dist/editor/page-editor-chrome/useBridgeInlineEditing.js.map +1 -1
  88. package/dist/editor/page-viewer/EditorForm.d.ts +2 -1
  89. package/dist/editor/page-viewer/EditorForm.js +41 -12
  90. package/dist/editor/page-viewer/EditorForm.js.map +1 -1
  91. package/dist/editor/page-viewer/PageViewer.d.ts +2 -0
  92. package/dist/editor/page-viewer/PageViewer.js +11 -2
  93. package/dist/editor/page-viewer/PageViewer.js.map +1 -1
  94. package/dist/editor/page-viewer/PageViewerFrame.js +237 -42
  95. package/dist/editor/page-viewer/PageViewerFrame.js.map +1 -1
  96. package/dist/editor/page-viewer/bridgeInlineAiSelection.d.ts +17 -0
  97. package/dist/editor/page-viewer/bridgeInlineAiSelection.js +80 -0
  98. package/dist/editor/page-viewer/bridgeInlineAiSelection.js.map +1 -0
  99. package/dist/editor/page-viewer/bridgeInlineEditCommit.d.ts +18 -0
  100. package/dist/editor/page-viewer/bridgeInlineEditCommit.js +24 -0
  101. package/dist/editor/page-viewer/bridgeInlineEditCommit.js.map +1 -0
  102. package/dist/editor/page-viewer/bridgeInlineEditSession.d.ts +3 -0
  103. package/dist/editor/page-viewer/bridgeInlineEditSession.js +30 -0
  104. package/dist/editor/page-viewer/bridgeInlineEditSession.js.map +1 -1
  105. package/dist/editor/page-viewer/bridgeItemChangeTarget.d.ts +9 -0
  106. package/dist/editor/page-viewer/bridgeItemChangeTarget.js +38 -0
  107. package/dist/editor/page-viewer/bridgeItemChangeTarget.js.map +1 -0
  108. package/dist/editor/page-viewer/bridgePointerDragRelease.d.ts +31 -0
  109. package/dist/editor/page-viewer/bridgePointerDragRelease.js +32 -0
  110. package/dist/editor/page-viewer/bridgePointerDragRelease.js.map +1 -0
  111. package/dist/editor/page-viewer/renderUrl.d.ts +8 -0
  112. package/dist/editor/page-viewer/renderUrl.js +10 -0
  113. package/dist/editor/page-viewer/renderUrl.js.map +1 -1
  114. package/dist/editor/personalization/PersonalizationPanel.js +52 -25
  115. package/dist/editor/personalization/PersonalizationPanel.js.map +1 -1
  116. package/dist/editor/reviews/Comment.js +3 -1
  117. package/dist/editor/reviews/Comment.js.map +1 -1
  118. package/dist/editor/reviews/CommentDisplayPopover.js +2 -0
  119. package/dist/editor/reviews/CommentDisplayPopover.js.map +1 -1
  120. package/dist/editor/reviews/Comments.js +16 -3
  121. package/dist/editor/reviews/Comments.js.map +1 -1
  122. package/dist/editor/reviews/SuggestedEdit.js +25 -2
  123. package/dist/editor/reviews/SuggestedEdit.js.map +1 -1
  124. package/dist/editor/reviews/SuggestionCommentThread.js +2 -0
  125. package/dist/editor/reviews/SuggestionCommentThread.js.map +1 -1
  126. package/dist/editor/reviews/applySuggestedEditActions.js +105 -25
  127. package/dist/editor/reviews/applySuggestedEditActions.js.map +1 -1
  128. package/dist/editor/reviews/commentState.d.ts +4 -0
  129. package/dist/editor/reviews/commentState.js +15 -0
  130. package/dist/editor/reviews/commentState.js.map +1 -0
  131. package/dist/editor/reviews/feedbackOrdering.d.ts +1 -0
  132. package/dist/editor/reviews/feedbackOrdering.js +6 -0
  133. package/dist/editor/reviews/feedbackOrdering.js.map +1 -1
  134. package/dist/editor/reviews/suggestionContentChange.d.ts +7 -0
  135. package/dist/editor/reviews/suggestionContentChange.js +10 -0
  136. package/dist/editor/reviews/suggestionContentChange.js.map +1 -1
  137. package/dist/editor/reviews/suggestionPatch.js +6 -0
  138. package/dist/editor/reviews/suggestionPatch.js.map +1 -1
  139. package/dist/editor/services/personalizationService.js +30 -6
  140. package/dist/editor/services/personalizationService.js.map +1 -1
  141. package/dist/editor/services/suggestedEditsService.d.ts +1 -0
  142. package/dist/editor/services/suggestedEditsService.js +3 -0
  143. package/dist/editor/services/suggestedEditsService.js.map +1 -1
  144. package/dist/editor/settings/SettingsView.js +15 -7
  145. package/dist/editor/settings/SettingsView.js.map +1 -1
  146. package/dist/editor/settings/panels/MemoriesPanel.js +3 -2
  147. package/dist/editor/settings/panels/MemoriesPanel.js.map +1 -1
  148. package/dist/editor/settings/panels/ProjectTemplatesPanel.d.ts +3 -0
  149. package/dist/editor/settings/panels/ProjectTemplatesPanel.js +84 -15
  150. package/dist/editor/settings/panels/ProjectTemplatesPanel.js.map +1 -1
  151. package/dist/editor/settings/panels/projectTemplateDuplication.d.ts +5 -0
  152. package/dist/editor/settings/panels/projectTemplateDuplication.js +52 -0
  153. package/dist/editor/settings/panels/projectTemplateDuplication.js.map +1 -0
  154. package/dist/editor/ui/PerfectTree.js +2 -2
  155. package/dist/editor/ui/PerfectTree.js.map +1 -1
  156. package/dist/editor/ui/PublishRestrictionsDialog.js +9 -1
  157. package/dist/editor/ui/PublishRestrictionsDialog.js.map +1 -1
  158. package/dist/editor/utils.js +5 -2
  159. package/dist/editor/utils.js.map +1 -1
  160. package/dist/editor/views/EditorSlot.js +5 -1
  161. package/dist/editor/views/EditorSlot.js.map +1 -1
  162. package/dist/editor/views/SingleEditView.d.ts +4 -1
  163. package/dist/editor/views/SingleEditView.js +2 -2
  164. package/dist/editor/views/SingleEditView.js.map +1 -1
  165. package/dist/licensing/LicenseContext.js +7 -0
  166. package/dist/licensing/LicenseContext.js.map +1 -1
  167. package/dist/revision.d.ts +2 -2
  168. package/dist/revision.js +2 -2
  169. package/dist/task-board/TaskBoardWorkspace.js +5 -1
  170. package/dist/task-board/TaskBoardWorkspace.js.map +1 -1
  171. package/dist/task-board/taskExecutionRecords.js +7 -0
  172. package/dist/task-board/taskExecutionRecords.js.map +1 -1
  173. package/dist/task-board/views/DependencyGraphView.d.ts +1 -0
  174. package/dist/task-board/views/DependencyGraphView.js +15 -12
  175. package/dist/task-board/views/DependencyGraphView.js.map +1 -1
  176. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"PageViewer.js","sourceRoot":"","sources":["../../../src/editor/page-viewer/PageViewer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PageViewer.js","sourceRoot":"","sources":["../../../src/editor/page-viewer/PageViewer.tsx"],"names":[],"mappings":"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"}
@@ -22,7 +22,7 @@ import { loadFieldButtons } from "../services/editService";
22
22
  import { usePathname } from "../client/navigation";
23
23
  import { EditorWarnings } from "../EditorWarnings";
24
24
  import { FieldActionsOverlay, } from "../FieldActionsOverlay";
25
- import { alignLoopbackHostToEditor, alignXmCloudManagedEditingHostToEditor, applyParheliaRenderContext, getEditorQueryParam, } from "./renderUrl";
25
+ import { alignLoopbackHostToEditor, alignXmCloudManagedEditingHostToEditor, applyParheliaRenderContext, crossesPreviewRenderBoundary, getEditorQueryParam, } from "./renderUrl";
26
26
  import { NoLayout } from "../page-editor-chrome/NoLayout";
27
27
  import { Spinner } from "../ui/Spinner";
28
28
  import { DeviceToolbar } from "./DeviceToolbar";
@@ -33,11 +33,15 @@ import { pickVersionAtDate } from "../utils/versionAtDate";
33
33
  import { BridgeClient } from "../bridge/BridgeClient";
34
34
  import { beginPerfTrace, isPerfTraceActive, isPerfTraceEnabled, perfTraceStep, } from "../perfTrace";
35
35
  import { getPendingFieldSuggestions, getSuggestionSelectionKey, getSuggestionDisplayValue, } from "../reviews/suggestionDisplayValue";
36
+ import { bridgeItemDescriptorMatchesItem, bridgeStructureTargetsChangedItem, } from "./bridgeItemChangeTarget";
36
37
  import { buildBridgeFieldPatchPayload, buildBridgeFieldPatchSignature, buildRemoteCaretFieldPatches, getBridgeFieldPatchValue, hasRemoteCaretDraftForField, isBridgePatchableTextField, isSuggestionPreviewPatchSignature, } from "./bridgeFieldPatch";
37
38
  import { bridgeSelectionMatchesInteraction, resolveBridgeTextCompletionInput, } from "./bridgeTextCompletion";
39
+ import { resolveBridgeInlineAiSelectionRange } from "./bridgeInlineAiSelection";
40
+ import { BRIDGE_AUTHORITATIVE_REFRESH_EVENT, BRIDGE_INLINE_EDIT_COMMIT_EVENT, } from "./bridgeInlineEditCommit";
38
41
  import { logFieldValueDiagnostic, summarizeFieldDescriptor, summarizeFieldValue, } from "../fieldValueDiagnostics";
39
42
  import { createKeyboardEventFromBridgeInteraction, getBridgeFieldHistoryStepDirection, INLINE_FIELD_HISTORY_STEP_EVENT, } from "./bridgeKeyboardShortcuts";
40
43
  import { formatParentBridgeInjectionDiagnostic, injectParheliaBridgeFromParent, } from "./parentBridgeInjection";
44
+ import { projectParentPointerToHost, resolveParentBridgePointerRelease, } from "./bridgePointerDragRelease";
41
45
  import { getTextCompletion, normalizeTextCompletion, } from "../services/textCompletionService";
42
46
  import { resolvePageAndSiteByPath } from "../services/contentService";
43
47
  import { extractInternalLinkPath, extractInternalLinkTargetItemId, shouldOpenInternalLinkInNewSlot, } from "./internalLinkNavigation";
@@ -482,25 +486,6 @@ function bridgeComponentSelectionsMatch(left, right) {
482
486
  return false;
483
487
  return (left ?? []).every((leftId, index) => bridgeIdsMatch(leftId, right?.[index]));
484
488
  }
485
- function bridgeDescriptorMatchesItem(bridgeItem, item) {
486
- if (!bridgeItem?.id)
487
- return true;
488
- if (!bridgeIdsMatch(bridgeItem.id, item.id))
489
- return false;
490
- if (bridgeItem.language &&
491
- item.language &&
492
- bridgeItem.language.toLowerCase() !== item.language.toLowerCase()) {
493
- return false;
494
- }
495
- if (typeof bridgeItem.version === "number" &&
496
- Number.isFinite(bridgeItem.version) &&
497
- typeof item.version === "number" &&
498
- Number.isFinite(item.version) &&
499
- bridgeItem.version !== item.version) {
500
- return false;
501
- }
502
- return true;
503
- }
504
489
  function fieldIdentifierMatches(field, fieldId) {
505
490
  return (bridgeIdsMatch(field.id, fieldId) ||
506
491
  bridgeIdsMatch(field.name, fieldId) ||
@@ -516,7 +501,7 @@ function findModifiedBridgeField({ modifiedFields, structureField, field, itemDe
516
501
  return modifiedFields?.find((candidate) => {
517
502
  if (dirtyOnly && !candidate.isDirty)
518
503
  return false;
519
- if (!bridgeDescriptorMatchesItem(candidate.item, itemDescriptor)) {
504
+ if (!bridgeItemDescriptorMatchesItem(candidate.item, itemDescriptor)) {
520
505
  return false;
521
506
  }
522
507
  return (bridgeIdsMatch(candidate.fieldId, structureField.fieldId) ||
@@ -619,6 +604,7 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
619
604
  const iframeRef = useRef(null);
620
605
  const [iframeElement, setIframeElement] = useState(null);
621
606
  const bridgeClientRef = useRef(null);
607
+ const activeBridgePointerDragRef = useRef(null);
622
608
  const parentBridgeInjectionRef = useRef(null);
623
609
  const latestParentBridgeInjectionRef = useRef(null);
624
610
  useEffect(() => {
@@ -631,6 +617,15 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
631
617
  const bridgeTextRangeSourcesRef = useRef(new Map());
632
618
  const activeBridgeInlineEditRef = useRef(null);
633
619
  const discardActiveFieldDraftOnNextRefreshRef = useRef(false);
620
+ useEffect(() => {
621
+ const markAuthoritativeRefresh = () => {
622
+ discardActiveFieldDraftOnNextRefreshRef.current = true;
623
+ };
624
+ window.addEventListener(BRIDGE_AUTHORITATIVE_REFRESH_EVENT, markAuthoritativeRefresh);
625
+ return () => {
626
+ window.removeEventListener(BRIDGE_AUTHORITATIVE_REFRESH_EVENT, markAuthoritativeRefresh);
627
+ };
628
+ }, []);
634
629
  const [isBridgeInlineEditing, setIsBridgeInlineEditing] = useState(false);
635
630
  const bridgeInlineEditSessionRef = useRef(null);
636
631
  if (!bridgeInlineEditSessionRef.current) {
@@ -641,6 +636,7 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
641
636
  });
642
637
  }
643
638
  const bridgeInlineEditSession = bridgeInlineEditSessionRef.current;
639
+ const bridgeInlineEditCommitRef = useRef(null);
644
640
  const clearActiveBridgeInlineEdit = useCallback(() => {
645
641
  bridgeInlineEditSession.clear();
646
642
  }, [bridgeInlineEditSession]);
@@ -934,7 +930,7 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
934
930
  bridgeTextCompletionAbortRef.current?.abort();
935
931
  };
936
932
  }, []);
937
- const { beginInlineEdit: beginBridgeInlineEdit, clearInlineDedupe: clearBridgeInlineDedupe, endFieldFocus: endBridgeFieldFocus, handleFieldValueChanged: handleBridgeFieldValueChanged, handleInlineEditEnded: handleBridgeInlineEditEnded, } = useBridgeInlineEditing({
933
+ const { beginInlineEdit: beginBridgeInlineEdit, clearInlineDedupe: clearBridgeInlineDedupe, endFieldFocus: endBridgeFieldFocus, flushPendingFieldValueChanges: flushPendingBridgeFieldValueChanges, handleFieldValueChanged: handleBridgeFieldValueChanged, handleInlineEditEnded: handleBridgeInlineEditEnded, supersedeInlineEdit: supersedeBridgeInlineEdit, } = useBridgeInlineEditing({
938
934
  pageViewContextRef,
939
935
  inlineEditSession: bridgeInlineEditSession,
940
936
  blockIframeBlurUntil,
@@ -958,7 +954,11 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
958
954
  database: interaction.item.database,
959
955
  }
960
956
  : undefined;
961
- const started = await bridgeInlineEditSession.beginSession({
957
+ // A repeated click on an already-active host field must still revalidate
958
+ // the server lock. The inline editor can remain mounted after another UI
959
+ // transition released that lock, so UI-session identity alone is not proof
960
+ // of ownership. Pending begins remain deduplicated by the coordinator.
961
+ const started = await bridgeInlineEditSession.revalidateSession({
962
962
  elementKey: interaction.elementKey,
963
963
  fieldId: interaction.fieldId,
964
964
  item: interactionItem,
@@ -975,6 +975,50 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
975
975
  clearActiveBridgeInlineEdit();
976
976
  endBridgeFieldFocus();
977
977
  }, [clearActiveBridgeInlineEdit, endBridgeFieldFocus]);
978
+ const commitActiveBridgeInlineEdit = useCallback(() => {
979
+ if (bridgeInlineEditCommitRef.current) {
980
+ return bridgeInlineEditCommitRef.current;
981
+ }
982
+ const activeEdit = activeBridgeInlineEditRef.current;
983
+ if (!activeEdit) {
984
+ return flushPendingBridgeFieldValueChanges().then(() => undefined);
985
+ }
986
+ const bridge = bridgeClientRef.current;
987
+ if (!bridge) {
988
+ return Promise.reject(new Error("Cannot commit the inline edit because the bridge is unavailable."));
989
+ }
990
+ const commit = bridge
991
+ .requestCommand("commitInlineEdit", {
992
+ elementKey: activeEdit.elementKey,
993
+ fieldId: activeEdit.fieldId,
994
+ }, "inlineEditEnded")
995
+ .then(async () => {
996
+ // The correlated acknowledgement is dispatched after fieldValueChanged.
997
+ // Drain its repository update, then flush the debounced backend save.
998
+ await flushPendingBridgeFieldValueChanges();
999
+ await editContextRef.current?.operations.onFieldBlur?.();
1000
+ })
1001
+ .finally(() => {
1002
+ if (bridgeInlineEditCommitRef.current === commit) {
1003
+ bridgeInlineEditCommitRef.current = null;
1004
+ }
1005
+ });
1006
+ bridgeInlineEditCommitRef.current = commit;
1007
+ return commit;
1008
+ }, [editContextRef, flushPendingBridgeFieldValueChanges]);
1009
+ useEffect(() => {
1010
+ const handleCommitRequest = (event) => {
1011
+ const detail = event
1012
+ .detail;
1013
+ if (!detail)
1014
+ return;
1015
+ detail.barriers.push(commitActiveBridgeInlineEdit());
1016
+ };
1017
+ window.addEventListener(BRIDGE_INLINE_EDIT_COMMIT_EVENT, handleCommitRequest);
1018
+ return () => {
1019
+ window.removeEventListener(BRIDGE_INLINE_EDIT_COMMIT_EVENT, handleCommitRequest);
1020
+ };
1021
+ }, [commitActiveBridgeInlineEdit]);
978
1022
  const beginTrackedBridgeInlineEditAfterSelection = useCallback((interaction) => {
979
1023
  window.setTimeout(() => {
980
1024
  void beginTrackedBridgeInlineEdit(interaction);
@@ -1007,12 +1051,22 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
1007
1051
  }, [clearActiveBridgeInlineEdit]);
1008
1052
  useEffect(() => {
1009
1053
  return editContext.registerModeChangeParticipant({
1010
- beforeModeChange: (nextMode) => {
1054
+ captureBeforeModeChange: () => commitActiveBridgeInlineEdit(),
1055
+ beforeModeChange: async (nextMode) => {
1011
1056
  if (nextMode === "suggestions" &&
1012
1057
  getSelectedRangeInlineEditInteraction(editContextRef.current?.selectedRange)) {
1058
+ // Keep the live selection/focus so it can seed the suggestion edit,
1059
+ // but still cross the persistence boundary for text typed in edit
1060
+ // mode. Skipping this flush could make suggestions use an older
1061
+ // repository value as their baseline.
1062
+ await flushPendingBridgeFieldValueChanges();
1063
+ await editContext.operations.onFieldBlur?.();
1064
+ await editContext.operations.prepareForModeChange?.();
1013
1065
  return;
1014
1066
  }
1015
- editContext.operations.onFieldBlur?.();
1067
+ await flushPendingBridgeFieldValueChanges();
1068
+ await editContext.operations.onFieldBlur?.();
1069
+ await editContext.operations.prepareForModeChange?.();
1016
1070
  void fieldsContextRef.current?.setFocusedField(undefined, false);
1017
1071
  clearActiveBridgeInlineEdit();
1018
1072
  endBridgeFieldFocus();
@@ -1024,10 +1078,12 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
1024
1078
  }, [
1025
1079
  clearBridgeInlineDedupe,
1026
1080
  clearActiveBridgeInlineEdit,
1081
+ commitActiveBridgeInlineEdit,
1027
1082
  editContext,
1028
1083
  editContextRef,
1029
1084
  endBridgeFieldFocus,
1030
1085
  fieldsContextRef,
1086
+ flushPendingBridgeFieldValueChanges,
1031
1087
  ]);
1032
1088
  const getBridgePatchDisplayValue = useCallback(({ field, structureField, itemDescriptor, preferRepositoryValue, }) => {
1033
1089
  const showSuggestions = editContext.mode === "suggestions";
@@ -1069,19 +1125,23 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
1069
1125
  fieldsContext?.modifiedFields,
1070
1126
  pageViewContext.pageItemDescriptor,
1071
1127
  ]);
1072
- const buildBridgeFieldPatch = useCallback(({ field, structureField, itemDescriptor, preferRepositoryValue, }) => {
1128
+ const buildBridgeFieldPatch = useCallback(({ field, structureField, itemDescriptor, preferRepositoryValue, replaceActiveInlineEdit, }) => {
1073
1129
  const display = getBridgePatchDisplayValue({
1074
1130
  field,
1075
1131
  structureField,
1076
1132
  itemDescriptor,
1077
1133
  preferRepositoryValue,
1078
1134
  });
1079
- const activeInlineEdit = activeBridgeInlineEditRef.current;
1135
+ const effectiveDisplay = replaceActiveInlineEdit
1136
+ ? { ...display, source: "reset" }
1137
+ : display;
1080
1138
  const patch = buildBridgeFieldPatchPayload({
1081
1139
  field,
1082
1140
  structureField,
1083
- display,
1084
- activeInlineEdit,
1141
+ display: effectiveDisplay,
1142
+ activeInlineEdit: replaceActiveInlineEdit
1143
+ ? undefined
1144
+ : activeBridgeInlineEditRef.current,
1085
1145
  });
1086
1146
  return patch;
1087
1147
  }, [getBridgePatchDisplayValue]);
@@ -1165,6 +1225,11 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
1165
1225
  structureFields,
1166
1226
  activeInlineEdit: activeBridgeInlineEditRef.current,
1167
1227
  });
1228
+ // Keep the host informed about the complete live-draft set. Unlike an
1229
+ // ordinary field patch, this state survives host-app/React renders: the
1230
+ // bridge reapplies these values in its mutation observer before other
1231
+ // observers can see stale server markup.
1232
+ bridge.sendCommand("syncRemoteFieldDrafts", { drafts: patches });
1168
1233
  for (const patch of patches) {
1169
1234
  const structureField = structureFields.find((field) => field.elementKey === patch.elementKey);
1170
1235
  sendBridgeFieldPatch(bridge, patch, structureField?.textContent);
@@ -1643,6 +1708,13 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
1643
1708
  }
1644
1709
  const iframeRect = iframe.getBoundingClientRect();
1645
1710
  const bridgeSelection = latestBridgeSelectionRef.current;
1711
+ const commandRange = resolveBridgeInlineAiSelectionRange({
1712
+ interaction,
1713
+ bridgeSelection,
1714
+ iframeRect,
1715
+ fallbackItem: pageViewContextRef.current?.page?.item ??
1716
+ pageViewContextRef.current?.pageItemDescriptor,
1717
+ });
1646
1718
  const fallbackCaretRect = !interaction.selectionRect &&
1647
1719
  !interaction.caretRect &&
1648
1720
  bridgeSelection?.collapsed &&
@@ -1655,7 +1727,9 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
1655
1727
  interaction.caretRect ??
1656
1728
  fallbackCaretRect;
1657
1729
  const toolbarRect = await waitForVisibleBridgeToolbarRect();
1658
- const selectedRange = editContextRef.current?.selectedRange ?? editor?.selectedRange;
1730
+ const selectedRange = commandRange ??
1731
+ editContextRef.current?.selectedRange ??
1732
+ editor?.selectedRange;
1659
1733
  const toolbarAnchor = getInlineAiAnchorFromBridgeToolbar(selectedRange, toolbarRect ?? getVisibleBridgeToolbarRect());
1660
1734
  const caretAnchor = toolbarAnchor
1661
1735
  ? toolbarAnchor
@@ -1678,7 +1752,9 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
1678
1752
  document.dispatchEvent(new CustomEvent("inline-ai-open", {
1679
1753
  bubbles: true,
1680
1754
  cancelable: true,
1681
- detail: caretAnchor ? { anchor: caretAnchor } : undefined,
1755
+ detail: caretAnchor || commandRange
1756
+ ? { anchor: caretAnchor, selectionRange: commandRange }
1757
+ : undefined,
1682
1758
  }));
1683
1759
  return;
1684
1760
  }
@@ -2045,6 +2121,62 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
2045
2121
  useEffect(() => {
2046
2122
  pageViewContext.setEditorIframe(iframeElement);
2047
2123
  }, [iframeElement, pageViewContext.setEditorIframe]);
2124
+ // A host drag normally ends inside the iframe and is forwarded by the
2125
+ // bridge. If Chromium loses pointer capture while the pointer crosses into
2126
+ // parent-rendered editor chrome, however, the release belongs to this
2127
+ // document and the iframe never receives pointerup. Finish that same drag
2128
+ // here so it cannot leave the editor stuck in insertion mode.
2129
+ useEffect(() => {
2130
+ const iframe = iframeElement;
2131
+ if (!iframe)
2132
+ return;
2133
+ const forwardParentPointerMove = (event) => {
2134
+ const active = activeBridgePointerDragRef.current;
2135
+ if (!active || event.pointerId !== active.pointerId)
2136
+ return;
2137
+ const projected = projectParentPointerToHost(event.clientX, event.clientY, iframe.getBoundingClientRect(), pageViewContextRef.current?.bridgeGeometry?.viewport);
2138
+ if (!projected.inside)
2139
+ return;
2140
+ active.clientX = projected.clientX;
2141
+ active.clientY = projected.clientY;
2142
+ iframe.dispatchEvent(new CustomEvent(IFRAME_OVERLAY_BRIDGE_DRAG_GESTURE_EVENT, {
2143
+ detail: {
2144
+ phase: "move",
2145
+ pointerId: active.pointerId,
2146
+ clientX: projected.clientX,
2147
+ clientY: projected.clientY,
2148
+ },
2149
+ }));
2150
+ };
2151
+ const finishBridgePointerDrag = (event) => {
2152
+ const active = activeBridgePointerDragRef.current;
2153
+ if (!active)
2154
+ return;
2155
+ const rect = iframe.getBoundingClientRect();
2156
+ const payload = resolveParentBridgePointerRelease(active, event, rect, pageViewContextRef.current?.bridgeGeometry?.viewport);
2157
+ if (!payload)
2158
+ return;
2159
+ // Clear before dispatching and before asking the host to clean up. Any
2160
+ // delayed move/end messages from the bridge then become harmless echoes.
2161
+ activeBridgePointerDragRef.current = null;
2162
+ iframe.dispatchEvent(new CustomEvent(IFRAME_OVERLAY_BRIDGE_DRAG_GESTURE_EVENT, {
2163
+ detail: {
2164
+ phase: "end",
2165
+ ...payload,
2166
+ },
2167
+ }));
2168
+ bridgeClientRef.current?.sendCommand("cancelPointerDrag", {});
2169
+ };
2170
+ window.addEventListener("pointermove", forwardParentPointerMove, true);
2171
+ window.addEventListener("pointerup", finishBridgePointerDrag, true);
2172
+ window.addEventListener("mouseup", finishBridgePointerDrag, true);
2173
+ return () => {
2174
+ window.removeEventListener("pointermove", forwardParentPointerMove, true);
2175
+ window.removeEventListener("pointerup", finishBridgePointerDrag, true);
2176
+ window.removeEventListener("mouseup", finishBridgePointerDrag, true);
2177
+ activeBridgePointerDragRef.current = null;
2178
+ };
2179
+ }, [iframeElement]);
2048
2180
  // Same-origin fast path for overlay scroll tracking. The bridge's
2049
2181
  // scrollChanged postMessage is delivered as a task after the host's
2050
2182
  // rendering update, so overlays driven by it paint at least one frame
@@ -2173,8 +2305,15 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
2173
2305
  // Ready confirms the bridge transport, not that its initial
2174
2306
  // mutation-driven geometry snapshot reached the editor. Query the
2175
2307
  // current DOM explicitly so editing chrome never depends on that
2176
- // first unsolicited event surviving startup contention.
2177
- bridge.sendCommand("queryGeometry", {});
2308
+ // first unsolicited event surviving startup contention. A newly
2309
+ // connected iframe has no memory of the text-range union registered
2310
+ // by comments, suggestions, locks, and version diffs, so replay it
2311
+ // here. Sending a bare query can otherwise clear those ranges while
2312
+ // the contributing overlay still has the same request signature and
2313
+ // therefore has no reason to emit it again.
2314
+ bridge.sendCommand("queryGeometry", {
2315
+ textRanges: Array.from(bridgeTextRangeSourcesRef.current.values()).flat(),
2316
+ });
2178
2317
  if (pendingRefreshScrollRef.current) {
2179
2318
  restorePendingRefreshScroll(iframe, pendingRefreshScrollRef.current);
2180
2319
  }
@@ -2373,21 +2512,39 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
2373
2512
  void handleBridgeInteraction(event.payload, iframe);
2374
2513
  break;
2375
2514
  case "dragGestureStarted":
2515
+ activeBridgePointerDragRef.current = {
2516
+ pointerId: event.payload.pointerId,
2517
+ clientX: event.payload.clientX,
2518
+ clientY: event.payload.clientY,
2519
+ };
2376
2520
  iframe?.dispatchEvent(new CustomEvent(IFRAME_OVERLAY_BRIDGE_DRAG_GESTURE_EVENT, {
2377
2521
  detail: { phase: "start", ...event.payload },
2378
2522
  }));
2379
2523
  break;
2380
- case "dragGestureMoved":
2524
+ case "dragGestureMoved": {
2525
+ const active = activeBridgePointerDragRef.current;
2526
+ if (!active || active.pointerId !== event.payload.pointerId)
2527
+ break;
2528
+ active.clientX = event.payload.clientX;
2529
+ active.clientY = event.payload.clientY;
2381
2530
  iframe?.dispatchEvent(new CustomEvent(IFRAME_OVERLAY_BRIDGE_DRAG_GESTURE_EVENT, {
2382
2531
  detail: { phase: "move", ...event.payload },
2383
2532
  }));
2384
2533
  break;
2385
- case "dragGestureEnded":
2534
+ }
2535
+ case "dragGestureEnded": {
2536
+ const active = activeBridgePointerDragRef.current;
2537
+ if (!active || active.pointerId !== event.payload.pointerId)
2538
+ break;
2539
+ activeBridgePointerDragRef.current = null;
2386
2540
  iframe?.dispatchEvent(new CustomEvent(IFRAME_OVERLAY_BRIDGE_DRAG_GESTURE_EVENT, {
2387
2541
  detail: { phase: "end", ...event.payload },
2388
2542
  }));
2389
2543
  break;
2544
+ }
2390
2545
  case "dragSnapshot":
2546
+ if (!activeBridgePointerDragRef.current)
2547
+ break;
2391
2548
  iframe?.dispatchEvent(new CustomEvent(IFRAME_OVERLAY_BRIDGE_DRAG_GESTURE_EVENT, {
2392
2549
  detail: { phase: "snapshot", ...event.payload },
2393
2550
  }));
@@ -2463,17 +2620,41 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
2463
2620
  return;
2464
2621
  const patchedElementKeys = new Set();
2465
2622
  const patches = [];
2623
+ const pageItemDescriptor = pageViewContextRef.current?.pageItemDescriptor ??
2624
+ pageViewContextRef.current?.page?.item?.descriptor;
2466
2625
  for (const structureField of structure.fields) {
2467
2626
  if (!structureField.elementKey)
2468
2627
  continue;
2469
2628
  if (patchedElementKeys.has(structureField.elementKey))
2470
2629
  continue;
2471
- if (!bridgeDescriptorMatchesItem(structureField.item, change.item)) {
2630
+ const targetItem = structureField.item?.id
2631
+ ? structureField.item
2632
+ : pageItemDescriptor;
2633
+ if (!targetItem ||
2634
+ !bridgeItemDescriptorMatchesItem(targetItem, change.item)) {
2472
2635
  continue;
2473
2636
  }
2474
2637
  if (!bridgeFieldMatchesChangedField(structureField.fieldId, changedFieldId, field)) {
2475
2638
  continue;
2476
2639
  }
2640
+ if (change.replaceActiveInlineEdit) {
2641
+ const identity = {
2642
+ elementKey: structureField.elementKey,
2643
+ fieldId: structureField.fieldId,
2644
+ item: structureField.item,
2645
+ };
2646
+ const inlineEdit = bridgeInlineEditSession.matches(identity)
2647
+ ? bridgeInlineEditSession.getState()
2648
+ : bridgeInlineEditSession.getRecentlyClearedState(identity);
2649
+ if (inlineEdit) {
2650
+ // End the canvas session before sending the reset patch. This
2651
+ // prevents a later host refresh from preserving the superseded
2652
+ // draft, and tombstones already-captured events from that
2653
+ // session so they cannot race the external edit back to Sitecore.
2654
+ supersedeBridgeInlineEdit(inlineEdit);
2655
+ bridgePatchSignatureRef.current.delete(`${structureField.elementKey}:${structureField.fieldId}`);
2656
+ }
2657
+ }
2477
2658
  // A remote session is live-syncing this field: its draft is
2478
2659
  // authoritative, and the saved-value echo behind this change is
2479
2660
  // stale mid-typing — applying it would roll the canvas text back
@@ -2490,6 +2671,7 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
2490
2671
  structureField,
2491
2672
  itemDescriptor: change.item,
2492
2673
  preferRepositoryValue: change.source === "local-field-update",
2674
+ replaceActiveInlineEdit: change.replaceActiveInlineEdit,
2493
2675
  });
2494
2676
  if (!patch)
2495
2677
  continue;
@@ -2506,6 +2688,11 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
2506
2688
  };
2507
2689
  const asyncFieldChanges = [];
2508
2690
  for (const change of fieldChanges) {
2691
+ const pageItemDescriptor = pageViewContextRef.current?.pageItemDescriptor ??
2692
+ pageViewContextRef.current?.page?.item?.descriptor;
2693
+ if (!bridgeStructureTargetsChangedItem(structure.fields, change.item, pageItemDescriptor)) {
2694
+ continue;
2695
+ }
2509
2696
  const localFieldsById = new Map((change.changes.fieldValues ?? []).map((field) => [
2510
2697
  field.id.toLowerCase(),
2511
2698
  field,
@@ -2558,8 +2745,10 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
2558
2745
  };
2559
2746
  }, [
2560
2747
  buildBridgeFieldPatch,
2748
+ bridgeInlineEditSession,
2561
2749
  editContext.itemsRepository,
2562
2750
  sendBridgeFieldPatch,
2751
+ supersedeBridgeInlineEdit,
2563
2752
  ]);
2564
2753
  useEffect(() => {
2565
2754
  const bridge = bridgeClientRef.current;
@@ -2896,15 +3085,17 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
2896
3085
  const fullReloadRequested = lastFullReloadTokenRef.current !== undefined &&
2897
3086
  lastFullReloadTokenRef.current !== editContext.fullReloadToken;
2898
3087
  lastFullReloadTokenRef.current = editContext.fullReloadToken;
2899
- const shouldUseIframeSrcReload = initialLoad ||
2900
- pageViewContext.fullscreen ||
2901
- iframeOriginChanged ||
2902
- fullReloadRequested;
2903
3088
  const signatureUrl = new URL(renderUrl.toString());
2904
3089
  signatureUrl.searchParams.delete("edit_rev");
2905
3090
  const renderSignature = `${signatureUrl.toString()}|rev:${editContext.revision}`;
2906
- const modeChanged = lastRenderModeRef.current !== editContext.mode;
3091
+ const previousRenderMode = lastRenderModeRef.current;
3092
+ const modeChanged = previousRenderMode !== editContext.mode;
3093
+ const previewRenderBoundaryChanged = crossesPreviewRenderBoundary(previousRenderMode, editContext.mode);
2907
3094
  lastRenderModeRef.current = editContext.mode;
3095
+ const shouldUseIframeSrcReload = initialLoad ||
3096
+ iframeOriginChanged ||
3097
+ fullReloadRequested ||
3098
+ previewRenderBoundaryChanged;
2908
3099
  // Only skip when a live bridge confirms the last refresh actually reached
2909
3100
  // the host, or when the only meaningful trigger is an edit/suggestions
2910
3101
  // mode change. Mode is delivered by setEditorMode and cannot change the
@@ -3358,6 +3549,10 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
3358
3549
  }
3359
3550
  }, children: [_jsx("iframe", { ref: bindIframeRef, className: "page-iframe h-full w-full bg-white transition-[height] duration-300 ease-in-out motion-reduce:transition-none", style: {
3360
3551
  height: deviceHeight,
3552
+ // The iframe element exists before its document has loaded. Keep
3553
+ // that blank document out of both the UI and accessibility tree;
3554
+ // consumers can treat a visible canvas as a rendered canvas.
3555
+ visibility: loadedIframeSrc ? "visible" : "hidden",
3361
3556
  cursor: showSuggestionsCursor
3362
3557
  ? SUGGESTIONS_CURSOR_VALUE
3363
3558
  : undefined,
@@ -3375,7 +3570,7 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
3375
3570
  parentBridgeInjectionRef.current.attempt;
3376
3571
  }
3377
3572
  const loadedSrc = iframe?.src;
3378
- if (loadedSrc) {
3573
+ if (iframeSrc && loadedSrc) {
3379
3574
  setLoadedIframeSrc(loadedSrc);
3380
3575
  }
3381
3576
  const sendZoomToBridge = () => {