Sfoglia il codice sorgente

fix: filter notification with id

nathan 2 anni fa
parent
commit
f58c91fb3f

+ 2 - 1
frontend/appflowy_tauri/src/appflowy_app/components/TestApiButton/TestGrid.tsx

@@ -26,7 +26,7 @@ export const TestCreateGrid = () => {
       },
       onRowsChanged: async (rows) => {
         if (rows.length !== 3) {
-          throw Error('Expected number of rows is 3, but receive ' + rows.length);
+          throw Error('Expected number of rows is 3, but receive ' + rows.length + view.id);
         }
       },
       onFieldsChanged: (fields) => {
@@ -36,6 +36,7 @@ export const TestCreateGrid = () => {
       },
     });
     await databaseController.open().then((result) => result.unwrap());
+    await databaseController.dispose();
   }
 
   return TestButton('Test create build-in grid', createBuildInGrid);

+ 0 - 1
frontend/appflowy_tauri/src/appflowy_app/stores/effects/database/cell/cell_cache.ts

@@ -15,7 +15,6 @@ export class CellCache {
   remove = (key: CellCacheKey) => {
     const cellDataByRowId = this.cellDataByFieldId.get(key.fieldId);
     if (cellDataByRowId !== undefined) {
-      console.log('cellDataByRowId', cellDataByRowId);
       cellDataByRowId.delete(key.rowId);
     }
   };

+ 12 - 6
frontend/appflowy_tauri/src/services/backend/notifications/observer.ts

@@ -1,6 +1,6 @@
-import { listen, UnlistenFn } from '@tauri-apps/api/event';
-import { SubscribeObject } from '../models/flowy-notification';
-import { NotificationParser } from './parser';
+import { listen, UnlistenFn } from "@tauri-apps/api/event";
+import { SubscribeObject } from "../models/flowy-notification";
+import { NotificationParser } from "./parser";
 
 export abstract class AFNotificationObserver<T> {
   parser?: NotificationParser<T> | null;
@@ -11,9 +11,15 @@ export abstract class AFNotificationObserver<T> {
   }
 
   async start() {
-    this._listener = await listen('af-notification', (notification) => {
-      const object = SubscribeObject.fromObject(notification.payload as {});
-      this.parser?.parse(object);
+    this._listener = await listen("af-notification", (notification) => {
+      const object: SubscribeObject = SubscribeObject.fromObject(notification.payload as {});
+      if (this.parser?.id !== undefined) {
+        if (object.id === this.parser.id) {
+          this.parser?.parse(object);
+        }
+      } else {
+        this.parser?.parse(object);
+      }
     });
   }