Skip to content

[Task]: Implement chat discussions and threads for tasks with @ mentions #57

@luizhcastro

Description

@luizhcastro

Objective

Implement a comprehensive discussion and threading system for tasks that allows team members to communicate effectively through nested comments, @mentions for user notifications, and #references for linking to related issues, PRs, and other tasks.

Scope

In scope:

Backend Implementation:

  • Create comments entity with fields: task_id, user_id, content, parent_comment_id (for threading)
  • POST /api/tasks/:id/comments endpoint for creating comments
  • POST /api/comments/:id/replies endpoint for creating threaded replies
  • GET /api/tasks/:id/comments returns nested threads structure
  • DELETE /api/comments/:id endpoint for comment deletion
  • PUT /api/comments/:id endpoint for editing comments
  • Store mentioned users in mentions table for tracking

Mention System:

  • @mention parsing logic to detect user mentions in comments
  • User search/autocomplete API for @mentions
  • Notification system for mentioned users

Reference System:

  • #reference parsing logic to detect and link issues/PRs/tasks
  • Support for #123 format to reference issues and PRs within repository
  • Automatic linking and preview of referenced items
  • Store references in database for relationship tracking

Frontend Implementation:

  • Markdown rendering support for comments with @mentions and #references
  • Rich text editor with autocomplete for @mentions and #references
  • Threaded reply UI with proper nesting visualization
  • Comment actions: edit, delete, reply

Testing & Documentation:

  • Unit tests for comment CRUD and threading logic
  • Unit tests for @mention and #reference parsing
  • API documentation updated with new endpoints

Out of scope:

  • Real-time notifications for mentions (separate issue)
  • UI component to display timeline (separate issue)
  • Emoji reactions to comments
  • Comment attachments/file uploads
  • Comment search functionality

Related Issues

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions