Files
twenty/packages
Claude 13a5da40a3 fix: memoize useObjectPermissions and remaining query hooks for Apollo v4
Root cause: useObjectPermissions() was calling .reduce() on every render,
creating a new object reference each time. This caused all useMemo
dependency arrays containing objectPermissionsByObjectMetadataId to
invalidate, regenerating query DocumentNodes on every render.

Apollo v4's useQuery uses reference equality (query !== state.query) to
detect query changes. New DocumentNode references cause it to create a
new observable, restarting the query before results arrive — resulting
in infinite loading state on first view load after page refresh.

Fix: memoize the reduce result in useObjectPermissions, and wrap
useFindOneRecordQuery and useFindDuplicatesRecordsQuery with useMemo.

https://claude.ai/code/session_01EA7CMTUTG5zFP132yvUweT
2026-03-13 08:34:28 +00:00
..
2026-03-12 15:55:30 +01:00