Skip to main content

Engagement, Feed, Chat, and Announcements Feature Context

Source: .agents/references/features/engagement-feed-chat-and-announcements.md

Content

Engagement, Feed, Chat, and Announcements Feature Context

Purpose

Engagement features keep community members active through feeds, comments, reactions, announcements, activity rows, chat cards/platform connections, messages, sessions, and notification-like banners/modals. This domain crosses public community pages, member-only surfaces, and creator configuration.

User-Facing Workflows

  • Members browse feed posts, comment, react, and view activity.
  • Visitors or members see announcement banners, modal announcements, and carousel announcements.
  • Communities expose chat entrypoints such as WhatsApp/group cards or connected chat platform surfaces.
  • Members manage or view messages and profile/member detail popups.
  • Session and calendar-connected experiences can surface upcoming bookings or availability.

Key Entrypoints

  • Routes:
    • src/pages/[communityLink]/feed.page.js
    • src/pages/[communityLink]/feed/[postSlug].page.js
    • src/pages/[communityLink]/sessions/
    • src/pages/[communityLink]/events/[eventSlug]/index.page.js
  • Features/components:
    • src/features/Feed/
    • src/features/ActivityFeed/
    • src/features/CommentSection/
    • src/features/AnnouncementCarousel/
    • src/features/Announcements/
    • src/components/features/AnnouncementBannerCarousel/
    • src/components/features/AnnouncementModal/
    • src/components/features/CommunityPage/components/feed/
    • src/components/features/CommunityPage/components/chat/
    • src/features/Messages/
    • src/features/ViewMemberDetails/
    • src/features/ProfilePopUp/
    • src/features/1on1Sessions/
  • Hooks:
    • src/hooks/useAnnouncements.js
    • src/hooks/useReactionList.js
    • src/hooks/usePostReaction.js
    • src/hooks/useCommunityMembers.js
    • src/hooks/member/useCommunityEventsData.js
    • src/features/1on1Sessions/hooks/
  • Services:
    • src/services/announcementService.js
    • src/services/feedImpressionService.ts
    • src/services/notificationService.ts
    • src/services/calendarService.js
    • src/services/sessionAnalytics/sessionAnalyticsService.js
  • Utilities:
    • src/utility/member/analytics.js
    • src/utility/member/helper.js
    • src/utility/hideEventAttendeeHelper.js

Data Flow and Service Boundaries

  • Feed and announcement data can appear on both public and member pages. Confirm whether a component is public-safe before adding member-only assumptions.
  • Reactions/comments usually need optimistic or local UI state plus service-backed updates. Keep error recovery explicit and avoid hiding failed mutations.
  • Announcement surfaces can be banners, carousels, or modals. Reuse existing announcement hooks/components before adding a new display mechanism.
  • Chat and message entrypoints can depend on community configuration and user role/member state. Guard missing configuration rather than rendering broken links.
  • Session/calendar data may depend on external calendar integrations. Inspect the calendar/session service contract before changing availability or upcoming booking UI.

Conventions and Gotchas

  • User-generated feed/comment content is untrusted. Avoid raw HTML injection and sanitize any rich content path.
  • Do not log message/comment content or member PII.
  • Keep reaction/comment handlers in event handlers, not effects.
  • Use stable keys for lists and avoid array indices when feed items can reorder or paginate.
  • Preserve empty states and skeletons for feed/announcement loads.
  • If design-driven, match exact Figma spacing and color semantics for banners/cards/modals.
  • .agents/rules/web-security.mdc
  • .agents/rules/clean-react.mdc
  • .agents/rules/no-try-catch-service-api.mdc
  • .agents/rules/use-classnames-for-conditional-classes.mdc
  • .agents/references/coding-standard/useeffect-guidance.md
  • .agents/references/features/community-public-pages.md

Useful Searches

rtk rg "feed|comment|reaction|announcement|chat|message|session|calendar|activity" src/features src/components/features src/hooks src/services src/pages/[communityLink]
rtk rg "useAnnouncements|usePostReaction|CommentSection|AnnouncementCarousel|JoinWhatsapp" src
rtk find src/features/Feed src/features/CommentSection src/features/AnnouncementCarousel -maxdepth 4 -type f

Update Triggers

Update this reference when feed/comment/reaction contracts, announcement display behavior, chat entrypoints, message/member detail behavior, or session/calendar engagement flows change.