@alpaca-editor/core 1.0.4107 → 1.0.4108

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.
@@ -23,7 +23,7 @@ const isTemplateChange = async (change) => {
23
23
  return false;
24
24
  }
25
25
  };
26
- export function useItemsRepository(setModifiedFields, addRecentEdit) {
26
+ export function useItemsRepository(addRecentEdit) {
27
27
  const itemsMap = useRef(new Map());
28
28
  const stubsMap = useRef(new Map());
29
29
  const fallbackDependencyMap = useRef(new Map());
@@ -254,40 +254,20 @@ export function useItemsRepository(setModifiedFields, addRecentEdit) {
254
254
  itemsMap.current.set(generateKey(field.item), updatedItem);
255
255
  const val = rawValue !== undefined ? rawValue : value;
256
256
  const currentSaveSequence = ++saveSequenceCounter.current;
257
- setModifiedFields((prevModifiedFields) => {
258
- const modifiedField = prevModifiedFields.find((x) => x.fieldId === field.fieldId &&
259
- x.item.id === field.item.id &&
260
- x.item.language === field.item.language &&
261
- x.item.version === field.item.version);
262
- let newModifiedFields;
263
- let updatedField;
264
- if (!modifiedField) {
265
- updatedField = {
266
- ...field,
267
- value: val,
268
- isDirty: isDirty,
269
- modifiedBy: user,
270
- timestamp: Date.now(),
271
- saveSequence: currentSaveSequence,
272
- };
273
- newModifiedFields = [...prevModifiedFields, updatedField];
274
- }
275
- else {
276
- modifiedField.isDirty = isDirty;
277
- modifiedField.value = val;
278
- modifiedField.modifiedBy = user;
279
- modifiedField.timestamp = Date.now();
280
- modifiedField.saveSequence = currentSaveSequence;
281
- updatedField = { ...modifiedField }; // Create new object to ensure change detection
282
- newModifiedFields = [...prevModifiedFields];
283
- }
284
- // Update the field-specific store for optimized subscriptions
285
- fieldModificationStore.updateField(updatedField);
286
- return newModifiedFields;
287
- });
257
+ // Update the field-specific store as the single source of truth
258
+ const prevField = fieldModificationStore.getField(field.fieldId, field.item.id, field.item.language, field.item.version);
259
+ const updatedField = {
260
+ ...field,
261
+ value: val,
262
+ isDirty: isDirty,
263
+ modifiedBy: user,
264
+ timestamp: Date.now(),
265
+ saveSequence: currentSaveSequence,
266
+ };
267
+ fieldModificationStore.updateField(updatedField);
288
268
  addRecentEdit({ ...field, timestamp: Date.now(), user });
289
269
  return currentSaveSequence;
290
- }, [getItem, setModifiedFields, addRecentEdit]);
270
+ }, [getItem, addRecentEdit]);
291
271
  const refreshItems = useCallback(async (items, changes) => {
292
272
  // If only children changed and no properties changed, avoid fetching items.
293
273
  // Still notify listeners so UIs like ContentTree can reload children lists.
@@ -338,7 +318,6 @@ export function useItemsRepository(setModifiedFields, addRecentEdit) {
338
318
  const serverValue = getFieldValue(modifiedField.item, modifiedField.fieldId);
339
319
  // Avoid clobbering in-flight edits: only sync to server value if not dirty
340
320
  if (isOutdated(modifiedField) && !modifiedField.isDirty) {
341
- console.log("Syncing to server value", modifiedField.fieldId, modifiedField.item.id, modifiedField.item.language, modifiedField.item.version, serverValue);
342
321
  return { ...modifiedField, value: serverValue };
343
322
  }
344
323
  // If the server value matches our modified value, the field is effectively saved.
@@ -363,12 +342,10 @@ export function useItemsRepository(setModifiedFields, addRecentEdit) {
363
342
  return true;
364
343
  return field.rawValue !== x.value;
365
344
  };
366
- setModifiedFields((prevFields) => {
367
- const newFields = updateModifiedFields(prevFields);
368
- // Update the field-specific store with the new fields
369
- fieldModificationStore.updateFields(newFields);
370
- return newFields;
371
- });
345
+ // Derive and write new fields solely to the store
346
+ const prevFields = fieldModificationStore.getAllFields();
347
+ const newFields = updateModifiedFields(prevFields);
348
+ fieldModificationStore.updateFields(newFields);
372
349
  setRevision((prev) => prev + 1);
373
350
  }
374
351
  triggerItemsChangedEvent(items.map((x) => ({
@@ -376,34 +353,24 @@ export function useItemsRepository(setModifiedFields, addRecentEdit) {
376
353
  action: "update",
377
354
  changes: changes ?? {},
378
355
  })));
379
- }, [setRevision, fetchItemsFromServer, setModifiedFields]);
356
+ }, [setRevision, fetchItemsFromServer]);
380
357
  const onFieldSaved = useCallback((field, value, saveSequence) => {
381
- setModifiedFields((prevModifiedFields) => {
382
- const modifiedField = prevModifiedFields.find((x) => x.fieldId === field.fieldId &&
383
- x.item.id === field.item.id &&
384
- x.item.language === field.item.language &&
385
- x.item.version === field.item.version);
386
- if (modifiedField) {
387
- // If the field is already clean (isDirty: false), the save was successful
388
- // so we should update the UI state even if save sequences don't match exactly
389
- if (!modifiedField.isDirty) {
390
- // Create new object to ensure change detection works
391
- const savedField = { ...modifiedField };
392
- fieldModificationStore.updateField(savedField);
393
- }
394
- // Otherwise, check save sequence for validation
395
- else if (modifiedField.saveSequence === saveSequence ||
396
- (modifiedField.value === value &&
397
- modifiedField.saveSequence <= saveSequence)) {
398
- modifiedField.isDirty = false;
399
- // Create new object to ensure change detection works
400
- const savedField = { ...modifiedField };
401
- fieldModificationStore.updateField(savedField);
402
- }
403
- return [...prevModifiedFields];
358
+ const modifiedField = fieldModificationStore.getField(field.fieldId, field.item.id, field.item.language, field.item.version);
359
+ if (modifiedField) {
360
+ // If the field is already clean (isDirty: false), the save was successful
361
+ // so we should update the UI state even if save sequences don't match exactly
362
+ if (!modifiedField.isDirty) {
363
+ const savedField = { ...modifiedField };
364
+ fieldModificationStore.updateField(savedField);
404
365
  }
405
- return prevModifiedFields;
406
- });
366
+ // Otherwise, check save sequence for validation
367
+ else if (modifiedField.saveSequence === saveSequence ||
368
+ (modifiedField.value === value &&
369
+ modifiedField.saveSequence <= saveSequence)) {
370
+ const savedField = { ...modifiedField, isDirty: false };
371
+ fieldModificationStore.updateField(savedField);
372
+ }
373
+ }
407
374
  const dependencies = fallbackDependencyMap.current.get(getItemIdLanguageKey(field.item));
408
375
  if (dependencies) {
409
376
  refreshItems(dependencies);
@@ -415,7 +382,7 @@ export function useItemsRepository(setModifiedFields, addRecentEdit) {
415
382
  changes: { fields: [field.fieldId] },
416
383
  },
417
384
  ]);
418
- }, [setModifiedFields, refreshItems]);
385
+ }, [refreshItems]);
419
386
  const onItemsDeleted = useCallback((items) => {
420
387
  items.forEach((item) => {
421
388
  const key = generateKey(item.item);
@@ -1 +1 @@
1
- {"version":3,"file":"itemsRepository.js","sourceRoot":"","sources":["../../../src/editor/client/itemsRepository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"itemsRepository.js","sourceRoot":"","sources":["../../../src/editor/client/itemsRepository.ts"],"names":[],"mappings":"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"}
@@ -4,11 +4,13 @@ import { useEditContext } from "../client/editContext";
4
4
  import { getLatestComments } from "../services/reviewsService";
5
5
  import { getLatestSuggestedEdits } from "../services/suggestedEditsService";
6
6
  import { Lightbulb, MessageSquare } from "lucide-react";
7
+ import { LanguageSelector } from "../../components/ui/LanguageSelector";
7
8
  export function LatestFeedback() {
8
9
  const editContext = useEditContext();
9
10
  const [items, setItems] = useState([]);
10
11
  const [isLoading, setIsLoading] = useState(false);
11
12
  const [error, setError] = useState(null);
13
+ const [selectedLanguage, setSelectedLanguage] = useState(undefined);
12
14
  // Cutoff is now computed server-side. Keep memo in case we later want client hints.
13
15
  const sinceIso = useMemo(() => null, []);
14
16
  const load = useCallback(async () => {
@@ -18,8 +20,8 @@ export function LatestFeedback() {
18
20
  try {
19
21
  const take = 50;
20
22
  const [cRes, sRes] = await Promise.all([
21
- getLatestComments(take),
22
- getLatestSuggestedEdits(take),
23
+ getLatestComments(take, selectedLanguage),
24
+ getLatestSuggestedEdits(take, selectedLanguage),
23
25
  ]);
24
26
  const comments = (cRes.data || []).map((c) => ({
25
27
  ...c,
@@ -49,13 +51,12 @@ export function LatestFeedback() {
49
51
  return () => {
50
52
  cancelled = true;
51
53
  };
52
- }, [sinceIso]);
54
+ }, [sinceIso, selectedLanguage]);
53
55
  useEffect(() => {
54
56
  let disposed;
55
57
  (async () => {
56
58
  disposed = await load();
57
59
  })();
58
- load();
59
60
  return () => {
60
61
  try {
61
62
  disposed?.();
@@ -85,6 +86,7 @@ export function LatestFeedback() {
85
86
  catch { }
86
87
  };
87
88
  }, [editContext?.addSocketMessageListener, load]);
89
+ // Items are server-side filtered by language when selected
88
90
  const onOpenItem = async (item) => {
89
91
  try {
90
92
  const mainId = item.kind === "comment" ? item.mainItemId : item.mainItemId;
@@ -129,6 +131,6 @@ export function LatestFeedback() {
129
131
  ? "font-medium text-gray-900"
130
132
  : "text-gray-500", children: seg })] }, idx))) }), user && _jsxs("span", { className: "text-gray-500", children: [" \u00B7 ", user] })] }), _jsx("div", { className: "shrink-0 text-[10px] text-gray-500", children: dateText })] }) }));
131
133
  };
132
- return (_jsxs("div", { className: "h-full overflow-auto p-2", children: [isLoading && _jsx("div", { className: "p-2 text-xs text-gray-500", children: "Loading\u2026" }), error && _jsx("div", { className: "p-2 text-xs text-red-600", children: error }), !isLoading && !error && items.length === 0 && (_jsx("div", { className: "p-2 text-xs text-gray-500", children: "No recent activity" })), _jsx("div", { className: "divide-y", children: items.map((it) => (_jsx(Row, { item: it }, `${it.kind}-${it.id}`))) })] }));
134
+ return (_jsxs("div", { className: "h-full overflow-auto p-2", children: [_jsxs("div", { className: "mb-2 flex items-center gap-2", children: [_jsx(LanguageSelector, { selectedLanguage: selectedLanguage, onLanguageSelected: (language) => setSelectedLanguage(language.languageCode), showAllLanguages: true }), selectedLanguage && (_jsx("button", { className: "text-xs text-gray-600 hover:underline", onClick: () => setSelectedLanguage(undefined), children: "Clear" }))] }), isLoading && _jsx("div", { className: "p-2 text-xs text-gray-500", children: "Loading\u2026" }), error && _jsx("div", { className: "p-2 text-xs text-red-600", children: error }), !isLoading && !error && items.length === 0 && (_jsx("div", { className: "p-2 text-xs text-gray-500", children: "No recent activity" })), _jsx("div", { className: "divide-y", children: items.map((it) => (_jsx(Row, { item: it }, `${it.kind}-${it.id}`))) })] }));
133
135
  }
134
136
  //# sourceMappingURL=LatestFeedback.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LatestFeedback.js","sourceRoot":"","sources":["../../../src/editor/control-center/LatestFeedback.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LatestFeedback.js","sourceRoot":"","sources":["../../../src/editor/control-center/LatestFeedback.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAMxE,MAAM,UAAU,cAAc;IAC5B,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAiB,EAAE,CAAC,CAAC;IACvD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IACxD,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CACtD,SAAS,CACV,CAAC;IAEF,oFAAoF;IACpF,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAEzC,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QAClC,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,QAAQ,CAAC,IAAI,CAAC,CAAC;QACf,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,EAAE,CAAC;YAChB,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBACrC,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,CAAC;gBACzC,uBAAuB,CAAC,IAAI,EAAE,gBAAgB,CAAC;aAChD,CAAC,CAAC;YAEH,MAAM,QAAQ,GAAI,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC5D,GAAI,CAAa;gBACjB,IAAI,EAAE,SAAkB;aACzB,CAAC,CAAC,CAAC;YACJ,MAAM,WAAW,GAAI,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACrE,GAAI,CAAmB;gBACvB,IAAI,EAAE,YAAqB;aAC5B,CAAC,CAAC,CAAC;YAEJ,MAAM,MAAM,GAAG,CAAC,GAAG,QAAQ,EAAE,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBACzD,MAAM,EAAE,GAAG,IAAI,IAAI,CAAE,CAAS,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;gBACvD,MAAM,EAAE,GAAG,IAAI,IAAI,CAAE,CAAS,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;gBACvD,OAAO,EAAE,GAAG,EAAE,CAAC;YACjB,CAAC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACnC,IAAI,CAAC,SAAS;gBAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QACnC,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,IAAI,CAAC,SAAS;gBAAE,QAAQ,CAAC,CAAC,EAAE,OAAO,IAAI,6BAA6B,CAAC,CAAC;QACxE,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,SAAS;gBAAE,YAAY,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,GAAG,EAAE;YACV,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAEjC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,QAAa,CAAC;QAClB,CAAC,KAAK,IAAI,EAAE;YACV,QAAQ,GAAG,MAAM,IAAI,EAAE,CAAC;QAC1B,CAAC,CAAC,EAAE,CAAC;QACL,OAAO,GAAG,EAAE;YACV,IAAI,CAAC;gBACH,QAAQ,EAAE,EAAE,CAAC;YACf,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QACZ,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC;YAC7B,iBAAiB;YACjB,iBAAiB;YACjB,wBAAwB;YACxB,wBAAwB;SACzB,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,WAAW,EAAE,wBAAwB,EAAE,CAAC,CAAC,OAAY,EAAE,EAAE;YACvE,IAAI,CAAC;gBACH,IAAI,cAAc,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC;oBACtC,KAAK,IAAI,EAAE,CAAC;gBACd,CAAC;YACH,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QACZ,CAAC,CAAC,CAAC;QACH,OAAO,GAAG,EAAE;YACV,IAAI,CAAC;gBACH,OAAO,EAAE,EAAE,CAAC;YACd,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QACZ,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,WAAW,EAAE,wBAAwB,EAAE,IAAI,CAAC,CAAC,CAAC;IAElD,2DAA2D;IAE3D,MAAM,UAAU,GAAG,KAAK,EAAE,IAAkB,EAAE,EAAE;QAC9C,IAAI,CAAC;YACH,MAAM,MAAM,GACV,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;YAC9D,MAAM,IAAI,GACR,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC;YAClE,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC;YAC1E,MAAM,WAAW,EAAE,QAAQ,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YAC1E,WAAW,EAAE,kBAAkB,CAC7B,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAE,IAAgB,CAAC,CAAC,CAAC,SAAS,CACxD,CAAC;YACF,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC5B,WAAW,EAAE,iBAAiB,CAAE,IAAgB,CAAC,MAAM,CAAC,CAAC;YAC3D,CAAC;YACD,WAAW,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;QACtC,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,CAAC,CAAC;IAEF,MAAM,GAAG,GAAG,CAAC,EAAE,IAAI,EAA0B,EAAE,EAAE;QAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC;QAC1C,MAAM,OAAO,GAAI,IAAY,CAAC,OAAO;YACnC,CAAC,CAAC,IAAI,IAAI,CAAE,IAAY,CAAC,OAAO,CAAC;YACjC,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,QAAQ,GAAG,OAAO;YACtB,CAAC,CAAC,GAAG,OAAO,CAAC,kBAAkB,EAAE,IAAI,OAAO,CAAC,kBAAkB,EAAE,EAAE;YACnE,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAE,IAAgB,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1D,MAAM,QAAQ,GAAG,SAAS;YACxB,CAAC,CAAC,OAAO,EAAE,YAAY;gBACrB,CAAC,OAAO,EAAE,YAAY,IAAI,EAAE,CAAC,CAAC,IAAI,CAChC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,KAAK,OAAO,EAAE,UAAU,CAC1C,EAAE,QAAQ;YACb,CAAC,CAAE,IAAsB,CAAC,YAAY,CAAC;QACzC,MAAM,aAAa,GAAG,SAAS;YAC7B,CAAC,CAAC,OAAO,EAAE,QAAQ;YACnB,CAAC,CAAE,IAAsB,CAAC,QAAQ,CAAC;QACrC,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;QAC7D,MAAM,IAAI,GAAI,IAAY,CAAC,iBAAiB,IAAK,IAAY,CAAC,MAAM,IAAI,EAAE,CAAC;QAC3E,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC;QAEnD,OAAO,CACL,iBACE,SAAS,EAAC,+DAA+D,EACzE,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,YAE/B,eAAK,SAAS,EAAC,iDAAiD,aAC9D,eAAK,SAAS,EAAC,kCAAkC,aAC/C,eACE,SAAS,EAAC,sEAAsE,gBACpE,KAAK,EACjB,KAAK,EAAE,KAAK,YAEX,SAAS,CAAC,CAAC,CAAC,CACX,KAAC,aAAa,IAAC,SAAS,EAAC,aAAa,EAAC,WAAW,EAAE,CAAC,GAAI,CAC1D,CAAC,CAAC,CAAC,CACF,KAAC,SAAS,IAAC,SAAS,EAAC,aAAa,EAAC,WAAW,EAAE,CAAC,GAAI,CACtD,GACI,EACP,cAAK,SAAS,EAAC,mBAAmB,YAC/B;oCACC,QAAQ;oCACR,aAAa;oCACb,SAAS;wCACP,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;iCAC1D;qCACE,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;qCAC/C,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CACtB,gBAAgB,SAAS,EAAC,UAAU,aACjC,GAAG,GAAG,CAAC,IAAI,CACV,eAAM,SAAS,EAAC,oBAAoB,kBAAY,CACjD,EACD,eACE,SAAS,EACP,GAAG,KAAK,CAAC;gDACP,CAAC,CAAC,2BAA2B;gDAC7B,CAAC,CAAC,eAAe,YAGpB,GAAG,GACC,KAZE,GAAG,CAaP,CACR,CAAC,GACA,EACL,IAAI,IAAI,gBAAM,SAAS,EAAC,eAAe,yBAAK,IAAI,IAAQ,IACrD,EACN,cAAK,SAAS,EAAC,oCAAoC,YAAE,QAAQ,GAAO,IAChE,GACC,CACV,CAAC;IACJ,CAAC,CAAC;IAEF,OAAO,CACL,eAAK,SAAS,EAAC,0BAA0B,aACvC,eAAK,SAAS,EAAC,8BAA8B,aAC3C,KAAC,gBAAgB,IACf,gBAAgB,EAAE,gBAAgB,EAClC,kBAAkB,EAAE,CAAC,QAAQ,EAAE,EAAE,CAC/B,mBAAmB,CAAC,QAAQ,CAAC,YAAY,CAAC,EAE5C,gBAAgB,EAAE,IAAI,GACtB,EACD,gBAAgB,IAAI,CACnB,iBACE,SAAS,EAAC,uCAAuC,EACjD,OAAO,EAAE,GAAG,EAAE,CAAC,mBAAmB,CAAC,SAAS,CAAC,sBAGtC,CACV,IACG,EACL,SAAS,IAAI,cAAK,SAAS,EAAC,2BAA2B,8BAAe,EACtE,KAAK,IAAI,cAAK,SAAS,EAAC,0BAA0B,YAAE,KAAK,GAAO,EAChE,CAAC,SAAS,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAC7C,cAAK,SAAS,EAAC,2BAA2B,mCAAyB,CACpE,EACD,cAAK,SAAS,EAAC,UAAU,YACtB,KAAK,CAAC,GAAG,CAAC,CAAC,EAAgB,EAAE,EAAE,CAAC,CAC/B,KAAC,GAAG,IAAsC,IAAI,EAAE,EAAE,IAAxC,GAAG,EAAE,CAAC,IAAI,IAAK,EAAU,CAAC,EAAE,EAAE,CAAc,CACvD,CAAC,GACE,IACF,CACP,CAAC;AACJ,CAAC"}
@@ -2,7 +2,7 @@ import { Comment, Review, Reviewer, CommentTag } from "../../types";
2
2
  import { ItemDescriptor } from "../pageModel";
3
3
  export declare function createOrUpdateComment(comment: Comment): Promise<import("./serviceHelper").ExecutionResult<unknown>>;
4
4
  export declare function getComments(itemId: string, language: string, version: number): Promise<import("./serviceHelper").ExecutionResult<Comment[]>>;
5
- export declare function getLatestComments(take?: number): Promise<import("./serviceHelper").ExecutionResult<Comment[]>>;
5
+ export declare function getLatestComments(take?: number, language?: string): Promise<import("./serviceHelper").ExecutionResult<Comment[]>>;
6
6
  export declare function resolveComment(comment: Comment): Promise<import("./serviceHelper").ExecutionResult<unknown>>;
7
7
  export declare function unresolveComment(comment: Comment): Promise<import("./serviceHelper").ExecutionResult<unknown>>;
8
8
  export declare function deleteComment(comment: Comment): Promise<import("./serviceHelper").ExecutionResult<unknown>>;
@@ -6,10 +6,12 @@ export function getComments(itemId, language, version) {
6
6
  return get(`/alpaca/editor/comments/index?mainItemId=${itemId}&language=${language}&version=${version}`);
7
7
  }
8
8
  // Latest comments across the system, already filtered by backend for user access.
9
- export function getLatestComments(take) {
9
+ export function getLatestComments(take, language) {
10
10
  const params = new URLSearchParams();
11
11
  if (take && take > 0)
12
12
  params.set("take", take.toString());
13
+ if (language)
14
+ params.set("language", language);
13
15
  const query = params.toString();
14
16
  return get(`/alpaca/editor/comments/latest${query ? `?${query}` : ""}`);
15
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"reviewsService.js","sourceRoot":"","sources":["../../../src/editor/services/reviewsService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reviewsService.js","sourceRoot":"","sources":["../../../src/editor/services/reviewsService.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ export declare function createOrUpdateSuggestedEdit(suggestedEdit: SuggestedEdit
7
7
  * Retrieves all suggested edits for a given main item based on its ID, language, and version.
8
8
  */
9
9
  export declare function getSuggestedEdits(mainItemId: string, mainItemLanguage: string, mainItemVersion: number): Promise<import("./serviceHelper").ExecutionResult<SuggestedEdit[]>>;
10
- export declare function getLatestSuggestedEdits(take?: number): Promise<import("./serviceHelper").ExecutionResult<SuggestedEdit[]>>;
10
+ export declare function getLatestSuggestedEdits(take?: number, language?: string): Promise<import("./serviceHelper").ExecutionResult<SuggestedEdit[]>>;
11
11
  /**
12
12
  * Retrieves a single suggested edit by its unique identifier.
13
13
  */
@@ -12,10 +12,12 @@ export function getSuggestedEdits(mainItemId, mainItemLanguage, mainItemVersion)
12
12
  return get(`/alpaca/editor/suggested-edits/index?mainItemId=${mainItemId}&mainItemLanguage=${mainItemLanguage}&mainItemVersion=${mainItemVersion}`);
13
13
  }
14
14
  // Latest suggested edits across the system, already filtered by backend for user access.
15
- export function getLatestSuggestedEdits(take) {
15
+ export function getLatestSuggestedEdits(take, language) {
16
16
  const params = new URLSearchParams();
17
17
  if (take && take > 0)
18
18
  params.set("take", take.toString());
19
+ if (language)
20
+ params.set("language", language);
19
21
  const query = params.toString();
20
22
  return get(`/alpaca/editor/suggested-edits/latest${query ? `?${query}` : ""}`);
21
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"suggestedEditsService.js","sourceRoot":"","sources":["../../../src/editor/services/suggestedEditsService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAG5C;;GAEG;AACH,MAAM,UAAU,2BAA2B,CAAC,aAA4B;IACtE,OAAO,IAAI,CAAC,oCAAoC,EAAE,aAAa,CAAC,CAAC;AACnE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,UAAkB,EAClB,gBAAwB,EACxB,eAAuB;IAEvB,OAAO,GAAG,CACR,mDAAmD,UAAU,qBAAqB,gBAAgB,oBAAoB,eAAe,EAAE,CACxI,CAAC;AACJ,CAAC;AAED,yFAAyF;AACzF,MAAM,UAAU,uBAAuB,CAAC,IAAa;IACnD,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;IACrC,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC;QAAE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC1D,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IAChC,OAAO,GAAG,CACR,wCAAwC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CACnE,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,EAAU;IAC7C,OAAO,GAAG,CAAgB,yCAAyC,EAAE,EAAE,CAAC,CAAC;AAC3E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,aAA4B;IAC9D,OAAO,IAAI,CACT,4CAA4C,aAAa,CAAC,EAAE,EAAE,EAC9D,EAAE,CACH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"suggestedEditsService.js","sourceRoot":"","sources":["../../../src/editor/services/suggestedEditsService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAG5C;;GAEG;AACH,MAAM,UAAU,2BAA2B,CAAC,aAA4B;IACtE,OAAO,IAAI,CAAC,oCAAoC,EAAE,aAAa,CAAC,CAAC;AACnE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,UAAkB,EAClB,gBAAwB,EACxB,eAAuB;IAEvB,OAAO,GAAG,CACR,mDAAmD,UAAU,qBAAqB,gBAAgB,oBAAoB,eAAe,EAAE,CACxI,CAAC;AACJ,CAAC;AAED,yFAAyF;AACzF,MAAM,UAAU,uBAAuB,CAAC,IAAa,EAAE,QAAiB;IACtE,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;IACrC,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC;QAAE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC1D,IAAI,QAAQ;QAAE,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IAChC,OAAO,GAAG,CACR,wCAAwC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CACnE,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,EAAU;IAC7C,OAAO,GAAG,CAAgB,yCAAyC,EAAE,EAAE,CAAC,CAAC;AAC3E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,aAA4B;IAC9D,OAAO,IAAI,CACT,4CAA4C,aAAa,CAAC,EAAE,EAAE,EAC9D,EAAE,CACH,CAAC;AACJ,CAAC"}
@@ -1,2 +1,2 @@
1
- export declare const version = "1.0.4107";
2
- export declare const buildDate = "2025-09-24 01:46:27";
1
+ export declare const version = "1.0.4108";
2
+ export declare const buildDate = "2025-09-24 10:25:44";
package/dist/revision.js CHANGED
@@ -1,3 +1,3 @@
1
- export const version = "1.0.4107";
2
- export const buildDate = "2025-09-24 01:46:27";
1
+ export const version = "1.0.4108";
2
+ export const buildDate = "2025-09-24 10:25:44";
3
3
  //# sourceMappingURL=revision.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alpaca-editor/core",
3
- "version": "1.0.4107",
3
+ "version": "1.0.4108",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -8,6 +8,7 @@ import React, {
8
8
  MouseEvent,
9
9
  useMemo,
10
10
  ReactNode,
11
+ useSyncExternalStore,
11
12
  } from "react";
12
13
 
13
14
  import { toast } from "sonner";
@@ -307,7 +308,11 @@ export function EditorShell({
307
308
 
308
309
  const [itemLanguages, setItemLanguages] = useState<LanguageVersions[]>([]);
309
310
  const [itemVersions, setItemVersions] = useState<Version[]>([]);
310
- const [modifiedFields, setModifiedFields] = useState<ModifiedField[]>([]);
311
+ const modifiedFields = useSyncExternalStore(
312
+ (onStoreChange) => fieldModificationStore.subscribeAll(onStoreChange),
313
+ () => fieldModificationStore.getAllFields(),
314
+ () => fieldModificationStore.getAllFields(),
315
+ );
311
316
  const [comments, setComments] = useState<Comment[]>([]);
312
317
  const [suggestedEdits, setSuggestedEdits] = useState<SuggestedEdit[]>([]);
313
318
  const [showSuggestedEdits, setShowSuggestedEdits] = useState(false);
@@ -441,7 +446,7 @@ export function EditorShell({
441
446
  focusedFieldRef.current = focusedField;
442
447
  }, [focusedField]);
443
448
 
444
- const itemsRepository = useItemsRepository(setModifiedFields, addRecentEdit);
449
+ const itemsRepository = useItemsRepository(addRecentEdit);
445
450
 
446
451
  const pageViewContext = usePageViewContext({
447
452
  pageItemDescriptor: currentItemDescriptor,
@@ -2210,7 +2215,6 @@ export function EditorShell({
2210
2215
  modifiedFields,
2211
2216
  recentEdits,
2212
2217
  clearModifiedFields: () => {
2213
- setModifiedFields([]);
2214
2218
  fieldModificationStore.clear();
2215
2219
  },
2216
2220
  clearRecentEdits: () => {
@@ -8,6 +8,27 @@ class FieldModificationStore {
8
8
  Set<(field: ModifiedField | undefined) => void>
9
9
  >();
10
10
  private fieldData = new Map<string, ModifiedField>();
11
+ // Global subscribers notified whenever any field changes
12
+ private allSubscribers = new Set<() => void>();
13
+ // Cached snapshot for getAllFields stability
14
+ private allFieldsSnapshot: ModifiedField[] = [];
15
+
16
+ // Notify all-subscribers in a deferred manner
17
+ private notifyAll(): void {
18
+ if (this.allSubscribers.size === 0) return;
19
+ setTimeout(() => {
20
+ // Copy to avoid mutation during iteration
21
+ const callbacks = Array.from(this.allSubscribers.values());
22
+ callbacks.forEach((callback) => {
23
+ try {
24
+ callback();
25
+ } catch (error) {
26
+ // eslint-disable-next-line no-console
27
+ console.error("Error in FieldModificationStore global subscriber:", error);
28
+ }
29
+ });
30
+ }, 0);
31
+ }
11
32
 
12
33
  // Notify subscribers in a deferred manner to avoid triggering React state updates during render
13
34
  private notify(key: string, field: ModifiedField | undefined): void {
@@ -79,12 +100,18 @@ class FieldModificationStore {
79
100
  previousField.isDirty !== field.isDirty ||
80
101
  previousField.saveSequence !== field.saveSequence;
81
102
 
103
+
104
+
82
105
  // Always update the stored field data
83
106
  this.fieldData.set(key, field);
84
107
 
85
108
  if (hasChanged) {
109
+ // Refresh snapshot only when data actually changed
110
+ this.allFieldsSnapshot = Array.from(this.fieldData.values());
86
111
  // Notify only subscribers for this specific field
87
112
  this.notify(key, field);
113
+ // And notify global subscribers
114
+ this.notifyAll();
88
115
  }
89
116
  }
90
117
 
@@ -96,30 +123,42 @@ class FieldModificationStore {
96
123
  version: number,
97
124
  ): void {
98
125
  const key = this.getFieldKey(fieldId, itemId, language, version);
126
+ const previousField = this.fieldData.get(key);
127
+
99
128
  this.fieldData.delete(key);
100
129
 
101
130
  // Notify subscribers that field is no longer modified
102
131
  this.notify(key, undefined);
132
+ // Refresh snapshot
133
+ this.allFieldsSnapshot = Array.from(this.fieldData.values());
134
+ this.notifyAll();
103
135
  }
104
136
 
105
137
  // Clear all fields
106
138
  clear(): void {
139
+
107
140
  this.fieldData.clear();
141
+ this.allFieldsSnapshot = [];
108
142
  // Notify all subscribers that their fields are no longer modified
109
143
  this.subscribers.forEach((_, key) => {
110
144
  this.notify(key, undefined);
111
145
  });
146
+ this.notifyAll();
112
147
  }
113
148
 
114
149
  // Get current field data (for context compatibility)
115
150
  getAllFields(): ModifiedField[] {
116
- return Array.from(this.fieldData.values());
151
+ // Return cached snapshot to ensure referential stability across renders
152
+ return this.allFieldsSnapshot;
117
153
  }
118
154
 
119
155
  // Bulk update (for when itemsRepository updates multiple fields)
120
156
  updateFields(fields: ModifiedField[]): void {
121
157
  // Track which keys we've updated
122
158
  const updatedKeys = new Set<string>();
159
+ let anyChanged = false;
160
+ const updates: any[] = [];
161
+ const removals: any[] = [];
123
162
 
124
163
  // Update all provided fields
125
164
  fields.forEach((field) => {
@@ -132,24 +171,58 @@ class FieldModificationStore {
132
171
  updatedKeys.add(key);
133
172
 
134
173
  const previousField = this.fieldData.get(key);
135
- if (
174
+ const hasChanged =
136
175
  !previousField ||
137
176
  previousField.value !== field.value ||
138
177
  previousField.isDirty !== field.isDirty ||
139
- previousField.saveSequence !== field.saveSequence
140
- ) {
178
+ previousField.saveSequence !== field.saveSequence;
179
+
180
+ if (hasChanged) {
141
181
  this.fieldData.set(key, field);
142
182
  this.notify(key, field);
183
+ anyChanged = true;
184
+
185
+
143
186
  }
144
187
  });
145
188
 
146
189
  // Remove fields that are no longer in the update
147
190
  for (const [key, field] of this.fieldData.entries()) {
148
191
  if (!updatedKeys.has(key)) {
192
+
149
193
  this.fieldData.delete(key);
150
194
  this.notify(key, undefined);
195
+ anyChanged = true;
151
196
  }
152
197
  }
198
+ if (anyChanged) {
199
+ this.allFieldsSnapshot = Array.from(this.fieldData.values());
200
+ }
201
+ this.notifyAll();
202
+
203
+ // Emit a single consolidated log for the bulk operation if anything changed
204
+
205
+ }
206
+
207
+ // Lookup a specific field without subscribing
208
+ getField(
209
+ fieldId: string,
210
+ itemId: string,
211
+ language: string,
212
+ version: number,
213
+ ): ModifiedField | undefined {
214
+ const key = this.getFieldKey(fieldId, itemId, language, version);
215
+ return this.fieldData.get(key);
216
+ }
217
+
218
+ // Subscribe to any change across any field (for useSyncExternalStore)
219
+ subscribeAll(callback: () => void): () => void {
220
+ this.allSubscribers.add(callback);
221
+ // Call back immediately to provide initial snapshot alignment
222
+ setTimeout(() => callback(), 0);
223
+ return () => {
224
+ this.allSubscribers.delete(callback);
225
+ };
153
226
  }
154
227
  }
155
228