Skip to content

Add sort controls to Agents / Messages / Locks tree views #36

@MelbourneDeveloper

Description

@MelbourneDeveloper

Enhancement

Add user-selectable sort controls to the three TMC tree views. Today every view has a single hard-coded order (and the Agents view has none — tracked as the default-sort bug). Users need to re-sort to find things.

Implement view/title menu commands (view/title contributions in package.json, persisted per-view) that cycle/choose the sort key and direction. Default order in bold.

Agents view — agentsTreeProvider.ts

  • Last active (desc) — default (see default-sort bug issue)
  • Name (A→Z / Z→A)
  • Lock count (desc) — busiest agents first
  • Message count (desc)
  • Online first (active agents above offline)

Messages view — messagesTreeProvider.ts

Currently hard-coded to createdAt desc with no toggle.

  • Time (newest first) — default
  • Time (oldest first)
  • Unread first
  • Sender (fromAgent A→Z)
  • Recipient (toAgent A→Z, broadcasts grouped)

Locks / Files view — locksTreeProvider.ts

  • Expiry (soonest first) — default
  • File path (A→Z)
  • Holder (agentName A→Z)
  • Active vs. expired grouped

Cross-cutting

  • Selected sort persists across refreshes (push events must not reset it) and across reloads (workspaceState/globalState).
  • Sort comparators centralized/shared, not duplicated per provider (literals → named constants per repo rules).
  • Black-box VS Code extension tests assert ordering for each sort key via vscode.commands.executeCommand.

Spec: see [VSIX-SORT] in docs/spec.md.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    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