Skip to content

Commit cf77eae

Browse files
committed
Codex fixes
1 parent 88ae9ce commit cf77eae

2 files changed

Lines changed: 6 additions & 1 deletion

File tree

packages/webapp/src/hooks/useConnections.tsx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,10 @@ export function useConnections(queries: Omit<GetConnections['Querystring'], 'pag
4242
if (lastPage.data.length < 20) {
4343
return undefined;
4444
}
45+
// Backend rejects page > 50
46+
if (allPages.length > 50) {
47+
return undefined;
48+
}
4549
// Otherwise, return next page number
4650
return allPages.length;
4751
},

packages/webapp/src/pages/Connection/List.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ import type { ApiConnectionSimple, GetConnections } from '@nangohq/types';
3535
import type { ColumnDef } from '@tanstack/react-table';
3636

3737
type StatusFilterValue = 'ok' | 'error' | 'auth_error' | 'sync_error' | 'paused';
38+
const validStatusFilterValues = new Set<string>(['ok', 'error', 'auth_error', 'sync_error', 'paused']);
3839

3940
const statusOptions: ComboboxOption<StatusFilterValue>[] = [
4041
{ label: 'OK', value: 'ok' },
@@ -175,7 +176,7 @@ export const ConnectionList = () => {
175176
const [debouncedSearch, setDebouncedSearch] = useState<string>('');
176177
const [selectedIntegrations, setSelectedIntegrations] = useQueryState('integrations', parseIntegrations);
177178
const [rawStatusFilters, setSelectedStatusFilters] = useQueryState('status', parseStatusFilters);
178-
const selectedStatusFilters = (rawStatusFilters ?? []) as StatusFilterValue[];
179+
const selectedStatusFilters = (rawStatusFilters ?? []).filter((s): s is StatusFilterValue => validStatusFilterValues.has(s));
179180

180181
useDebounce(() => setDebouncedSearch(search || ''), 300, [search]);
181182

0 commit comments

Comments
 (0)