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

    No fields configured for Feature.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions