Skip to content

todos list returns 0 when todos live directly under Todoset (Basecamp 5 listless todos) #474

@ryanburnette

Description

@ryanburnette

Summary

In Basecamp 5, todos can be created directly under the Todoset without being inside a Todolist. basecamp todos list returns 0 for projects where all todos are at the Todoset level.

Steps to reproduce

  1. Create a todo in a Basecamp 5 project without assigning it to a todolist (it lands under the Todoset directly)
  2. Run basecamp todos list --in <project> - returns 0 todos
  3. Run basecamp todolists list --in <project> - returns 0 todolists
  4. Run basecamp recordings todos --in <project> - returns all todos correctly
  5. Run basecamp todos show <id> --in <project> - works fine for individual todos

What is happening

The API returns these todos with parent.type: "Todoset" instead of parent.type: "Todolist". The todos list command apparently only queries todolists to enumerate todos, so it misses todos that live directly under the Todoset.

Example from a project with 6 active todos and zero todolists:

parent: {
  type: "Todoset",
  id: 4518217033,
  title: "To-dos"
}

Compare a todo in a traditional todolist:

parent: {
  type: "Todolist",
  id: 7520915639,
  title: "General"
}

Workaround

basecamp recordings todos --in <project> returns all todos regardless of parent type. basecamp reports assigned and basecamp assignments also work for assigned todos.

Expected behavior

basecamp todos list should return all incomplete todos in a project, including those that live directly under the Todoset. When there are no todolists, the command should query the Todoset for its todos directly.

Environment

  • basecamp-cli v0.7.2
  • Basecamp 5 projects
  • Verified across 4 projects with a total of 16 Todoset-level todos

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    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