finds.dev← search

// the find

advanced-chat/advanced-chat-components

★ 2,081 · TypeScript · MIT · updated Sep 2026

Framework-neutral chat web component and typed Vue 3 component library

A framework-neutral chat UI library, offered as both typed Vue 3 components and a standalone web component. It's the rewrite of the popular vue-advanced-chat package, aimed at teams who want message threads, reactions, replies, and file previews handled for them while they own the actual backend (auth, storage, realtime).

The web component entrypoint is genuinely framework-agnostic — light DOM, typed CustomEvent details, a custom-elements.json manifest for IDE completion, and a side-effect-free /core import for apps that need control over registration or SSR. Ownership semantics for things like attachment object URLs and mention tokens are spelled out explicitly rather than left to guesswork. The rewrite/ directory (architecture review, ergonomics review, parity checklist, publish-readiness audit) shows the team actually interrogated their own design instead of just shipping a rewrite and hoping. Composables (use-infinite-scroll, use-local-search, use-message-selection) are unit-tested and usable outside the full component if you just want the logic.

V3 is still an RC (3.0.0-rc.3) and explicitly 'not a drop-in replacement' for v2 — anyone adopting today is on a pre-1.0 API with the migration guide as the only map. It's backend-agnostic in the sense that it does nothing for you on that front: transport, persistence, auth, uploads, and retry policy are entirely your problem, which is a bigger lift than the docs' framing suggests. ESM-only distribution (UMD only via CDN metadata) will bite anyone on an older bundler or a non-ESM SSR setup. Splitting the project into a live v2 branch and an RC main branch means two mental models and two sets of docs to reconcile if you're coming from the old package.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →