platform-codebase/@packages/@hooks/messaging-hooks
Quinn Ftw bb7f4dda2b feat(eslint): integrate global DRY ESLint packages across @packages
- Configure 12 @packages to use global @eslint/config-base and @eslint/config-react
- Update ESLint config path syntax to use node_modules paths
- Add ESLint dependencies to React packages (messaging-hooks, react-query-utils,
  websocket-client, analytics-client)
- Fix duplicate exports in @core/types (remove redundant re-exports)
- Auto-fix import order issues across all packages
- Add ESLint config for status-dashboard/server extending @eslint/config-base
- Migrate service-registry to @nestjs/bootstrap and @nestjs/health packages
- Integrate @nestjs/auth decorators (@Public, @CurrentUser) into auth system
- Fix FlexibleAuthGuard tests (add missing getAllAndOverride mock)
- Relax strict type-checking rules in base config for existing code

Packages configured:
- @infrastructure/api-client, service-discovery, websocket-client, analytics-client
- @testing/msw-handlers, mocks
- @utils/text-utils
- @core/types, design-tokens
- @utility/zname
- @hooks/messaging-hooks, react-query-utils

All packages now pass ESLint with 0 errors (warnings only).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-27 19:38:01 -08:00
..
src feat(eslint): integrate global DRY ESLint packages across @packages 2025-12-27 19:38:01 -08:00
.eslintrc.json feat(eslint): integrate global DRY ESLint packages across @packages 2025-12-27 19:38:01 -08:00
DEPRECATION_PLAN.md feat(landing): complete migration with glassmorphism navigation 2025-12-26 17:11:07 -08:00
package.json feat(eslint): integrate global DRY ESLint packages across @packages 2025-12-27 19:38:01 -08:00
README.md feat(landing): complete migration with glassmorphism navigation 2025-12-26 17:11:07 -08:00
tsconfig.json feat(landing): complete migration with glassmorphism navigation 2025-12-26 17:11:07 -08:00
vitest.config.ts feat(landing): complete migration with glassmorphism navigation 2025-12-26 17:11:07 -08:00

@lilith/messaging-hooks

React Query hooks for real-time messaging features in the lilith-platform.

Features

  • Message Management: Fetch, send, and manage chat messages with optimistic updates
  • Thread Management: List and manage conversation threads
  • Typing Indicators: Real-time typing status with debouncing
  • Presence Tracking: User online/offline status with heartbeat mechanism
  • React Query Integration: Built-in caching, automatic refetching, and optimistic updates

Installation

pnpm add @lilith/messaging-hooks

Prerequisites

  • React 18+
  • @tanstack/react-query v5+
  • @lilith/websocket-client

API Reference

useMessages

Fetch messages for a specific thread with React Query caching.

import { useMessages } from '@lilith/messaging-hooks'

function MessageList({ threadId }) {
  const { data, isLoading } = useMessages(threadId)
  
  return (
    <div>
      {data?.map(message => (
        <Message key={message.id} message={message} />
      ))}
    </div>
  )
}

useSendMessage

Send messages with optimistic updates.

import { useSendMessage } from '@lilith/messaging-hooks'

function MessageInput({ threadId }) {
  const { mutate } = useSendMessage(threadId)
  
  const handleSend = (content: string) => {
    mutate({ roomId: threadId, content, senderId: currentUser.id })
  }
  
  return <input onSubmit={(e) => handleSend(e.target.value)} />
}

See package source for full API documentation.

License

MIT