@parhelia/core 0.3.12815 → 0.3.12818

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 (116) hide show
  1. package/dist/agents-view/AgentsView.js +10 -11
  2. package/dist/agents-view/AgentsView.js.map +1 -1
  3. package/dist/components/ui/LanguageSelector.js +12 -1
  4. package/dist/components/ui/LanguageSelector.js.map +1 -1
  5. package/dist/config/config.js +11 -1
  6. package/dist/config/config.js.map +1 -1
  7. package/dist/editor/ContentTree.d.ts +1 -1
  8. package/dist/editor/ContentTree.js +31 -4
  9. package/dist/editor/ContentTree.js.map +1 -1
  10. package/dist/editor/FieldListFieldWithFallbacks.js +1 -1
  11. package/dist/editor/FieldListFieldWithFallbacks.js.map +1 -1
  12. package/dist/editor/LinkEditorDialog.js +1 -5
  13. package/dist/editor/LinkEditorDialog.js.map +1 -1
  14. package/dist/editor/ai/terminal/useAgentStopCommand.js +16 -14
  15. package/dist/editor/ai/terminal/useAgentStopCommand.js.map +1 -1
  16. package/dist/editor/ai-image-editor/AiImageEditorDialog.js +57 -39
  17. package/dist/editor/ai-image-editor/AiImageEditorDialog.js.map +1 -1
  18. package/dist/editor/client/EditorShell.js +1 -0
  19. package/dist/editor/client/EditorShell.js.map +1 -1
  20. package/dist/editor/client/editContext.d.ts +6 -0
  21. package/dist/editor/client/editContext.js.map +1 -1
  22. package/dist/editor/client/itemsRepository.d.ts +2 -0
  23. package/dist/editor/client/itemsRepository.js +64 -0
  24. package/dist/editor/client/itemsRepository.js.map +1 -1
  25. package/dist/editor/client/operations.js +60 -8
  26. package/dist/editor/client/operations.js.map +1 -1
  27. package/dist/editor/commands/deleteVersionCommand.js +1 -0
  28. package/dist/editor/commands/deleteVersionCommand.js.map +1 -1
  29. package/dist/editor/field-types/richtext/components/ReactSlate.js +48 -3
  30. package/dist/editor/field-types/richtext/components/ReactSlate.js.map +1 -1
  31. package/dist/editor/media-selector/Thumbnails.js +23 -10
  32. package/dist/editor/media-selector/Thumbnails.js.map +1 -1
  33. package/dist/editor/media-selector/TreeSelector.js +39 -20
  34. package/dist/editor/media-selector/TreeSelector.js.map +1 -1
  35. package/dist/editor/media-selector/mediaItemDrag.d.ts +22 -5
  36. package/dist/editor/media-selector/mediaItemDrag.js +108 -10
  37. package/dist/editor/media-selector/mediaItemDrag.js.map +1 -1
  38. package/dist/editor/menubar/PageSelector.js +2 -8
  39. package/dist/editor/menubar/PageSelector.js.map +1 -1
  40. package/dist/editor/menubar/pageSelectorHistoryFilter.d.ts +9 -0
  41. package/dist/editor/menubar/pageSelectorHistoryFilter.js +40 -6
  42. package/dist/editor/menubar/pageSelectorHistoryFilter.js.map +1 -1
  43. package/dist/editor/page-viewer/PageViewerFrame.js +17 -6
  44. package/dist/editor/page-viewer/PageViewerFrame.js.map +1 -1
  45. package/dist/editor/page-viewer/internalLinkNavigation.d.ts +2 -0
  46. package/dist/editor/page-viewer/internalLinkNavigation.js +10 -0
  47. package/dist/editor/page-viewer/internalLinkNavigation.js.map +1 -1
  48. package/dist/editor/reviews/ReviewersPanel.js +1 -1
  49. package/dist/editor/reviews/ReviewersPanel.js.map +1 -1
  50. package/dist/editor/services/aiService.d.ts +20 -0
  51. package/dist/editor/services/aiService.js +12 -0
  52. package/dist/editor/services/aiService.js.map +1 -1
  53. package/dist/editor/settings/UsageLeaderboard.d.ts +2 -0
  54. package/dist/editor/settings/UsageLeaderboard.js +108 -0
  55. package/dist/editor/settings/UsageLeaderboard.js.map +1 -0
  56. package/dist/editor/settings/panels/ProjectTemplatesPanel.js +45 -1
  57. package/dist/editor/settings/panels/ProjectTemplatesPanel.js.map +1 -1
  58. package/dist/editor/setup-wizard/steps/CompleteStep.js +2 -2
  59. package/dist/editor/setup-wizard/steps/CompleteStep.js.map +1 -1
  60. package/dist/editor/setup-wizard/steps/ModelSelectionStep.d.ts +1 -1
  61. package/dist/editor/setup-wizard/steps/ModelSelectionStep.js +6 -6
  62. package/dist/editor/setup-wizard/steps/ModelSelectionStep.js.map +1 -1
  63. package/dist/editor/setup-wizard/steps/ProviderStep.js +7 -7
  64. package/dist/editor/setup-wizard/steps/ProviderStep.js.map +1 -1
  65. package/dist/editor/sidebar/ComponentPalette.js +15 -11
  66. package/dist/editor/sidebar/ComponentPalette.js.map +1 -1
  67. package/dist/editor/template-wizard/TemplateBuilderDialog.js +6 -2
  68. package/dist/editor/template-wizard/TemplateBuilderDialog.js.map +1 -1
  69. package/dist/editor/template-wizard/TemplateStructureInlineEditor.js +6 -6
  70. package/dist/editor/template-wizard/TemplateStructureInlineEditor.js.map +1 -1
  71. package/dist/editor/ui/ItemSearch.d.ts +1 -1
  72. package/dist/editor/ui/ItemSearch.js +4 -0
  73. package/dist/editor/ui/ItemSearch.js.map +1 -1
  74. package/dist/editor/ui/PerfectTree.d.ts +3 -1
  75. package/dist/editor/ui/PerfectTree.js +8 -7
  76. package/dist/editor/ui/PerfectTree.js.map +1 -1
  77. package/dist/licensing/LicenseContext.js +14 -7
  78. package/dist/licensing/LicenseContext.js.map +1 -1
  79. package/dist/revision.d.ts +2 -2
  80. package/dist/revision.js +2 -2
  81. package/dist/task-board/TaskBoardWorkspace.js +186 -7
  82. package/dist/task-board/TaskBoardWorkspace.js.map +1 -1
  83. package/dist/task-board/components/CreateTaskDialog.d.ts +2 -0
  84. package/dist/task-board/components/CreateTaskDialog.js +6 -3
  85. package/dist/task-board/components/CreateTaskDialog.js.map +1 -1
  86. package/dist/task-board/components/GoalCoverageBar.d.ts +4 -0
  87. package/dist/task-board/components/GoalCoverageBar.js +22 -0
  88. package/dist/task-board/components/GoalCoverageBar.js.map +1 -0
  89. package/dist/task-board/components/GoalDataView.d.ts +39 -0
  90. package/dist/task-board/components/GoalDataView.js +385 -0
  91. package/dist/task-board/components/GoalDataView.js.map +1 -0
  92. package/dist/task-board/components/GoalsMatrix.d.ts +16 -0
  93. package/dist/task-board/components/GoalsMatrix.js +129 -0
  94. package/dist/task-board/components/GoalsMatrix.js.map +1 -0
  95. package/dist/task-board/components/ProjectDashboard.d.ts +1 -1
  96. package/dist/task-board/components/ProjectGoalsPanel.d.ts +16 -0
  97. package/dist/task-board/components/ProjectGoalsPanel.js +74 -113
  98. package/dist/task-board/components/ProjectGoalsPanel.js.map +1 -1
  99. package/dist/task-board/components/SubgoalStatusIcon.d.ts +4 -0
  100. package/dist/task-board/components/SubgoalStatusIcon.js +19 -0
  101. package/dist/task-board/components/SubgoalStatusIcon.js.map +1 -0
  102. package/dist/task-board/components/goalDisplaySpec.d.ts +19 -0
  103. package/dist/task-board/components/goalDisplaySpec.js +72 -0
  104. package/dist/task-board/components/goalDisplaySpec.js.map +1 -0
  105. package/dist/task-board/goalRefreshState.d.ts +6 -0
  106. package/dist/task-board/goalRefreshState.js +11 -0
  107. package/dist/task-board/goalRefreshState.js.map +1 -0
  108. package/dist/task-board/goalTaskNavigationState.d.ts +43 -0
  109. package/dist/task-board/goalTaskNavigationState.js +65 -0
  110. package/dist/task-board/goalTaskNavigationState.js.map +1 -0
  111. package/dist/task-board/types.d.ts +7 -0
  112. package/dist/task-board/views/DependencyGraphView.d.ts +42 -4
  113. package/dist/task-board/views/DependencyGraphView.js +467 -95
  114. package/dist/task-board/views/DependencyGraphView.js.map +1 -1
  115. package/dist/types.d.ts +2 -0
  116. package/package.json +1 -1
@@ -1,11 +1,13 @@
1
1
  import { setContentTreeItemDragImage, setMultiDragImage, } from "../ui/DragPreview";
2
2
  /**
3
- * Payload marker so a media drag can be told apart from a file drag. The real
4
- * payload travels through `editContext.dragObject` (same as the content tree);
5
- * the data transfer entry only exists because Firefox refuses to start a drag
6
- * without one.
3
+ * Payload marker so a media drag can be told apart from a file drag. The
4
+ * application mirrors the descriptor in DataTransfer as well as React state:
5
+ * native drag/drop can outlive or outrun the render that carries dragObject.
7
6
  */
8
7
  export const MEDIA_ITEM_DRAG_MIME = "application/x-parhelia-media-items";
8
+ const POINTER_DRAG_THRESHOLD_PX = 6;
9
+ let pendingPointerDrag;
10
+ let pointerDragCleanup;
9
11
  export function toMediaItemDescriptor(item, fallbackLanguage) {
10
12
  return {
11
13
  id: item.id,
@@ -14,6 +16,68 @@ export function toMediaItemDescriptor(item, fallbackLanguage) {
14
16
  name: item.name,
15
17
  };
16
18
  }
19
+ function createMediaItemDragObject(items, language) {
20
+ if (items.length === 0)
21
+ return undefined;
22
+ return {
23
+ type: "items",
24
+ typeId: items[0]?.templateId ?? "",
25
+ items: items.map((item) => toMediaItemDescriptor(item, language)),
26
+ };
27
+ }
28
+ /**
29
+ * Arms a pointer-based fallback before the browser decides whether to begin a
30
+ * native HTML drag. Native drag is still the primary path. If the browser
31
+ * never emits dragstart (seen with loaded Chromium processes, touch, and pen),
32
+ * ContentTree can consume this gesture on pointerup and perform the same move.
33
+ */
34
+ export function beginMediaItemPointerDrag({ event, items, language, }) {
35
+ if (event.button !== 0 || event.isPrimary === false)
36
+ return;
37
+ cancelMediaItemPointerDrag();
38
+ const dragObject = createMediaItemDragObject(items, language);
39
+ if (!dragObject || typeof window === "undefined")
40
+ return;
41
+ pendingPointerDrag = {
42
+ pointerId: event.pointerId,
43
+ startX: event.clientX,
44
+ startY: event.clientY,
45
+ dragObject,
46
+ };
47
+ const clearAfterPointerUp = (pointerEvent) => {
48
+ if (pointerEvent.pointerId !== pendingPointerDrag?.pointerId)
49
+ return;
50
+ // React handles the tree's pointerup while the event bubbles. Clear on the
51
+ // next task so ContentTree gets the first chance to consume the gesture.
52
+ window.setTimeout(() => cancelMediaItemPointerDrag(), 0);
53
+ };
54
+ const clearOnPointerCancel = (pointerEvent) => {
55
+ if (pointerEvent.pointerId === pendingPointerDrag?.pointerId) {
56
+ cancelMediaItemPointerDrag();
57
+ }
58
+ };
59
+ window.addEventListener("pointerup", clearAfterPointerUp);
60
+ window.addEventListener("pointercancel", clearOnPointerCancel);
61
+ pointerDragCleanup = () => {
62
+ window.removeEventListener("pointerup", clearAfterPointerUp);
63
+ window.removeEventListener("pointercancel", clearOnPointerCancel);
64
+ };
65
+ }
66
+ export function cancelMediaItemPointerDrag() {
67
+ pointerDragCleanup?.();
68
+ pointerDragCleanup = undefined;
69
+ pendingPointerDrag = undefined;
70
+ }
71
+ export function consumeMediaItemPointerDrag(event) {
72
+ const pending = pendingPointerDrag;
73
+ if (!pending || pending.pointerId !== event.pointerId)
74
+ return undefined;
75
+ const distance = Math.hypot(event.clientX - pending.startX, event.clientY - pending.startY);
76
+ if (distance < POINTER_DRAG_THRESHOLD_PX)
77
+ return undefined;
78
+ cancelMediaItemPointerDrag();
79
+ return pending.dragObject;
80
+ }
17
81
  /**
18
82
  * Starts dragging media items out of a thumbnail grid. Mirrors the content
19
83
  * tree's drag start so the tree's existing drop zones light up and can move the
@@ -22,9 +86,15 @@ export function toMediaItemDescriptor(item, fallbackLanguage) {
22
86
  export function startMediaItemDrag({ event, editContext, items, language, }) {
23
87
  if (!editContext || items.length === 0)
24
88
  return;
89
+ // Once native dragstart fires it owns the gesture; disarm the pointer
90
+ // fallback so a later pointerup cannot execute the move twice.
91
+ cancelMediaItemPointerDrag();
92
+ const dragObject = createMediaItemDragObject(items, language);
93
+ if (!dragObject)
94
+ return;
25
95
  try {
26
96
  event.dataTransfer.effectAllowed = "move";
27
- event.dataTransfer.setData(MEDIA_ITEM_DRAG_MIME, items.map((item) => item.id).join(","));
97
+ event.dataTransfer.setData(MEDIA_ITEM_DRAG_MIME, JSON.stringify(dragObject));
28
98
  }
29
99
  catch { }
30
100
  if (items.length > 1) {
@@ -33,10 +103,38 @@ export function startMediaItemDrag({ event, editContext, items, language, }) {
33
103
  else {
34
104
  setContentTreeItemDragImage(event, items[0].name);
35
105
  }
36
- editContext.dragStart({
37
- type: "items",
38
- typeId: items[0]?.templateId ?? "",
39
- items: items.map((item) => toMediaItemDescriptor(item, language)),
40
- });
106
+ editContext.dragStart(dragObject);
107
+ }
108
+ /**
109
+ * Recovers a media item drag from the browser-owned payload when the React
110
+ * drag state has not committed yet or was cleared by an intervening render.
111
+ */
112
+ export function readMediaItemDrag(dataTransfer) {
113
+ if (!dataTransfer)
114
+ return undefined;
115
+ try {
116
+ const raw = dataTransfer.getData(MEDIA_ITEM_DRAG_MIME);
117
+ if (!raw)
118
+ return undefined;
119
+ const parsed = JSON.parse(raw);
120
+ if (parsed.type !== "items" || !Array.isArray(parsed.items)) {
121
+ return undefined;
122
+ }
123
+ const items = parsed.items.filter((item) => !!item &&
124
+ typeof item.id === "string" &&
125
+ item.id.trim().length > 0 &&
126
+ typeof item.language === "string" &&
127
+ Number.isFinite(item.version));
128
+ if (items.length === 0)
129
+ return undefined;
130
+ return {
131
+ type: "items",
132
+ typeId: typeof parsed.typeId === "string" ? parsed.typeId : "",
133
+ items,
134
+ };
135
+ }
136
+ catch {
137
+ return undefined;
138
+ }
41
139
  }
42
140
  //# sourceMappingURL=mediaItemDrag.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mediaItemDrag.js","sourceRoot":"","sources":["../../../src/editor/media-selector/mediaItemDrag.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,2BAA2B,EAC3B,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAE3B;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,oCAAoC,CAAC;AAIzE,MAAM,UAAU,qBAAqB,CACnC,IAAsB,EACtB,gBAAwB;IAExB,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,gBAAgB;QAC3C,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,CAAC;QAC1B,IAAI,EAAE,IAAI,CAAC,IAAI;KAChB,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,EACjC,KAAK,EACL,WAAW,EACX,KAAK,EACL,QAAQ,GAMT;IACC,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAE/C,IAAI,CAAC;QACH,KAAK,CAAC,YAAY,CAAC,aAAa,GAAG,MAAM,CAAC;QAC1C,KAAK,CAAC,YAAY,CAAC,OAAO,CACxB,oBAAoB,EACpB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CACvC,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IAEV,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACxD,CAAC;SAAM,CAAC;QACN,2BAA2B,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC;IAED,WAAW,CAAC,SAAS,CAAC;QACpB,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,UAAU,IAAI,EAAE;QAClC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,qBAAqB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;KAClE,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"mediaItemDrag.js","sourceRoot":"","sources":["../../../src/editor/media-selector/mediaItemDrag.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@ import { GUID_REGEX_EXACT } from "../utils";
15
15
  import { Popover, PopoverContent, PopoverTrigger, } from "../../components/ui/popover";
16
16
  import { Button } from "../../components/ui/button";
17
17
  import { NewPageDialog } from "../../splash-screen/DialogWrappers";
18
- import { filterPageSelectorHistory } from "./pageSelectorHistoryFilter";
18
+ import { filterPageSelectorHistory, normalizePageSelectorHistory, } from "./pageSelectorHistoryFilter";
19
19
  import { getFullscreenPagePathPrefix } from "../page-viewer/fullscreenPagePath";
20
20
  const CONTENT_ROOT_ITEM_ID = "0DE95AE4-41AB-4D01-9EB0-67441B7C2450";
21
21
  const MEDIA_LIBRARY_ROOT_ITEM_ID = "3D6658D8-A0BF-4E75-B3E2-D050FABCF4E1";
@@ -127,13 +127,7 @@ export function PageSelector({ itemDescriptor, variant = "default", }) {
127
127
  setSearchResults([]);
128
128
  if (showHistory) {
129
129
  // Show complete history when query is empty in history mode
130
- // Sort by visitedAt DESC (most recent first)
131
- const historyToSet = [...(editContext?.browseHistory || [])].sort((a, b) => {
132
- const dateA = a.visitedAt ? new Date(a.visitedAt).getTime() : 0;
133
- const dateB = b.visitedAt ? new Date(b.visitedAt).getTime() : 0;
134
- return dateB - dateA; // DESC order (most recent first)
135
- });
136
- setHistoryResults(historyToSet);
130
+ setHistoryResults(normalizePageSelectorHistory(editContext?.browseHistory || []));
137
131
  }
138
132
  else {
139
133
  setHistoryResults([]);
@@ -1 +1 @@
1
- {"version":3,"file":"PageSelector.js","sourceRoot":"","sources":["../../../src/editor/menubar/PageSelector.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PageSelector.js","sourceRoot":"","sources":["../../../src/editor/menubar/PageSelector.tsx"],"names":[],"mappings":"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"}
@@ -1,2 +1,11 @@
1
1
  import type { ResultItem } from "../ui/ItemSearch";
2
+ /**
3
+ * Normalize persisted history before it reaches the selector UI.
4
+ *
5
+ * Older rows may have null names/paths when the visited item could not be
6
+ * resolved, and concurrent visit records from older installations may contain
7
+ * duplicate item identities. Neither condition should crash or duplicate the
8
+ * recent-pages list.
9
+ */
10
+ export declare function normalizePageSelectorHistory(history: ResultItem[]): ResultItem[];
2
11
  export declare function filterPageSelectorHistory(query: string, history: ResultItem[], limit?: number): ResultItem[];
@@ -1,15 +1,49 @@
1
+ function historyTimestamp(item) {
2
+ if (!item.visitedAt)
3
+ return 0;
4
+ const timestamp = new Date(item.visitedAt).getTime();
5
+ return Number.isFinite(timestamp) ? timestamp : 0;
6
+ }
7
+ /**
8
+ * Normalize persisted history before it reaches the selector UI.
9
+ *
10
+ * Older rows may have null names/paths when the visited item could not be
11
+ * resolved, and concurrent visit records from older installations may contain
12
+ * duplicate item identities. Neither condition should crash or duplicate the
13
+ * recent-pages list.
14
+ */
15
+ export function normalizePageSelectorHistory(history) {
16
+ const seen = new Set();
17
+ return [...history]
18
+ .sort((a, b) => historyTimestamp(b) - historyTimestamp(a))
19
+ .flatMap((item) => {
20
+ if (!item?.id || !item.language)
21
+ return [];
22
+ const identity = `${item.id}:${item.language}`;
23
+ if (seen.has(identity))
24
+ return [];
25
+ seen.add(identity);
26
+ const persistedName = typeof item.name === "string" ? item.name.trim() : "";
27
+ const persistedPath = typeof item.path === "string" ? item.path.trim() : "";
28
+ const name = persistedName ||
29
+ persistedPath.split("/").filter(Boolean).at(-1) ||
30
+ item.id;
31
+ return [
32
+ {
33
+ ...item,
34
+ name,
35
+ path: persistedPath || persistedName || item.id,
36
+ },
37
+ ];
38
+ });
39
+ }
1
40
  export function filterPageSelectorHistory(query, history, limit = 6) {
2
41
  const normalizedQuery = query.trim().toLowerCase();
3
42
  if (!normalizedQuery)
4
43
  return [];
5
- return history
44
+ return normalizePageSelectorHistory(history)
6
45
  .filter((item) => item.name.toLowerCase().includes(normalizedQuery) ||
7
46
  item.path.toLowerCase().includes(normalizedQuery))
8
- .sort((a, b) => {
9
- const dateA = a.visitedAt ? new Date(a.visitedAt).getTime() : 0;
10
- const dateB = b.visitedAt ? new Date(b.visitedAt).getTime() : 0;
11
- return dateB - dateA;
12
- })
13
47
  .slice(0, limit);
14
48
  }
15
49
  //# sourceMappingURL=pageSelectorHistoryFilter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pageSelectorHistoryFilter.js","sourceRoot":"","sources":["../../../src/editor/menubar/pageSelectorHistoryFilter.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,yBAAyB,CACvC,KAAa,EACb,OAAqB,EACrB,KAAK,GAAG,CAAC;IAET,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACnD,IAAI,CAAC,eAAe;QAAE,OAAO,EAAE,CAAC;IAEhC,OAAO,OAAO;SACX,MAAM,CACL,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;QACjD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,CACpD;SACA,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACb,MAAM,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAChE,MAAM,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAChE,OAAO,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC,CAAC;SACD,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"pageSelectorHistoryFilter.js","sourceRoot":"","sources":["../../../src/editor/menubar/pageSelectorHistoryFilter.ts"],"names":[],"mappings":"AAEA,SAAS,gBAAgB,CAAC,IAAgB;IACxC,IAAI,CAAC,IAAI,CAAC,SAAS;QAAE,OAAO,CAAC,CAAC;IAC9B,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;IACrD,OAAO,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,4BAA4B,CAC1C,OAAqB;IAErB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAE/B,OAAO,CAAC,GAAG,OAAO,CAAC;SAChB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;SACzD,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAChB,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO,EAAE,CAAC;QAE3C,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC/C,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,OAAO,EAAE,CAAC;QAClC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEnB,MAAM,aAAa,GACjB,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,MAAM,aAAa,GACjB,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,MAAM,IAAI,GACR,aAAa;YACb,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/C,IAAI,CAAC,EAAE,CAAC;QAEV,OAAO;YACL;gBACE,GAAG,IAAI;gBACP,IAAI;gBACJ,IAAI,EAAE,aAAa,IAAI,aAAa,IAAI,IAAI,CAAC,EAAE;aAChD;SACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACP,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,KAAa,EACb,OAAqB,EACrB,KAAK,GAAG,CAAC;IAET,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACnD,IAAI,CAAC,eAAe;QAAE,OAAO,EAAE,CAAC;IAEhC,OAAO,4BAA4B,CAAC,OAAO,CAAC;SACzC,MAAM,CACL,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;QACjD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,CACpD;SACA,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AACrB,CAAC"}
@@ -44,7 +44,7 @@ import { formatParentBridgeInjectionDiagnostic, injectParheliaBridgeFromParent,
44
44
  import { projectParentPointerToHost, resolveParentBridgePointerRelease, } from "./bridgePointerDragRelease";
45
45
  import { getTextCompletion, normalizeTextCompletion, } from "../services/textCompletionService";
46
46
  import { resolvePageAndSiteByPath } from "../services/contentService";
47
- import { extractInternalLinkPath, extractInternalLinkTargetItemId, shouldOpenInternalLinkInNewSlot, } from "./internalLinkNavigation";
47
+ import { areInternalLinkItemIdsEqual, extractInternalLinkPath, extractInternalLinkTargetItemId, isSamePageFragmentHref, shouldOpenInternalLinkInNewSlot, } from "./internalLinkNavigation";
48
48
  const ZOOM_MIN = 0.25;
49
49
  const ZOOM_MAX = 2;
50
50
  const ZOOM_STEP = 0.25;
@@ -1833,6 +1833,12 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
1833
1833
  const sourceItem = pageViewContextRef.current?.page?.item ??
1834
1834
  pageViewContextRef.current?.pageItemDescriptor ??
1835
1835
  interaction.item;
1836
+ if (!targetItemId &&
1837
+ canvasLinkHash &&
1838
+ sourceItem?.id &&
1839
+ isSamePageFragmentHref(interaction.link.href)) {
1840
+ targetItemId = sourceItem.id;
1841
+ }
1836
1842
  if (!targetItemId && sourceItem) {
1837
1843
  const linkPath = extractInternalLinkPath(interaction.link.href, window.location.href);
1838
1844
  if (linkPath) {
@@ -1849,7 +1855,7 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
1849
1855
  // would lose scroll state and flash the page).
1850
1856
  if (canvasLinkHash &&
1851
1857
  sourceItem?.id &&
1852
- targetItemId.toLowerCase() === sourceItem.id.toLowerCase()) {
1858
+ areInternalLinkItemIdsEqual(targetItemId, sourceItem.id)) {
1853
1859
  bridgeClientRef.current?.sendCommand("scrollIntoView", {
1854
1860
  anchorId: canvasLinkHash,
1855
1861
  block: "start",
@@ -3103,6 +3109,11 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
3103
3109
  const newVersion = getUrlVersionPin(renderUrl);
3104
3110
  const versionChanged = (currentVersion !== null || newVersion !== null) &&
3105
3111
  currentVersion !== newVersion;
3112
+ // A different item id means a different page: it must open at the top,
3113
+ // never at the previous page's scroll offset. Language/version switches of
3114
+ // the same item keep the offset (side-by-side translation/version review).
3115
+ const pageChanged = currentItemDescriptor !== undefined &&
3116
+ currentItemDescriptor.id !== pageItemDescriptor.id;
3106
3117
  const initialLoad = currentItemDescriptor?.id !== pageItemDescriptor.id ||
3107
3118
  currentItemDescriptor?.language !== pageItemDescriptor.language ||
3108
3119
  currentItemDescriptor?.version !== pageItemDescriptor.version;
@@ -3139,10 +3150,10 @@ function PageViewerFrameContent({ compareView, pageViewContext, editContext, cla
3139
3150
  function runFallbackRefresh() {
3140
3151
  lastRenderSignatureRef.current = renderSignature;
3141
3152
  pageViewContext.setIframeSupportsRefresh(false);
3142
- if (pendingCanvasAnchorRef.current) {
3143
- // An anchor navigation decides the landing position restoring the
3144
- // previous page's scroll on ready would yank the canvas off the
3145
- // linked section.
3153
+ if (pageChanged || pendingCanvasAnchorRef.current) {
3154
+ // A newly selected page lands at the top; an anchor navigation decides
3155
+ // its own landing position. Restoring the previous page's scroll on
3156
+ // ready would yank the canvas off that spot.
3146
3157
  pendingRefreshScrollRef.current = undefined;
3147
3158
  }
3148
3159
  else if (!pendingRefreshScrollRef.current) {