Skip to content

Chat lines don't say which line they reply to #874

Open

Description

@notolivaresf

What happens

In the web and mobile apps, a chat line can be a reply to an earlier line: the UI shows the quoted line above the new one. The CLI has no way to tell that a line is a reply, or which line it answers.

  • basecamp chat line <id> --json returns content, title, parent (the chat transcript), creator and so on, but no field pointing at the quoted line. content is only the new text.
  • basecamp chat messages --json is the same.
  • basecamp events <id> --json shows the created event with details: {}.
  • The live event feed (chat.line.created over the events stream) carries the same empty details.

So a tool (or an agent) reading the chat sees a short line like "Let's make it less robotic." with no idea which message it refers to, while a person in the app sees the quote right above it.

What I'd like

The id of the quoted line (and ideally its URL) on a chat line that is a reply, for example:

{
  "id": 222,
  "type": "Chat::Lines::RichText",
  "content": "<p>Let's make it less robotic.</p>",
  "reply_to": { "id": 111, "app_url": "https://app.basecamp.com/…/chats/…@111" }
}

and the same id in the chat.line.created event's details, so a watcher knows without a second request. A basecamp chat reply <line> "<text>" to post a real reply would round it out.

Why

An agent that answers in chat needs to know what a reply is about. Today it has to guess from context, or ask, or the person has to paste the line's link by hand (which does come through, as a link in content). Comments already expose this kind of thing (comments show has reply_target); chat lines don't.

Version

basecamp CLI 0.11.0, macOS. Checked against a real reply in a project chat.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions