Skip to content

campfire messages returns stale/old messages instead of latest #284

@brigleb

Description

@brigleb

Summary

basecamp campfire messages does not return the most recent messages in a campfire. It appears to fetch from somewhere in the middle of the campfire history rather than the newest end, making the command unreliable for checking recent activity.

Steps to Reproduce

# CLI returns old messages (Aug 2025 in a campfire with activity through Mar 2026)
basecamp campfire messages --in <project_id> --limit 3 --json

Returns messages from August 2025:

{"id": "...", "created_at": "2025-08-03T04:51:07.757Z"}
{"id": "...", "created_at": "2025-08-03T04:50:53.862Z"}
{"id": "...", "created_at": "2025-08-02T05:46:42.952Z"}

The --md output returns the same batch of 25 messages (Aug 2025 – Jan 2026) but displays them in reverse order, which masks the issue by showing the "newest" of the stale batch first.

Expected Behavior

The command should return the most recent messages, consistent with what the raw API returns:

# Raw API correctly returns the latest messages
basecamp api get "/buckets/<project_id>/chats/<chat_id>/lines.json?sort=created_at&direction=desc" --quiet

Returns messages from March 2026 — the actual latest activity.

Current Workaround

Use the raw API with explicit sort parameters:

basecamp api get "/buckets/<project>/chats/<chat_id>/lines.json?sort=created_at&direction=desc" --quiet

This requires first looking up the campfire's chat ID, which defeats the purpose of the higher-level campfire messages command.

Feature Request

  1. Default to newest messagescampfire messages should show the most recent messages by default, matching user expectations and the command's description ("View recent messages").
  2. Add sort/direction flags — Expose --sort and --direction (or a simpler --latest / --oldest) so users can control the order.
  3. Add --since flag — Allow filtering by date, e.g. --since 2026-03-01 to see recent activity.

Environment

  • Basecamp CLI (v0.4.0)

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions