Skip to main content

Hashtags & Trending

Closegram indexes hashtags from posts and messages, calculates trending scores, and supports search.

Each property has its own checkbox marking whether that specific piece is fully implemented and functional end to end (frontend + backend) — update these yourself as work lands; this page won't overwrite them.

  • Hashtag trending — a "Trending" chips row on the hashtag page (HashtagPage.tsx, trendingHashtags), each linking to /hashtag/[name]
  • Hashtag search/autocomplete
  • Auto-extract hashtags from post captions, rendered as clickable links — post captions now also linkify @mentions to the mentioned user's profile
  • View a hashtag's post feed
  • Hashtag lookup and aggregate stats — the hashtag page header shows real totals (hashtagByNamehashtagStats): total posts and distinct people using the tag, instead of just the loaded-page count
  • In-chat hashtag indexing (conversations) — sending a message now extracts its #hashtags, links each to the conversation (ConversationHashtag, de-duplicated) and bumps the hashtag's usage counter; getTrending counts recent conversation-hashtag links alongside post links, so hashtags used in chat surface in search and trending.
  • Mention history — Settings → Mention history has "You mentioned" (usersIMentioned) and "Mentioned you" (usersMentionedBy) tabs. (myMentions has no resolver, so the richer per-mention view isn't used. Both tabs' backend resolvers are still TODO/mock stubs that always return an empty list, so the tabs currently render with no real data — see the technical reference.)
  • Recording/creating an @mention or tag — creating a post now parses @username mentions from the caption, resolves them to users and records PostMention rows (respecting the recipient's tag-approval setting, de-duplicated against tap-to-tag mentions and self-mentions) plus fires a mention notification. Tap-to-tag on media was already recorded; this adds the caption/text mention path.

See the technical reference for GraphQL schemas, routes, source file links, and per-field wiring status.