Переглянути джерело

Merge branch 'master' into fix/151549-153697-issue-that-icons-are-not-displayed

WNomunomu 1 рік тому
батько
коміт
fd5ac29639

+ 8 - 4
apps/app/src/pages/[[...path]].page.tsx

@@ -245,6 +245,7 @@ const Page: NextPageWithLayout<Props> = (props: Props) => {
   const { pageWithMeta } = props;
   const { pageWithMeta } = props;
 
 
   const pageId = pageWithMeta?.data._id;
   const pageId = pageWithMeta?.data._id;
+  const revisionId = pageWithMeta?.data.revision?._id;
   const revisionBody = pageWithMeta?.data.revision?.body;
   const revisionBody = pageWithMeta?.data.revision?.body;
 
 
   useCurrentPathname(props.currentPathname);
   useCurrentPathname(props.currentPathname);
@@ -277,7 +278,7 @@ const Page: NextPageWithLayout<Props> = (props: Props) => {
       return;
       return;
     }
     }
 
 
-    if (currentPageId != null && !props.isNotFound) {
+    if (currentPageId != null && revisionId != null && !props.isNotFound) {
       const mutatePageData = async() => {
       const mutatePageData = async() => {
         const pageData = await mutateCurrentPage();
         const pageData = await mutateCurrentPage();
         mutateEditingMarkdown(pageData?.revision?.body);
         mutateEditingMarkdown(pageData?.revision?.body);
@@ -288,7 +289,10 @@ const Page: NextPageWithLayout<Props> = (props: Props) => {
       // Because pageWIthMeta does not contain revision.body
       // Because pageWIthMeta does not contain revision.body
       mutatePageData();
       mutatePageData();
     }
     }
-  }, [currentPageId, mutateCurrentPage, mutateCurrentPageYjsDataFromApi, mutateEditingMarkdown, props.isNotFound, props.skipSSR]);
+  }, [
+    revisionId, currentPageId, mutateCurrentPage,
+    mutateCurrentPageYjsDataFromApi, mutateEditingMarkdown, props.isNotFound, props.skipSSR,
+  ]);
 
 
   // sync pathname by Shallow Routing https://nextjs.org/docs/routing/shallow-routing
   // sync pathname by Shallow Routing https://nextjs.org/docs/routing/shallow-routing
   useEffect(() => {
   useEffect(() => {
@@ -308,8 +312,8 @@ const Page: NextPageWithLayout<Props> = (props: Props) => {
   }, [mutateEditingMarkdown, revisionBody, props.currentPathname]);
   }, [mutateEditingMarkdown, revisionBody, props.currentPathname]);
 
 
   useEffect(() => {
   useEffect(() => {
-    mutateRemoteRevisionId(pageWithMeta?.data.revision?._id);
-  }, [mutateRemoteRevisionId, pageWithMeta?.data.revision?._id]);
+    mutateRemoteRevisionId(revisionId);
+  }, [mutateRemoteRevisionId, revisionId]);
 
 
   useEffect(() => {
   useEffect(() => {
     mutateCurrentPageId(pageId ?? null);
     mutateCurrentPageId(pageId ?? null);

+ 5 - 0
apps/app/src/stores/page.tsx

@@ -81,6 +81,11 @@ export const useSWRxCurrentPage = (initialData?: IPagePopulatedToShowRevision|nu
       return true;
       return true;
     }
     }
 
 
+    // mutate When a different revision is opened
+    if (cachedData.revision?._id != null && initialData.revision?._id != null && cachedData.revision._id !== initialData.revision._id) {
+      return true;
+    }
+
     return false;
     return false;
   })();
   })();
 
 

+ 3 - 1
apps/slackbot-proxy/src/services/LinkSharedService.ts

@@ -3,7 +3,9 @@ import type { WebClient } from '@slack/web-api';
 import { Inject, Service } from '@tsed/di';
 import { Inject, Service } from '@tsed/di';
 import axios from 'axios';
 import axios from 'axios';
 
 
-import type { RelationRepository } from '~/repositories/relation';
+// needed to import class (not type) for injection
+// eslint-disable-next-line @typescript-eslint/consistent-type-imports
+import { RelationRepository } from '~/repositories/relation';
 import loggerFactory from '~/utils/logger';
 import loggerFactory from '~/utils/logger';
 
 
 const logger = loggerFactory('slackbot-proxy:services:LinkSharedService');
 const logger = loggerFactory('slackbot-proxy:services:LinkSharedService');

+ 42 - 0
apps/slackbot-proxy/turbo.json

@@ -0,0 +1,42 @@
+{
+  "$schema": "https://turbo.build/schema.json",
+  "extends": ["//"],
+  "tasks": {
+
+    "clean": {
+      "dependsOn": ["@growi/slack#clean"],
+      "cache": false
+    },
+
+    "build": {
+      "dependsOn": ["@growi/slack#build"],
+      "outputs": ["dist/**"],
+      "outputLogs": "new-only"
+    },
+
+    "dev": {
+      "dependsOn": ["@growi/slack#dev"],
+      "cache": false,
+      "persistent": true
+    },
+    "dev:ci": {
+      "dependsOn": ["@growi/slack#dev"],
+      "cache": false
+    },
+
+    "lint": {
+      "dependsOn": ["@growi/slack#dev"]
+    },
+
+    "test": {
+      "dependsOn": ["@growi/slack#dev"],
+      "outputLogs": "new-only"
+    },
+
+    "version": {
+      "cache": false,
+      "dependsOn": ["^version", "//#version"]
+    }
+
+  }
+}

+ 0 - 21
turbo.json

@@ -34,11 +34,6 @@
       "outputs": ["dist/**"],
       "outputs": ["dist/**"],
       "outputLogs": "new-only"
       "outputLogs": "new-only"
     },
     },
-    "@growi/slackbot-proxy#build": {
-      "dependsOn": ["@growi/slack#build"],
-      "outputs": ["dist/**"],
-      "outputLogs": "new-only"
-    },
     "build": {
     "build": {
       "outputs": ["dist/**"],
       "outputs": ["dist/**"],
       "inputs": [
       "inputs": [
@@ -66,15 +61,6 @@
       "outputs": ["dist/**"],
       "outputs": ["dist/**"],
       "outputLogs": "new-only"
       "outputLogs": "new-only"
     },
     },
-    "@growi/slackbot-proxy#dev": {
-      "dependsOn": ["@growi/slack#dev"],
-      "cache": false,
-      "persistent": true
-    },
-    "@growi/slackbot-proxy#dev:ci": {
-      "dependsOn": ["@growi/slack#dev"],
-      "cache": false
-    },
     "dev": {
     "dev": {
       "outputs": ["dist/**"],
       "outputs": ["dist/**"],
       "inputs": [
       "inputs": [
@@ -108,16 +94,9 @@
     "@growi/ui#lint": {
     "@growi/ui#lint": {
       "dependsOn": ["@growi/core#dev"]
       "dependsOn": ["@growi/core#dev"]
     },
     },
-    "@growi/slackbot-proxy#lint": {
-      "dependsOn": ["@growi/slack#dev"]
-    },
     "lint": {
     "lint": {
     },
     },
 
 
-    "@growi/slackbot-proxy#test": {
-      "dependsOn": ["@growi/slack#dev"],
-      "outputLogs": "new-only"
-    },
     "@growi/preset-templates#test": {
     "@growi/preset-templates#test": {
       "dependsOn": ["@growi/pluginkit#dev"],
       "dependsOn": ["@growi/pluginkit#dev"],
       "outputLogs": "new-only"
       "outputLogs": "new-only"