SIGN IN SIGN UP

feat(dashboard): add app filtering to functions table (#4199)

## Description

Added app filtering capability to the Functions table in the dashboard.
Users can now filter functions by the app they belong to, similar to the
existing status filter.

### Changes:
- **FunctionsTable component**: Added `EntityFilter` component for app
filtering with support for multiple app selection
- **Query integration**: Updated `GetFunctions` GraphQL query to accept
`appIDs` parameter for server-side filtering
- **Hook updates**: Modified `useFunctions` and `useFunctionsPage` to
pass app IDs to the backend
- **Search params**: Added `useStringArraySearchParam` hook usage to
persist selected app filters in URL
- **Functions page**: Integrated app list fetching via
`AppFilterDocument` query and passed apps to the table component

The filter integrates with the existing infinite scroll and search
functionality, maintaining the current UX patterns.

## Release note

Users can now filter functions by app in the Functions table, making it
easier to find functions belonging to specific apps.

## Migration note

None.

https://claude.ai/code/session_017cTjigukMmEfDws6YUsoWc

<!-- MENDRAL_SUMMARY -->
---

> [!NOTE]
> Adds app filtering to the Functions table by introducing an
`EntityFilter` component (type="app") alongside the existing search and
archived filters. The `GetFunctions` GraphQL query gains an `appIDs:
[UUID!]` variable that's passed through from URL search params
(`filterApp`) via `useStringArraySearchParam`, following the same
pattern already used by the Runs page.
> 
> <sup>Written by [Mendral](https://mendral.com) for commit
0d40a4cfe40a251f1b62e2adc66c453658d67a2c.</sup>
<!-- /MENDRAL_SUMMARY -->

Co-authored-by: Claude <noreply@anthropic.com>
S
Sanjana Laddha committed
37cfe5e042c33953c45acec9230ab0c15ae03c98
Parent: 677132e
Committed by GitHub <noreply@github.com> on 8/19/2026, 6:03:19 PM