You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The component search filters (Input Name, Input Type, Output Name, Output Type) currently run entirely client-side — the frontend downloads all component specs and filters locally. This doesn't scale and prevents the homepage Components tab (#1963) from efficiently searching large component libraries.
Move the filtering to use backend query params so the server does the work.
Current state
The frontend publishedComponentsLibrary.ts only sends name_substring and published_by_substring to the backend. All other filters (input name/type, output name/type) are applied locally after fetching results.
Proposed changes
Once the backend supports the new query params (TangleML/tangle#180), update the frontend to:
Send all active search filters as backend query params instead of filtering locally
Update publishedComponentsLibrary.tsgetComponents() to pass:
description_substring
input_name_substring
output_name_substring
input_type_substring
output_type_substring
Remove client-side filtering fallback for these fields (or keep as progressive enhancement)
Description
The component search filters (Input Name, Input Type, Output Name, Output Type) currently run entirely client-side — the frontend downloads all component specs and filters locally. This doesn't scale and prevents the homepage Components tab (#1963) from efficiently searching large component libraries.
Move the filtering to use backend query params so the server does the work.
Current state
The frontend
publishedComponentsLibrary.tsonly sendsname_substringandpublished_by_substringto the backend. All other filters (input name/type, output name/type) are applied locally after fetching results.Proposed changes
Once the backend supports the new query params (TangleML/tangle#180), update the frontend to:
publishedComponentsLibrary.tsgetComponents()to pass:description_substringinput_name_substringoutput_name_substringinput_type_substringoutput_type_substringDepends on: TangleML/tangle#180 (backend filtering support)
Relevant files
src/providers/ComponentLibraryProvider/libraries/publishedComponentsLibrary.ts— API clientsrc/providers/ComponentLibraryProvider/ComponentLibraryProvider.tsx—searchComponentLibrary()functionsrc/utils/searchUtils.ts— client-side matching logic (to be replaced)src/api/types.gen.ts/src/api/sdk.gen.ts— regenerate after backend changes