Răsfoiți Sursa

Fix load metadata (#16417)

GitOrigin-RevId: 26505e08ca9074238253dba08d0380422ae859be
Alf Eaton 2 ani în urmă
părinte
comite
e91b76a4f0

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