mirror of
https://github.com/langgenius/dify.git
synced 2026-02-09 23:20:12 -05:00
The previous implementation stored query invalidation logic (mutateCurrentWorkspace) and isFetching state (isValidatingCurrentWorkspace) in React Context, causing QuotaPanel to flash a loading spinner on every settings tab switch due to a useEffect calling invalidateQueries on mount. This violated separation of concerns and React best practices. - Remove mutateCurrentWorkspace and isValidatingCurrentWorkspace from AppContext - Add useInvalidateCurrentWorkspace hook in service layer (consistent with project pattern) - Remove redundant useEffect + invalidateQueries in ModelProviderPage - QuotaPanel now derives loading from !currentWorkspace.id instead of external prop - Update custom-web-app-brand to use the new service-layer hook