iachat/app/views/api/v1/accounts/contacts
Pranav 7cddba2b08
feat: Add infinite scroll to contacts search page (#13376)
## Summary
- Add `has_more` to contacts search API response to enable infinite
scroll without expensive count queries
- Set `count` to the number of items in the current page instead of
total count
- Implement "Load more" button for contacts search results
- Keep existing contacts visible while loading additional pages

## Changes

### Backend
- Add `fetch_contacts_with_has_more` method that fetches N+1 records to
determine if more pages exist
- Return `has_more` in search endpoint meta response
- Set `count` to current page size instead of total count

### Frontend
- Add `APPEND_CONTACTS` mutation for appending contacts without clearing
existing ones
- Update search action to support `append` parameter
- Add `ContactsLoadMore` component with loading state
- Update `ContactsListLayout` to support infinite scroll mode
- Update `ContactsIndex` to use infinite scroll for search view
2026-01-27 18:55:19 -08:00
..
contact_inboxes fix: DEPRECATION WARNING: Rendering actions with '.' in the name is deprecated (#5560) 2022-10-05 17:24:34 -07:00
conversations fix: DEPRECATION WARNING: Rendering actions with '.' in the name is deprecated (#5560) 2022-10-05 17:24:34 -07:00
labels feat: API to add label to contacts (#1563) 2021-01-03 20:07:57 +05:30
notes fix: DEPRECATION WARNING: Rendering actions with '.' in the name is deprecated (#5560) 2022-10-05 17:24:34 -07:00
active.json.jbuilder perf: Contact optimisation fixes (#12016) 2025-09-25 18:59:55 +05:30
avatar.json.jbuilder fix: DEPRECATION WARNING: Rendering actions with '.' in the name is deprecated (#5560) 2022-10-05 17:24:34 -07:00
contactable_inboxes.json.jbuilder feat: hide tokens and password on contact inbox payloads (#10888) 2025-02-20 21:22:12 -08:00
create.json.jbuilder fix: DEPRECATION WARNING: Rendering actions with '.' in the name is deprecated (#5560) 2022-10-05 17:24:34 -07:00
destroy_custom_attributes.json.jbuilder fix: DEPRECATION WARNING: Rendering actions with '.' in the name is deprecated (#5560) 2022-10-05 17:24:34 -07:00
filter.json.jbuilder fix: DEPRECATION WARNING: Rendering actions with '.' in the name is deprecated (#5560) 2022-10-05 17:24:34 -07:00
index.json.jbuilder fix: DEPRECATION WARNING: Rendering actions with '.' in the name is deprecated (#5560) 2022-10-05 17:24:34 -07:00
search.json.jbuilder feat: Add infinite scroll to contacts search page (#13376) 2026-01-27 18:55:19 -08:00
show.json.jbuilder fix: Remove duplicate contactable inbox in the conversation form (#10554) 2024-12-06 12:31:01 -08:00
update.json.jbuilder fix: Remove duplicate contactable inbox in the conversation form (#10554) 2024-12-06 12:31:01 -08:00