fix: composite field sub-menu not showing in advanced filter (#18395)

## Problem
While working on the IS/IS_NOT filter feature (#15317 ), I found this
problem. So I want to submit a separate pr to fix it at first.
In the advanced filter, clicking on a composite field (Emails, Phones,
Links) was not showing the sub-field selection menu.

  ## Root cause
Related to #18178 (Recoil → Jotai migration).
`AdvancedFilterFieldSelectMenu` was writing composite field states using
`advancedFilterFieldSelectDropdownId` as the instance ID. But the reader
components (`AdvancedFilterFieldSelectDropdownContent`,
`AdvancedFilterSubFieldSelectMenu`) resolve the instance ID from React
context, which has a different value — so they were reading from a
different Jotai atom instance and `isSelectingCompositeField` was always
`false`.

  ## Fix
Remove the 3 explicit instance IDs so the writer uses context, matching
the readers.

 ## Before


https://github.com/user-attachments/assets/dde54077-0eaf-453c-a638-bec6d6fe4d55

## After


https://github.com/user-attachments/assets/01916bcf-0ee8-49ad-bb54-9d8f10571069


Hope I understood it correctly.

---------

Co-authored-by: Etienne <45695613+etiennejouan@users.noreply.github.com>
This commit is contained in:
BugIsGod
2026-03-05 16:51:59 +00:00
committed by GitHub
parent 12257f4cc7
commit fc2b1de860
@@ -43,7 +43,6 @@ export const AdvancedFilterFieldSelectMenu = ({
const [objectFilterDropdownSearchInput] = useAtomComponentState(
objectFilterDropdownSearchInputComponentState,
advancedFilterFieldSelectDropdownId,
);
const { objectMetadataItem } = useContext(AdvancedFilterContext);