فهرست منبع

Fix load metadata (#16417)

GitOrigin-RevId: 26505e08ca9074238253dba08d0380422ae859be
Alf Eaton 2 سال پیش
والد
کامیت
e91b76a4f0
1فایلهای تغییر یافته به همراه8 افزوده شده و 8 حذف شده
  1. 8 8
      services/web/frontend/js/features/ide-react/context/metadata-context.tsx

+ 8 - 8
services/web/frontend/js/features/ide-react/context/metadata-context.tsx

@@ -184,6 +184,12 @@ export const MetadataProvider: FC = ({ children }) => {
 
   useEventListener('editor:metadata-outdated', handleMetadataOutdated)
 
+  const permissionsRef = useRef(permissions)
+
+  useEffect(() => {
+    permissionsRef.current = permissions
+  }, [permissions])
+
   useEffect(() => {
     const handleProjectJoined = ({
       detail: [{ project }],
@@ -195,7 +201,7 @@ export const MetadataProvider: FC = ({ children }) => {
         )
       }
       window.setTimeout(() => {
-        if (permissions.write) {
+        if (permissionsRef.current.write) {
           loadProjectMetaFromServer()
         }
       }, 200)
@@ -206,13 +212,7 @@ export const MetadataProvider: FC = ({ children }) => {
     return () => {
       eventEmitter.off('project:joined', handleProjectJoined)
     }
-  }, [
-    eventEmitter,
-    loadProjectMetaFromServer,
-    permissions,
-    showGenericMessageModal,
-    t,
-  ])
+  }, [eventEmitter, loadProjectMetaFromServer, showGenericMessageModal, t])
 
   const value = useMemo<MetadataContextValue>(
     () => ({