Skip to content

Releases: Msparihar/ReddiChat

v2.0.0 — Community Intelligence

04 Apr 20:10

Choose a tag to compare

Community Intelligence

New AI Tools

  • Sentiment Analysis — visual sentiment bar with positive/negative/neutral distribution
  • Cross-Subreddit Comparison — compare how different communities view the same topic
  • Trending Topics — velocity-ranked hot posts per subreddit
  • Thread Summarizer — TLDR with key points, consensus, and dissenting opinions

Enhanced UI

  • Rich source previews with thumbnails, link domains, and relative timestamps
  • SentimentBar component renders inline in chat responses
  • Subreddit pages (/r/[subreddit]) with design tokens and floating "Ask" CTA
  • Enhanced system prompt for intelligent tool selection

Design System (v1.7.0)

  • Full Orangered brand identity with Apple-inspired shadows
  • Warm token system for light/dark themes
  • 2-font typography (Plus Jakarta Sans + JetBrains Mono)

v1.7.0 — Design System Overhaul

04 Apr 20:09

Choose a tag to compare

Design System Overhaul

  • Reddit Orangered (#ff4500) as singular brand accent, replacing all purple
  • --rc-* CSS custom property token system for light/dark themes
  • Warm gray surfaces with cream undertones (not cold grays)
  • Apple-inspired diffused card shadows with hover lift on light theme
  • Consolidated to 2 fonts: Plus Jakarta Sans + JetBrains Mono
  • Semi-transparent rgba borders throughout
  • Orange focus rings and active states
  • Full DESIGN.md documentation
  • All hardcoded colors converted to Tailwind brand token classes

v1.6.0 — User Roles & Tier-Based Access Control

28 Mar 14:37

Choose a tag to compare

ReddiChat v1.6.0

Features

  • User Roles — role column on user table (free/pro/team/admin) exposed via Better Auth session
  • Tier Configuration — single source of truth in tiers.ts for all per-tier limits and model access
  • Model Locking — free tier limited to Gemini 2.5 Flash; locked models show lock icon in UI
  • Tier-Aware Limits — daily usage limits scale per tier (100→1000→5000→unlimited msgs/day)
  • Admin APIGET /api/admin/users (paginated user list with usage) and PATCH /api/admin/users/[id]/role (role management)
  • Dynamic Plan Badge — profile dropdown shows actual tier name and limits
  • Auto Model Reset — if user's selected model isn't in their tier, silently resets to default

Tier Limits

Free Pro Team Admin
Messages/day 100 1,000 5,000 Unlimited
Models Gemini 2.5 Flash All All All

v1.5.0 — Search, Export & Interaction Polish

28 Mar 14:37

Choose a tag to compare

ReddiChat v1.5.0

Features

  • Conversation Search — filter threads by title from the sidebar with real-time filtering
  • Markdown Export — download any conversation as a .md file with sources
  • Streaming Phases — elapsed time display during AI responses, >15s warning banner
  • Keyboard Shortcuts — Cmd/Ctrl+K (search), Cmd/Ctrl+N (new chat), Escape (close)
  • Error UI — styled retry button with contextual hints (rate limit, timeout, network)
  • Accessibility — aria-busy on streaming messages, aria-labels on all interactive elements, focus-visible rings

v1.4.2 — Quick Topic Chips

28 Mar 14:00

Choose a tag to compare

ReddiChat v1.4.2

Changes

  • Quick topic chips in the contact dialog — select a topic and the form fills instantly
  • 5 topics: Upgrade to Pro, Billing Question, Report Issue, Feature Request, Other
  • Each chip prefills both subject and a structured message template
  • "Upgrade to Pro" auto-inserts the user's email address
  • Active chip highlighted with purple accent
  • Textarea auto-focuses after selection with cursor at end
  • 3-click flow: open → select topic → send
  • Full dark mode support, chips wrap on mobile

v1.4.1 — In-App Contact Form

28 Mar 13:40

Choose a tag to compare

ReddiChat v1.4.1

Changes

  • In-app contact form replaces the raw mailto: link in the profile dropdown
  • Contact dialog with pre-filled subject ("Billing Inquiry — ReddiChat"), character limits, and toast feedback
  • POST /api/contact endpoint sends email via Nodemailer with HTML escaping and replyTo support
  • Rate limited to 5 contact messages per user per day
  • User's email is read from session (not editable) to prevent spoofing

v1.4.0 — Profile Dropdown & UX Polish

28 Mar 13:24

Choose a tag to compare

ReddiChat v1.4.0

Features

Profile Dropdown

  • Rich dropdown replacing sidebar footer: user info, usage progress bar, plan badge, settings, billing contact, sign out
  • Inline display name editing with PATCH /api/user/profile (auth, validation, rate limiting)
  • Theme toggle moved into dropdown (removed from sidebar header)
  • Usage progress bar with color-coded thresholds and reset countdown
  • "Free Plan — 100 msgs/day" badge
  • Works in both expanded and collapsed sidebar states

Copy Button on AI Responses

  • Copy-to-clipboard button on every assistant message
  • Visible on hover (desktop), always visible (mobile)
  • Toast confirmation with check icon feedback

Mobile-Responsive Layout

  • Sidebar overlays content on mobile (<768px) instead of pushing
  • 44px minimum touch targets on all interactive elements
  • Reddit source cards stack vertically on small screens
  • Model selector dropdown goes full-width on mobile

v1.3.1 — Usage Visibility

28 Mar 12:37

Choose a tag to compare

ReddiChat v1.3.1

Patch release completing v1.3.0 security work with user-facing usage visibility.

Features

  • Usage APIGET /api/usage returns daily usage, limits, and UTC reset time
  • Usage indicator — shows remaining messages in the chat input bar with color-coded thresholds (gray → amber → red)
  • Precise limit errors — "You've used 100/100 messages today. Resets at midnight UTC." instead of generic messages
  • Send button disabled when daily message limit is exhausted
  • Tooltip on usage indicator shows full breakdown (messages, tokens, uploads)
  • Auto-refreshes usage every 60 seconds

Bug Fixes

  • Usage data now visible to users before they hit limits
  • Error messages include exact counts for all limit types (messages, tokens, uploads, upload bytes)

v1.3.0 — Security & Cost Protection

28 Mar 12:16

Choose a tag to compare

ReddiChat v1.3.0

Features

  • DB-backed daily usage limits (100 msgs/day, 500K tokens/day, 50 uploads/day, 100MB/day)
  • usage_tracking table with per-user daily aggregation via upsert
  • Token budget system — caps input at ~32K estimated tokens, truncates oldest history
  • File upload hardening: MIME whitelist with magic byte validation, max 5 files/request, filename sanitization
  • Request body size limit (50MB)
  • Error sanitization — no internal error details leak to client
  • Comprehensive request logging with requestId tracing on all endpoints
  • requestId generation in structured logger

Security Improvements

  • Every chat request now logs: requestId, userId, model, input size, file count, tools used, response size, duration
  • Daily limits enforced at database level — survives restarts and deploys
  • File content validated against declared MIME type using magic bytes
  • AI provider errors mapped to safe user-facing messages

v1.2.0 — Production Hardening

28 Mar 12:16

Choose a tag to compare

ReddiChat v1.2.0

Features

  • In-memory rate limiting (30/hr chat, 20/hr upload, 60/hr reddit)
  • Zod input validation on all API endpoints
  • DB connection pooling (max 20, idle 30s, connect 5s)
  • Database indexes on conversations, messages, and attachments
  • N+1 query fix — batch attachment fetch replaces Promise.all loop
  • Exponential backoff retry for Reddit API token refresh
  • 10s timeout on S3 uploads
  • Partial AI response guard — only saves after full stream
  • Structured JSON logger replacing all console.log/error