iachat/app/javascript/dashboard/components
Sivin Varghese 172ff87b5b
feat: Replace vue-virtual-scroller with virtua for chat list virtualization (#13642)
# Pull Request Template

## Description

This PR replaces `vue-virtual-scroller` with
[`virtua`](https://github.com/inokawa/virtua/#benchmark) for the
conversation list virtualization.

### Changes
- Replace `vue-virtual-scroller`
(`DynamicScroller`/`DynamicScrollerItem`) with `virtua`'s `Virtualizer`
component
- Remove `IntersectionObserver`-based infinite scroll in favor of
`Virtualizer`'s `@scroll` event with offset-based bottom detection
- Remove `useEventListener` scroll binding and
`intersectionObserverOptions` computed
- Simplify item rendering — no more `DynamicScrollerItem` wrapper or
`size-dependencies` tracking; `virtua` measures items automatically


## Type of change

- [x] New feature (non-breaking change which adds functionality)


## Checklist:

- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my code
- [ ] I have commented on my code, particularly in hard-to-understand
areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged and published in downstream
modules
2026-02-25 12:59:02 +04:00
..
Accordion chore: Update theme colors and add new Inter variable fonts (#13347) 2026-01-28 14:36:04 -08:00
app
auth feat: Add the frontend support for MFA (#12372) 2025-09-18 21:16:06 +05:30
base
buttons feat: Conversation workflows(EE) (#13040) 2026-01-27 11:36:20 +04:00
copilot chore: Update theme colors and add new Inter variable fonts (#13347) 2026-01-28 14:36:04 -08:00
table
ui feat: Refactor reports filters (#13443) 2026-02-06 18:22:30 +05:30
widgets feat(tiktok): Enable outgoing image attachments (#13620) 2026-02-24 20:13:58 +04:00
ChannelSelector.vue fix: search header overlap with new conversation form (#13548) 2026-02-20 11:24:37 +05:30
ChatList.vue feat: Replace vue-virtual-scroller with virtua for chat list virtualization (#13642) 2026-02-25 12:59:02 +04:00
ChatListHeader.vue chore: Update theme colors and add new Inter variable fonts (#13347) 2026-01-28 14:36:04 -08:00
Code.vue
ConversationItem.vue feat: Allow removing labels via conversation context menu (#13525) 2026-02-17 13:30:55 +05:30
CustomAttribute.vue
CustomBrandPolicyWrapper.vue
CustomSnoozeModal.vue
index.js
IntersectionObserver.vue
Modal.vue
ModalHeader.vue
NetworkNotification.vue
policy.vue
SettingsSection.vue
Snackbar.vue
SnackbarContainer.vue