rita-workspace 0.5.30 → 0.5.31

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.
package/dist/index.js CHANGED
@@ -678,7 +678,7 @@ function WorkspaceProvider({ children, lang = "en" }) {
678
678
  (0, import_react.useEffect)(() => {
679
679
  if (!tabIdReady) return;
680
680
  const drawingId = activeDrawing?.id || null;
681
- setTabDrawing(drawingId);
681
+ if (drawingId) setTabDrawing(drawingId);
682
682
  if (hasCleanedUpRef.current) {
683
683
  if (drawingId) {
684
684
  setIsDrawingConflict(isDrawingOpenedEarlierInOtherTab(drawingId));
@@ -968,6 +968,9 @@ function WorkspaceProvider({ children, lang = "en" }) {
968
968
  try {
969
969
  const fresh = await getDrawing(activeDrawing.id);
970
970
  if (fresh && fresh.updatedAt > (activeDrawing.updatedAt ?? 0)) return;
971
+ if (Array.isArray(elements) && elements.length === 0 && fresh && Array.isArray(fresh.elements) && fresh.elements.length > 0) {
972
+ return;
973
+ }
971
974
  const updateData = {
972
975
  elements,
973
976
  appState
@@ -995,6 +998,9 @@ function WorkspaceProvider({ children, lang = "en" }) {
995
998
  const inMem = drawingsRef.current.find((d) => d.id === id);
996
999
  const fresh = await getDrawing(id);
997
1000
  if (fresh && inMem && fresh.updatedAt > (inMem.updatedAt ?? 0)) return;
1001
+ if (Array.isArray(elements) && elements.length === 0 && fresh && Array.isArray(fresh.elements) && fresh.elements.length > 0) {
1002
+ return;
1003
+ }
998
1004
  const updateData = {
999
1005
  elements,
1000
1006
  appState
package/dist/index.mjs CHANGED
@@ -607,7 +607,7 @@ function WorkspaceProvider({ children, lang = "en" }) {
607
607
  useEffect(() => {
608
608
  if (!tabIdReady) return;
609
609
  const drawingId = activeDrawing?.id || null;
610
- setTabDrawing(drawingId);
610
+ if (drawingId) setTabDrawing(drawingId);
611
611
  if (hasCleanedUpRef.current) {
612
612
  if (drawingId) {
613
613
  setIsDrawingConflict(isDrawingOpenedEarlierInOtherTab(drawingId));
@@ -897,6 +897,9 @@ function WorkspaceProvider({ children, lang = "en" }) {
897
897
  try {
898
898
  const fresh = await getDrawing(activeDrawing.id);
899
899
  if (fresh && fresh.updatedAt > (activeDrawing.updatedAt ?? 0)) return;
900
+ if (Array.isArray(elements) && elements.length === 0 && fresh && Array.isArray(fresh.elements) && fresh.elements.length > 0) {
901
+ return;
902
+ }
900
903
  const updateData = {
901
904
  elements,
902
905
  appState
@@ -924,6 +927,9 @@ function WorkspaceProvider({ children, lang = "en" }) {
924
927
  const inMem = drawingsRef.current.find((d) => d.id === id);
925
928
  const fresh = await getDrawing(id);
926
929
  if (fresh && inMem && fresh.updatedAt > (inMem.updatedAt ?? 0)) return;
930
+ if (Array.isArray(elements) && elements.length === 0 && fresh && Array.isArray(fresh.elements) && fresh.elements.length > 0) {
931
+ return;
932
+ }
927
933
  const updateData = {
928
934
  elements,
929
935
  appState
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rita-workspace",
3
- "version": "0.5.30",
3
+ "version": "0.5.31",
4
4
  "description": "Multi-drawing workspace feature for Rita (Excalidraw fork)",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",