Skip to content

Forum UI needs a revamp: no post actions (edit/delete/reply), traditional forum layout #130

Description

@krazyjakee

Summary

The forum channel UI (lib/features/messaging/components/forum_view.dart) is currently a minimal list of Card/ListTile rows with a "New post" FAB. It works for creating and opening posts, but it's missing the basic affordances people expect from a forum. It should be revamped toward a more traditional forum layout.

Problems with the current UI

  • No post actions at all. Once a post exists there's no way to edit, delete, pin, or otherwise manage it — no context menu, no overflow menu, no actions on the post row or inside the thread. The author can't fix a typo in their own post's title/body.
  • Bare-bones list layout. Posts are plain ListTiles (forum_view.dart:102-121). No clear thread metadata: no author avatar, no created/last-activity timestamp, no clear reply count styling, no pinned/locked indicators, no tags/categories.
  • Untitled fallback leaks through. Posts without a title render as (untitled) (forum_view.dart:97-99) — see the related MCP gap in send_message can't post to forum channels (no title field → posts are "(untitled)") accordserver-mcp#1.

Desired direction — traditional forum layout

A forum index that reads like a classic forum board, roughly:

  • Each post row shows: title, author (with avatar), created time + last reply time, reply count, and any pinned/locked/tag badges.
  • Sort/filter controls (latest activity, newest, most replies; filter by tag).
  • Per-post actions via overflow/context menu: edit (author/mods), delete (author/mods), pin/lock (mods), reply.
  • Inside a post (thread view): editable root post, reply actions, and the same per-message actions the main message view already has.

Pointers

  • Index view: lib/features/messaging/components/forum_view.dart
  • Thread/detail view: lib/features/messaging/components/thread_view.dart
  • Post creation already sends { 'title', 'content' } to client.messages.create (forum_view.dart:176-179); editing would use the corresponding update endpoint.
  • Reuse the existing message action/context-menu patterns (e.g. lib/features/spaces/views/accord_home_message_row.dart, lib/features/messaging/components/) rather than building new ones.

Acceptance criteria

  • Forum index uses a richer, forum-style row (author, timestamps, reply count, badges).
  • Posts have working actions including edit and delete (permission-gated).
  • Thread view exposes per-message actions consistent with the main message view.
  • Sort/filter affordance for the post list.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions