wakatime / browser-wakatime

Chrome extension for automatic time tracking and metrics generated from your browsing activity.
https://wakatime.com
BSD 3-Clause "New" or "Revised" License
420 stars 99 forks source link

Combining the log history with other projects being worked on in other editors. #28

Open CodyKochmann opened 9 years ago

CodyKochmann commented 9 years ago

We are having a hard time trying to figure out how to set up the URLs as certain projects and the current solution (as far as I understand at least) is to set it in the extension. Is there a way to check if there are any other WakaTime logs from other editors that were used within the last x number of minutes to be able to decide what project was being worked on?

If there is too much of a delay in the service, it could just submit the logs after it has had a chance to check for other projects currently being worked on by that user. I'd take precision over live streaming progress.

mabasic commented 9 years ago

This is the case for @alanhamlett :)

CodyKochmann commented 9 years ago

I kind of wish they had a supplemental type of project traffic that you could submit that would just become an addition to the nearest project in time

teserak commented 9 years ago

It's better than my idea #17

CodyKochmann commented 9 years ago

Your idea is what got me thinking about it. The browser is so flexible to all of our different projects that it can't necessarily behave the way that our hyper-focused editors do.

lindseyhanna-wf commented 9 years ago

It'd be great to tie some URLS to specific projects, specifically for localhost ports, but I think most of the time I'm on the internet for programming it could fall under something like "research/learning". Possibly something along those lines could be the default "project" and then if you wanted you could change individual urls/domains to point to specific projects (e.g. github projects for code review, etc).

CodyKochmann commented 9 years ago

@lindseyhanna-wf I was thinking that originally but there are times where I'll jump from Sublime Text to chrome to figure out how I was going to implement the next step of something and for now at least it kind of bites to have that not go where it belongs. I think if adaptive management isn't doable then "research/learning" should definitely be considered.

lindseyhanna-wf commented 9 years ago

Is it possible to do it based off some kind of timer? Like if you had an IDE event within x time of a Chrome event then those Chrome events would be assigned to the IDE project? This would probably work better for people using a whitelist than a blacklist but maybe something to think about, or it'll spark you a better idea. =)

But also I thinking seeing the difference between active coding and reading things could be valuable. Are projects mutually exclusive? Might be nice to be able to differentiate time between IDE/testing events and things like looking at stackoverflow, both on a per-project level as well as like an overall pie chart.

Corstiaan84 commented 8 years ago

Hi. What the status of this? :-)

Really like WakaTime and would love to be able to allocate browsing time in chrome to projects in wakatime. Currently the extension only logs general pages, and not connecting them to projects, correct?

alanhamlett commented 8 years ago

Already, if you send <<LAST_PROJECT>> as the project in a heartbeat it will replace that with your last used project.

CodyKochmann commented 8 years ago

@alanhamlett Where do we set that? Like @lindseyhanna-wf was saying, this would be an amazing feature that would just sprinkle the missing time from our IDEs back into the time logs.

alanhamlett commented 8 years ago

dfce5407c07ef520cc8d3988b4e738a00e66ceec uses <<LAST_PROJECT>> for all heartbeats now.

CodyKochmann commented 8 years ago

@alanhamlett - its insane how much that one commit made things more clear in the stats. Thank you :)

erichard commented 8 years ago

@alanhamlett How the <<LAST_PROJECT>> work exactly ? All my heartbeats are grouped in an "Unknown Project"...

alanhamlett commented 8 years ago

It uses the last project you coded in from another editor. If the last project you coded in was unknown, then <<LAST_PROJECT>> will also be unknown.

erichard commented 8 years ago

Heartbeats from my editor (Sublime Text) are correctly grouped in projects thanks to custom rules but not those from Chrome...

drdaeman commented 8 years ago

While there is no great one-fits-all solution yet, is it possible to have project used in _preparePayload as a configurable option?

I'm asking because personally, I'd rather prefer to have a separate "web browsing" pseudo-project rather than current hardcoded use of <<LAST_PROJECT>>. Because, even with a whitelist, I'm not always browsing for what corresponds to the last project I've edited.

alanhamlett commented 8 years ago

We want to categorize web browsing as it's own thing in the future, then if you choose to not use <<LAST_PROJECT>> it will still be readable instead of going into Unknown Project.

For now, a hard-coded project would work.

ghost commented 7 years ago

As mentioned by others, I've had time logged under the wrong project. I'd love it if the whitelist was converted to a grid/table and the left column was the URL with the right column being the project. This could be a drop-down as mentioned or if it's possible I'm fine with it just being a text box that I could copy and paste a value from the Dashboard in to.

iamkarlson commented 5 years ago

Hey guys, my friend wrote a nice functionality around this plugin. You can see it here. Basically, you can configure your rules through json file which you provide to the extension. How do you think is it a good idea trying to merge it into the mainstream?

He used it with his coworkers on a daily basis as far I understand. Maybe we can elaborate a bit and get the same? I started working on some improvements already however it can take time.

muety commented 1 year ago

Would love to have a mapping table similar to what @ghost proposed. For example, I'd like to set up a URL-to-project mapping like this:

URL Project
default unknown
http://localhost:* <<LAST_PROJECT>>
https://*.wikipedia.org Education