{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":688183034,"defaultBranch":"main","name":"telemetry","ownerLogin":"sourcegraph","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2023-09-06T20:27:36.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/3979584?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1715708114.0","currentOid":""},"activityList":{"items":[{"before":"2e647ed2fae7d7bdc9405e8b2cc5e952c24369ca","after":"ca82b2d093a0a7a9766d92386003118945b435fd","ref":"refs/heads/main","pushedAt":"2024-05-14T17:38:21.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"bobheadxi","name":"Robert Lin","path":"/bobheadxi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23356519?s=80&v=4"},"commit":{"message":"0.17.0","shortMessageHtmlLink":"0.17.0"}},{"before":"71d5d1308223112e6d549842ff00c31c735e9495","after":"2e647ed2fae7d7bdc9405e8b2cc5e952c24369ca","ref":"refs/heads/main","pushedAt":"2024-05-14T17:36:55.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"bobheadxi","name":"Robert Lin","path":"/bobheadxi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23356519?s=80&v=4"},"commit":{"message":"validation: port Go validation to TS (#8)\n\nThanks Cody! Ports https://github.com/sourcegraph/sourcegraph/pull/62214\r\nto the client SDK.\r\n\r\nTest plan: unit test","shortMessageHtmlLink":"validation: port Go validation to TS (#8)"}},{"before":null,"after":"ac9d22d4ec440882affa517a0f15ea58db1a66e5","ref":"refs/heads/telemetry-validate-feature-action","pushedAt":"2024-05-14T17:35:14.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"bobheadxi","name":"Robert Lin","path":"/bobheadxi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23356519?s=80&v=4"},"commit":{"message":"validation: port Go validation to TS","shortMessageHtmlLink":"validation: port Go validation to TS"}},{"before":"65f0b74a5b00f0670420eac4b3367e6ade651cbe","after":"71d5d1308223112e6d549842ff00c31c735e9495","ref":"refs/heads/main","pushedAt":"2024-04-19T10:38:22.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"vdavid","name":"David Veszelovszki","path":"/vdavid","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2552265?s=80&v=4"},"commit":{"message":"Small fixes (#7)","shortMessageHtmlLink":"Small fixes (#7)"}},{"before":null,"after":"29a1246ae6a96ecd156fbd3ce8e83a9e6a9faafd","ref":"refs/heads/dv/small-fixes","pushedAt":"2024-04-15T12:39:22.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"vdavid","name":"David Veszelovszki","path":"/vdavid","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2552265?s=80&v=4"},"commit":{"message":"Add graphql.config.yml","shortMessageHtmlLink":"Add graphql.config.yml"}},{"before":"445bad962df6890048742d4055a4daf613dc9d96","after":"65f0b74a5b00f0670420eac4b3367e6ade651cbe","ref":"refs/heads/main","pushedAt":"2023-12-13T22:44:23.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bobheadxi","name":"Robert Lin","path":"/bobheadxi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23356519?s=80&v=4"},"commit":{"message":"0.15.0","shortMessageHtmlLink":"0.15.0"}},{"before":"ab4f5ef51d9ced44ab122563b04087584fe3d262","after":"445bad962df6890048742d4055a4daf613dc9d96","ref":"refs/heads/main","pushedAt":"2023-12-13T22:43:02.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"bobheadxi","name":"Robert Lin","path":"/bobheadxi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23356519?s=80&v=4"},"commit":{"message":"telemetry: add TimestampTelemetryProcessor (#5)\n\nAdds support for https://github.com/sourcegraph/sourcegraph/pull/58944\r\nwith a processor that can be opted-in to attach the current time to all\r\nevents, as opposed to letting it happen serverside.","shortMessageHtmlLink":"telemetry: add TimestampTelemetryProcessor (#5)"}},{"before":"73c8a68a1ce61b9af2e471223561165c17e385e6","after":"e83484aff46f66490855de762c3c544e55af082b","ref":"refs/heads/event-timestamp","pushedAt":"2023-12-13T21:02:57.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"bobheadxi","name":"Robert Lin","path":"/bobheadxi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23356519?s=80&v=4"},"commit":{"message":"telemetry: add timestamp support with TimestampTelemetryProcessor","shortMessageHtmlLink":"telemetry: add timestamp support with TimestampTelemetryProcessor"}},{"before":"f0545d094019e48bb56ae0109cc25e3a59b54f06","after":"73c8a68a1ce61b9af2e471223561165c17e385e6","ref":"refs/heads/event-timestamp","pushedAt":"2023-12-13T21:01:21.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"bobheadxi","name":"Robert Lin","path":"/bobheadxi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23356519?s=80&v=4"},"commit":{"message":"telemetry: add timestamp support with TimestampTelemetryProcessor","shortMessageHtmlLink":"telemetry: add timestamp support with TimestampTelemetryProcessor"}},{"before":"c57db9d41c6b88d42eb1f40cca298358d872c82d","after":"f0545d094019e48bb56ae0109cc25e3a59b54f06","ref":"refs/heads/event-timestamp","pushedAt":"2023-12-13T19:47:27.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"bobheadxi","name":"Robert Lin","path":"/bobheadxi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23356519?s=80&v=4"},"commit":{"message":"telemetry: add timestamp support with TimestampTelemetryProcessor","shortMessageHtmlLink":"telemetry: add timestamp support with TimestampTelemetryProcessor"}},{"before":null,"after":"c57db9d41c6b88d42eb1f40cca298358d872c82d","ref":"refs/heads/event-timestamp","pushedAt":"2023-12-12T23:57:05.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"bobheadxi","name":"Robert Lin","path":"/bobheadxi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23356519?s=80&v=4"},"commit":{"message":"telemetry: add parameters.timestamp","shortMessageHtmlLink":"telemetry: add parameters.timestamp"}},{"before":"d8765d48f9d50ae5a9109612a6525c8fa304feb9","after":"ab4f5ef51d9ced44ab122563b04087584fe3d262","ref":"refs/heads/main","pushedAt":"2023-12-04T21:15:28.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bobheadxi","name":"Robert Lin","path":"/bobheadxi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23356519?s=80&v=4"},"commit":{"message":"0.14.0","shortMessageHtmlLink":"0.14.0"}},{"before":"50cffc2cebc822a81d896df98a201d3b2182cd0c","after":"d8765d48f9d50ae5a9109612a6525c8fa304feb9","ref":"refs/heads/main","pushedAt":"2023-12-04T21:14:02.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"bobheadxi","name":"Robert Lin","path":"/bobheadxi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23356519?s=80&v=4"},"commit":{"message":"telemetry: add interactionID to parameter (#4)\n\nAdds interaction ID for linking multiple events together as a\r\nfirst-class citizen - see\r\nhttps://github.com/sourcegraph/sourcegraph/pull/58016 and\r\nhttps://github.com/sourcegraph/sourcegraph/pull/58539 . Supported in\r\nSourcegraph 5.2.4 and later.","shortMessageHtmlLink":"telemetry: add interactionID to parameter (#4)"}},{"before":"f1f90f93c2003a9e503cdd87159a2e362084bb2b","after":"3ffeb44029277c601cf61b9305651268beb74ff1","ref":"refs/heads/telemetry-interaction-id","pushedAt":"2023-12-04T20:55:52.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bobheadxi","name":"Robert Lin","path":"/bobheadxi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23356519?s=80&v=4"},"commit":{"message":"telemetry: add version support","shortMessageHtmlLink":"telemetry: add version support"}},{"before":null,"after":"f1f90f93c2003a9e503cdd87159a2e362084bb2b","ref":"refs/heads/telemetry-interaction-id","pushedAt":"2023-12-04T20:53:01.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"bobheadxi","name":"Robert Lin","path":"/bobheadxi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23356519?s=80&v=4"},"commit":{"message":"telemetry: add interactionID to parameter","shortMessageHtmlLink":"telemetry: add interactionID to parameter"}},{"before":"114cfa2d93f9d23ba4c2bb14ea66a67f5379e365","after":"50cffc2cebc822a81d896df98a201d3b2182cd0c","ref":"refs/heads/main","pushedAt":"2023-11-14T19:54:02.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bobheadxi","name":"Robert Lin","path":"/bobheadxi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23356519?s=80&v=4"},"commit":{"message":"0.13.0","shortMessageHtmlLink":"0.13.0"}},{"before":"a8ad789983d3e97a0178b5922643a0effb04060d","after":"114cfa2d93f9d23ba4c2bb14ea66a67f5379e365","ref":"refs/heads/main","pushedAt":"2023-11-14T19:53:26.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bobheadxi","name":"Robert Lin","path":"/bobheadxi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23356519?s=80&v=4"},"commit":{"message":"doc: add Cody special treatment","shortMessageHtmlLink":"doc: add Cody special treatment"}},{"before":"d11e0020092b316d3e8378a95eabac0848d217c7","after":"a8ad789983d3e97a0178b5922643a0effb04060d","ref":"refs/heads/main","pushedAt":"2023-11-14T19:52:36.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"bobheadxi","name":"Robert Lin","path":"/bobheadxi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23356519?s=80&v=4"},"commit":{"message":"doc: correctly ask callers to use camelCase","shortMessageHtmlLink":"doc: correctly ask callers to use camelCase"}},{"before":"cf6df4d86bee4c8ae4ec6404d72640bfe691fc7b","after":"d11e0020092b316d3e8378a95eabac0848d217c7","ref":"refs/heads/main","pushedAt":"2023-11-10T21:31:25.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bobheadxi","name":"Robert Lin","path":"/bobheadxi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23356519?s=80&v=4"},"commit":{"message":"telemetry: export KnownString, KnownKeys types","shortMessageHtmlLink":"telemetry: export KnownString, KnownKeys types"}},{"before":"6a9c01995f3664a8e2bca0639640ced879e769a2","after":null,"ref":"refs/heads/telemetry-no-allowlist","pushedAt":"2023-10-31T16:50:01.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"bobheadxi","name":"Robert Lin","path":"/bobheadxi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23356519?s=80&v=4"}},{"before":"c9e7c5a3c9fb63b66477c487b9def9aea9a0a1e4","after":"cf6df4d86bee4c8ae4ec6404d72640bfe691fc7b","ref":"refs/heads/main","pushedAt":"2023-10-31T16:49:56.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"bobheadxi","name":"Robert Lin","path":"/bobheadxi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23356519?s=80&v=4"},"commit":{"message":"recorder: no longer require enumerated features/actions/metadata keys (#3)\n\nAs adoption in VSCode progresses, the need to enumerate known\r\nfeatures/actions/metadata keys has proven problematic, i.e.\r\n\r\n```ts\r\ntype Feature = 'feature1' | 'feature2' | ...\r\n```\r\n\r\nThese are already growing unmanageable, and having to go back and forth\r\nto the definition to add events is quite a pain.\r\n\r\nEnter some StackOverflow hackery I found: by performing a type assertion\r\nthat generalized string types be prohibited, we can make it so that\r\narbitrary strings can't be used, but allow string _literals_, i.e.\r\n\r\n```ts\r\n/**\r\n * KnownString enforces that:\r\n *\r\n * - T must be a string\r\n * - string must NOT be a T\r\n *\r\n * This effectively requires T to NOT be an arbitrary string - it must be\r\n * a string value known ahead of time.\r\n */\r\ntype KnownString = string extends T\r\n ? \"INPUT TYPE ERROR: string type is too broad, should be a known value\"\r\n : T;\r\n```\r\n\r\nUsing this on `feature` and `action` is easy, and we get type errors\r\nlike:\r\n\r\n\"image\"\r\nsrc=\"https://github.com/sourcegraph/telemetry/assets/23356519/7cedd01d-86d6-4460-8514-9e8a094489ec\"\r\n\r\nbecause the failure case on the type resolves to an unrealistic \"key\". A\r\nbroader set of examples:\r\n\r\n\"image\"\r\nsrc=\"https://github.com/sourcegraph/telemetry/assets/23356519/15e4916a-4558-4e4d-9fd4-00231e91c325\"\r\n\r\nFor metadata keys, we apply a similar hack over `{ [key:string]: number\r\n}`:\r\n\r\n\"image\"\r\nsrc=\"https://github.com/sourcegraph/telemetry/assets/23356519/bc8b4a21-1c2b-4c5b-a3cb-fcd560000379\"","shortMessageHtmlLink":"recorder: no longer require enumerated features/actions/metadata keys ("}},{"before":"829534864c7866a214c179d7e280b8fada7451be","after":"6a9c01995f3664a8e2bca0639640ced879e769a2","ref":"refs/heads/telemetry-no-allowlist","pushedAt":"2023-10-31T16:49:26.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"bobheadxi","name":"Robert Lin","path":"/bobheadxi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23356519?s=80&v=4"},"commit":{"message":"remove T-suffixing","shortMessageHtmlLink":"remove T-suffixing"}},{"before":"5427855fa1c25673c68da43940b5aacf57df49f0","after":"829534864c7866a214c179d7e280b8fada7451be","ref":"refs/heads/telemetry-no-allowlist","pushedAt":"2023-10-31T16:48:11.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bobheadxi","name":"Robert Lin","path":"/bobheadxi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23356519?s=80&v=4"},"commit":{"message":"remove T-suffixing","shortMessageHtmlLink":"remove T-suffixing"}},{"before":"ea2bf8257ee327b73c65da1c89239f286f17a145","after":"5427855fa1c25673c68da43940b5aacf57df49f0","ref":"refs/heads/telemetry-no-allowlist","pushedAt":"2023-10-27T20:54:47.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bobheadxi","name":"Robert Lin","path":"/bobheadxi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23356519?s=80&v=4"},"commit":{"message":"0.11.0","shortMessageHtmlLink":"0.11.0"}},{"before":"816ace4c30a581fb0269a15ab13c0311d2e156b8","after":"ea2bf8257ee327b73c65da1c89239f286f17a145","ref":"refs/heads/telemetry-no-allowlist","pushedAt":"2023-10-27T20:46:59.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"bobheadxi","name":"Robert Lin","path":"/bobheadxi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23356519?s=80&v=4"},"commit":{"message":"remove failing examples","shortMessageHtmlLink":"remove failing examples"}},{"before":null,"after":"816ace4c30a581fb0269a15ab13c0311d2e156b8","ref":"refs/heads/telemetry-no-allowlist","pushedAt":"2023-10-27T20:46:30.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"bobheadxi","name":"Robert Lin","path":"/bobheadxi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23356519?s=80&v=4"},"commit":{"message":"remove failing examples","shortMessageHtmlLink":"remove failing examples"}},{"before":"37030476c0a9b608c3c1ba0878fac011987dee25","after":"c9e7c5a3c9fb63b66477c487b9def9aea9a0a1e4","ref":"refs/heads/main","pushedAt":"2023-10-27T04:26:36.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"bobheadxi","name":"Robert Lin","path":"/bobheadxi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23356519?s=80&v=4"},"commit":{"message":"0.10.0","shortMessageHtmlLink":"0.10.0"}},{"before":"d3c012b65c0e037521180d7e010fe354a975d371","after":"37030476c0a9b608c3c1ba0878fac011987dee25","ref":"refs/heads/main","pushedAt":"2023-10-20T22:18:49.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"bobheadxi","name":"Robert Lin","path":"/bobheadxi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23356519?s=80&v=4"},"commit":{"message":"0.9.0","shortMessageHtmlLink":"0.9.0"}},{"before":"dbb16350de718e9d63b0870ebe52453e824ae37a","after":"d3c012b65c0e037521180d7e010fe354a975d371","ref":"refs/heads/main","pushedAt":"2023-10-19T05:19:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bobheadxi","name":"Robert Lin","path":"/bobheadxi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23356519?s=80&v=4"},"commit":{"message":"recorder: pass through privateMetadata as-is","shortMessageHtmlLink":"recorder: pass through privateMetadata as-is"}},{"before":"f56b0e1fcdd20e655277d77135cc5cb08cc1c255","after":"dbb16350de718e9d63b0870ebe52453e824ae37a","ref":"refs/heads/main","pushedAt":"2023-10-19T03:54:18.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bobheadxi","name":"Robert Lin","path":"/bobheadxi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/23356519?s=80&v=4"},"commit":{"message":"test: teset stringify privateMetadata","shortMessageHtmlLink":"test: teset stringify privateMetadata"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAESb_legA","startCursor":null,"endCursor":null}},"title":"Activity · sourcegraph/telemetry"}