Skip to content

Add worklogs, timers and board time reports #584

Description

@bionicman

Problem

Kan has no built-in way to record actual time spent on a card. Teams that use timers and manual worklogs have to keep that history in a separate product, so card context, permissions, reporting, and exports become fragmented.

This is related to #312, but deliberately narrower. Estimates can reasonably become custom fields; actual time is a history of dated entries attributed to members, plus server-side state for running timers.

Proposed behaviour

  • Time tracking is enabled per board.
  • A member can start and stop one personal timer.
  • Time can also be added manually with a member, date, duration, and optional comment.
  • Cards show total time, per-member totals, and paginated worklog history.
  • Card history can be filtered by period and by member.
  • A board report supports period, member, list, card, and label filters.
  • Reports can be exported as detailed, summary, or analysis-friendly CSV.
  • Workspace permissions control viewing, adding, editing, deleting, and managing other members' entries.

Disabling time tracking hides the feature without deleting its history. Existing running timers can still be stopped or discarded.

Implementation

A working implementation is ready in habralab/kan:feat/time-tracking, rebased onto the current main.

The implementation uses generic worklog and time-tracking concepts. The Everhour importer used for our own migration is separate and is not included in this proposal.

It has repository, API, utility, and browser coverage, including concurrent timer starts, permissions, lifecycle boundaries, pagination, filtered reports, CSV safety, and cross-board move protection. We have also exercised it against a production-sized imported dataset.

The branch includes a user and operations guide. We can split the implementation into smaller PRs if that makes review easier.

Screenshots

Board and card workflow

Board overview with time tracking enabled

Card worklogs filtered to one member

Board report

Board-wide time report

Permissions and CSV export

Workspace time-tracking permissions

Analysis-friendly CSV export

Out of scope

  • estimates and story points — a small part of my team uses them, and I am still considering this direction, but I have not received enough useful feedback from them to propose a good model yet;
  • billing, budgets, and invoicing;
  • automatic activity detection;
  • migration from third-party time trackers — our fork technically has a separate importer for Everhour Power-Up data, but it is migration-specific and is not ready to be treated as a supported feature.

Would you like to work on this feature?

  • Yes, the first implementation is ready for review
  • No, I'm just suggesting the feature

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