beatbrot / trackie

⏳ trackie is a private, daemon-less time tracker for your CLI.
https://crates.io/crates/trackie
Apache License 2.0
47 stars 3 forks source link

Tags (?) #27

Open chmanie opened 3 years ago

chmanie commented 3 years ago

Is your feature request related to a problem? Please describe. In a lot of projects I need to specify on my timesheet what exactly I was working on. I know I could use the project id for this but a lot of times I only know what I actually worked on after I stop the timer.

Describe the solution you'd like I think I a good solution would be to be able to specify tags (much like timewarrior) to add to an entry. But I really would like to add them when stopping the timer. Another solution that would also work for me is to add the project-id when the timer is stopped.

Again, I'd be happy to assist with the implementation :)

beatbrot commented 3 years ago

Hmmm I am not really on board with the tag idea. To me, trackie should be as bare-bones as possible. Tags do not really fit into that.

But I like the idea of specifying the project-id when the timing is stopped.

Maybe we could make a project-id optional when starting the tracking and then add the possiblity specify a project-id when stopping the tracking.

Imo, this would lead to the following implications:

ID specified on start ID specified on stop Consequence
x - Everything stays as it is now
x x User gets a warning (maybe even a y/n question) when stopping where he is informed that the ID is overriden
- x User gets warning on start that he has to specify ID later
- - Error, tracking does not get stopped

What would be your opinion on this variant?

chmanie commented 3 years ago

Thank you for your thoughts and detailed answer! I totally get your notion about the tags and I agree. It's just something I saw somewhere else that could solve my problem (well, partly) but essentially I don't really need more than one tag per work-unit.

Thanks also for providing the helpful table. For me the last option is actually the most seamless as it gives maximum flexibility. You have to provide an id, that's just how it works. Another option would be to use a randomly generated id (maybe with some meaningful name - as far as possible) when the tracking is stopped and no project id was given. What do you think?