Skip to content

Commit f56a0ca

Browse files
authored
Merge pull request #1218 from wakatime/develop
Release v1.129.0
2 parents a69e7a6 + 7f38194 commit f56a0ca

File tree

12 files changed

+110
-154
lines changed

12 files changed

+110
-154
lines changed

cmd/heartbeat/heartbeat.go

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -211,15 +211,13 @@ func buildHeartbeats(ctx context.Context, params params.Params) []heartbeat.Hear
211211
var heartbeats = make([]heartbeat.Heartbeat, 0, 1+len(params.Heartbeat.ExtraHeartbeats))
212212

213213
heartbeats = append(heartbeats, heartbeat.New(
214-
params.Heartbeat.AIAdditions,
215-
params.Heartbeat.AIDeletions,
214+
params.Heartbeat.AILineChanges,
216215
params.Heartbeat.Project.BranchAlternate,
217216
params.Heartbeat.Category.String(),
218217
params.Heartbeat.CursorPosition,
219218
params.Heartbeat.Entity,
220219
params.Heartbeat.EntityType,
221-
params.Heartbeat.HumanAdditions,
222-
params.Heartbeat.HumanDeletions,
220+
params.Heartbeat.HumanLineChanges,
223221
params.Heartbeat.IsUnsavedEntity,
224222
params.Heartbeat.IsWrite,
225223
params.Heartbeat.Language,

cmd/offline/offline.go

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -81,15 +81,13 @@ func buildHeartbeats(ctx context.Context, params params.Params) []heartbeat.Hear
8181
userAgent := heartbeat.UserAgent(ctx, params.API.Plugin)
8282

8383
heartbeats = append(heartbeats, heartbeat.New(
84-
params.Heartbeat.AIAdditions,
85-
params.Heartbeat.AIDeletions,
84+
params.Heartbeat.AILineChanges,
8685
params.Heartbeat.Project.BranchAlternate,
8786
params.Heartbeat.Category.String(),
8887
params.Heartbeat.CursorPosition,
8988
params.Heartbeat.Entity,
9089
params.Heartbeat.EntityType,
91-
params.Heartbeat.HumanAdditions,
92-
params.Heartbeat.HumanDeletions,
90+
params.Heartbeat.HumanLineChanges,
9391
params.Heartbeat.IsUnsavedEntity,
9492
params.Heartbeat.IsWrite,
9593
params.Heartbeat.Language,

cmd/root.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,8 @@ func NewRootCMD() *cobra.Command {
5252

5353
func setFlags(cmd *cobra.Command, v *viper.Viper) {
5454
flags := cmd.Flags()
55-
flags.Int("ai-additions", 0, "Optional number of lines added by AI since last heartbeat in the current file.")
56-
flags.Int("ai-deletions", 0, "Optional number of lines deleted by AI since last heartbeat in the current file.")
55+
flags.Int("ai-line-changes", 0, "Optional number of lines added or removed by AI since "+
56+
" last heartbeat in the current file.")
5757
flags.String("alternate-branch", "", "Optional alternate branch name. Auto-detected branch takes priority.")
5858
flags.String("alternate-language", "", "Optional alternate language name. Auto-detected language takes priority.")
5959
flags.String("alternate-project", "", "Optional alternate project name. Auto-detected project takes priority.")
@@ -71,9 +71,9 @@ func setFlags(cmd *cobra.Command, v *viper.Viper) {
7171
flags.String(
7272
"category",
7373
"",
74-
"Category of this heartbeat activity. Can be \"coding\", \"ai coding\", "+
75-
" \"building\", \"indexing\", \"debugging\", \"learning\","+
76-
" \"meeting\", \"planning\", \"researching\", \"communicating\", \"supporting\" "+
74+
"Category of this heartbeat activity. Can be \"coding\", \"ai coding\","+
75+
" \"building\", \"indexing\", \"debugging\", \"learning\", \"notes\","+
76+
" \"meeting\", \"planning\", \"researching\", \"communicating\", \"supporting\","+
7777
" \"advising\", \"running tests\", \"writing tests\", \"manual testing\","+
7878
" \"writing docs\", \"code reviewing\", \"browsing\","+
7979
" \"translating\", or \"designing\". Defaults to \"coding\".",
@@ -151,8 +151,8 @@ func setFlags(cmd *cobra.Command, v *viper.Viper) {
151151
" created with a random project name.",
152152
)
153153
flags.String("hostname", "", "Optional name of local machine. Defaults to local machine name read from system.")
154-
flags.Int("human-additions", 0, "Optional number of lines added by humans since last heartbeat in the current file.")
155-
flags.Int("human-deletions", 0, "Optional number of lines deleted by humans since last heartbeat in the current file.")
154+
flags.Int("human-line-changes", 0, "Optional number of lines added or removed by humans since"+
155+
" last heartbeat in the current file.")
156156
flags.StringSlice(
157157
"include",
158158
nil,

main_test.go

Lines changed: 8 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -138,10 +138,8 @@ func testSendHeartbeats(t *testing.T, projectFolder, entity, prj string) {
138138
"--cursorpos", "12",
139139
"--offline-queue-file", offlineQueueFile.Name(),
140140
"--offline-queue-file-legacy", offlineQueueFileLegacy.Name(),
141-
"--ai-additions", "123",
142-
"--ai-deletions", "456",
143-
"--human-additions", "8999",
144-
"--human-deletions", "145",
141+
"--ai-line-changes", "123",
142+
"--human-line-changes", "456",
145143
"--lineno", "42",
146144
"--lines-in-file", "100",
147145
"--time", "1585598059",
@@ -235,10 +233,8 @@ func TestSendHeartbeats_SecondaryApiKey(t *testing.T) {
235233
"--cursorpos", "12",
236234
"--offline-queue-file", offlineQueueFile.Name(),
237235
"--offline-queue-file-legacy", offlineQueueFileLegacy.Name(),
238-
"--ai-additions", "123",
239-
"--ai-deletions", "456",
240-
"--human-additions", "8999",
241-
"--human-deletions", "145",
236+
"--ai-line-changes", "123",
237+
"--human-line-changes", "456",
242238
"--lineno", "42",
243239
"--lines-in-file", "100",
244240
"--time", "1585598059",
@@ -318,10 +314,8 @@ func TestSendHeartbeats_Timeout(t *testing.T) {
318314
"--cursorpos", "12",
319315
"--offline-queue-file", offlineQueueFile.Name(),
320316
"--offline-queue-file-legacy", offlineQueueFileLegacy.Name(),
321-
"--ai-additions", "123",
322-
"--ai-deletions", "456",
323-
"--human-additions", "8999",
324-
"--human-deletions", "145",
317+
"--ai-line-changes", "123",
318+
"--human-line-changes", "456",
325319
"--lineno", "42",
326320
"--lines-in-file", "100",
327321
"--time", "1585598059",
@@ -932,10 +926,8 @@ func TestSendHeartbeats_Err(t *testing.T) {
932926
"--cursorpos", "12",
933927
"--offline-queue-file", offlineQueueFile.Name(),
934928
"--offline-queue-file-legacy", offlineQueueFileLegacy.Name(),
935-
"--ai-additions", "123",
936-
"--ai-deletions", "456",
937-
"--human-additions", "8999",
938-
"--human-deletions", "145",
929+
"--ai-line-changes", "123",
930+
"--human-line-changes", "456",
939931
"--lineno", "42",
940932
"--lines-in-file", "100",
941933
"--time", "1585598059",

pkg/heartbeat/category.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,8 @@ const (
4141
ManualTestingCategory
4242
// MeetingCategory means user is currently meeting.
4343
MeetingCategory
44+
// NotesCategory means user is currently taking notes.
45+
NotesCategory
4446
// PlanningCategory means user is currently planning.
4547
PlanningCategory
4648
// ResearchingCategory means user is currently researching.
@@ -71,6 +73,7 @@ const (
7173
learningCategoryString = "learning"
7274
manualTestingCategoryString = "manual testing"
7375
meetingCategoryString = "meeting"
76+
notesCategoryString = "notes"
7477
planningCategoryString = "planning"
7578
researchingCategoryString = "researching"
7679
runningTestsCategoryString = "running tests"
@@ -162,6 +165,8 @@ func ParseCategory(s string) (Category, error) {
162165
return ManualTestingCategory, nil
163166
case meetingCategoryString:
164167
return MeetingCategory, nil
168+
case notesCategoryString:
169+
return NotesCategory, nil
165170
case planningCategoryString:
166171
return PlanningCategory, nil
167172
case researchingCategoryString:
@@ -240,6 +245,8 @@ func (c Category) String() string {
240245
return manualTestingCategoryString
241246
case MeetingCategory:
242247
return meetingCategoryString
248+
case NotesCategory:
249+
return notesCategoryString
243250
case PlanningCategory:
244251
return planningCategoryString
245252
case ResearchingCategory:

pkg/heartbeat/category_test.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ func categoryTests() map[string]heartbeat.Category {
2525
"learning": heartbeat.LearningCategory,
2626
"manual testing": heartbeat.ManualTestingCategory,
2727
"meeting": heartbeat.MeetingCategory,
28+
"notes": heartbeat.NotesCategory,
2829
"planning": heartbeat.PlanningCategory,
2930
"researching": heartbeat.ResearchingCategory,
3031
"running tests": heartbeat.RunningTestsCategory,

pkg/heartbeat/heartbeat.go

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,7 @@ var remoteAddressRegex = regexp.MustCompile(`(?i)^((ssh|sftp)://)+(?P<credential
2020

2121
// Heartbeat is a structure representing activity for a user on a some entity.
2222
type Heartbeat struct {
23-
AIAdditions *int `json:"ai_additions,omitempty"`
24-
AIDeletions *int `json:"ai_deletions,omitempty"`
23+
AILineChanges *int `json:"ai_line_changes,omitempty"`
2524
APIKey string `json:"-"`
2625
Branch *string `json:"branch,omitempty"`
2726
BranchAlternate string `json:"-"`
@@ -30,8 +29,7 @@ type Heartbeat struct {
3029
Dependencies []string `json:"dependencies,omitempty"`
3130
Entity string `json:"entity"`
3231
EntityType EntityType `json:"type"`
33-
HumanAdditions *int `json:"human_additions,omitempty"`
34-
HumanDeletions *int `json:"human_deletions,omitempty"`
32+
HumanLineChanges *int `json:"human_line_changes,omitempty"`
3533
IsUnsavedEntity bool `json:"-"`
3634
IsWrite *bool `json:"is_write,omitempty"`
3735
Language *string `json:"language,omitempty"`
@@ -54,15 +52,13 @@ type Heartbeat struct {
5452
// New creates a new instance of Heartbeat with formatted entity
5553
// and local file paths for file type heartbeats.
5654
func New(
57-
adAdditions *int,
58-
aiDeletions *int,
55+
aiLineChanges *int,
5956
branchAlternate string,
6057
category string,
6158
cursorPosition *int,
6259
entity string,
6360
entityType EntityType,
64-
humanAdditions *int,
65-
humanDeletions *int,
61+
humanLineChanges *int,
6662
isUnsavedEntity bool,
6763
isWrite *bool,
6864
language *string,
@@ -78,15 +74,13 @@ func New(
7874
userAgent string,
7975
) Heartbeat {
8076
return Heartbeat{
81-
AIAdditions: adAdditions,
82-
AIDeletions: aiDeletions,
77+
AILineChanges: aiLineChanges,
8378
BranchAlternate: branchAlternate,
8479
Category: category,
8580
CursorPosition: cursorPosition,
8681
Entity: entity,
8782
EntityType: entityType,
88-
HumanAdditions: humanAdditions,
89-
HumanDeletions: humanDeletions,
83+
HumanLineChanges: humanLineChanges,
9084
IsUnsavedEntity: isUnsavedEntity,
9185
IsWrite: isWrite,
9286
Language: language,

pkg/heartbeat/heartbeat_test.go

Lines changed: 17 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,12 @@ import (
2121
func TestNew(t *testing.T) {
2222
h := heartbeat.New(
2323
heartbeat.PointerTo(5),
24-
heartbeat.PointerTo(3),
2524
"feature/branch",
2625
heartbeat.CodingCategory.String(),
2726
heartbeat.PointerTo(12),
2827
"testdata/main.go",
2928
heartbeat.FileType,
3029
heartbeat.PointerTo(2),
31-
heartbeat.PointerTo(3),
3230
true,
3331
heartbeat.PointerTo(true),
3432
heartbeat.PointerTo("Go"),
@@ -47,14 +45,12 @@ func TestNew(t *testing.T) {
4745
assert.True(t, strings.HasSuffix(h.Entity, "testdata/main.go"))
4846

4947
assert.Equal(t, heartbeat.Heartbeat{
50-
AIAdditions: heartbeat.PointerTo(5),
51-
AIDeletions: heartbeat.PointerTo(3),
48+
AILineChanges: heartbeat.PointerTo(5),
5249
BranchAlternate: "feature/branch",
5350
Category: heartbeat.CodingCategory.String(),
5451
CursorPosition: heartbeat.PointerTo(12),
5552
EntityType: heartbeat.FileType,
56-
HumanAdditions: heartbeat.PointerTo(2),
57-
HumanDeletions: heartbeat.PointerTo(3),
53+
HumanLineChanges: heartbeat.PointerTo(2),
5854
IsUnsavedEntity: true,
5955
IsWrite: heartbeat.PointerTo(true),
6056
Language: heartbeat.PointerTo("Go"),
@@ -95,23 +91,21 @@ func TestHeartbeat_ID_NilFields(t *testing.T) {
9591

9692
func TestHeartbeat_JSON(t *testing.T) {
9793
h := heartbeat.Heartbeat{
98-
AIAdditions: heartbeat.PointerTo(5),
99-
AIDeletions: heartbeat.PointerTo(3),
100-
Branch: heartbeat.PointerTo("heartbeat"),
101-
Category: heartbeat.DebuggingCategory.String(),
102-
CursorPosition: heartbeat.PointerTo(12),
103-
Dependencies: []string{"dep1", "dep2"},
104-
Entity: "/tmp/main.go",
105-
EntityType: heartbeat.FileType,
106-
HumanAdditions: heartbeat.PointerTo(2),
107-
HumanDeletions: heartbeat.PointerTo(3),
108-
IsWrite: heartbeat.PointerTo(true),
109-
Language: heartbeat.PointerTo("Go"),
110-
LineNumber: heartbeat.PointerTo(42),
111-
Lines: heartbeat.PointerTo(100),
112-
Project: heartbeat.PointerTo("wakatime"),
113-
Time: 1585598060.1,
114-
UserAgent: "wakatime/13.0.7",
94+
AILineChanges: heartbeat.PointerTo(5),
95+
Branch: heartbeat.PointerTo("heartbeat"),
96+
Category: heartbeat.DebuggingCategory.String(),
97+
CursorPosition: heartbeat.PointerTo(12),
98+
Dependencies: []string{"dep1", "dep2"},
99+
Entity: "/tmp/main.go",
100+
EntityType: heartbeat.FileType,
101+
HumanLineChanges: heartbeat.PointerTo(2),
102+
IsWrite: heartbeat.PointerTo(true),
103+
Language: heartbeat.PointerTo("Go"),
104+
LineNumber: heartbeat.PointerTo(42),
105+
Lines: heartbeat.PointerTo(100),
106+
Project: heartbeat.PointerTo("wakatime"),
107+
Time: 1585598060.1,
108+
UserAgent: "wakatime/13.0.7",
115109
}
116110

117111
jsonEncoded, err := json.Marshal(h)

pkg/heartbeat/testdata/heartbeat.json

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
11
{
2-
"ai_additions": 5,
3-
"ai_deletions": 3,
2+
"ai_line_changes": 5,
43
"branch": "heartbeat",
54
"category": "debugging",
65
"cursorpos": 12,
76
"dependencies": ["dep1", "dep2"],
87
"entity": "/tmp/main.go",
9-
"human_additions": 2,
10-
"human_deletions": 3,
8+
"human_line_changes": 2,
119
"is_write": true,
1210
"language": "Go",
1311
"lineno": 42,

0 commit comments

Comments
 (0)