{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":85765458,"defaultBranch":"master","name":"dig","ownerLogin":"uber-go","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2017-03-21T23:55:50.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/19262598?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1697734953.0","currentOid":""},"activityList":{"items":[{"before":"59e9f761cfccc436dbb8f2e99a0b67a4dd1b9997","after":"897df361fb2ddf798d605f6ef0ba4ae3737e241a","ref":"refs/heads/master","pushedAt":"2024-02-26T14:49:03.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"JacobOaks","name":"Jacob Oaks","path":"/JacobOaks","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11602410?s=80&v=4"},"commit":{"message":"ci: Test against Windows, Go 1.21, 1.22 (#407)\n\n* ci: Test against Windows, Go 1.21, 1.22\r\n\r\nUpgrade to Go 1.21, 1.22 since those are the two latest versions.\r\n\r\nPlus Fx supports Windows and has tests against it,\r\nso Dig should test against it too.\r\n\r\n* Normalize line endings before comparison","shortMessageHtmlLink":"ci: Test against Windows, Go 1.21, 1.22 (#407)"}},{"before":"612c6c09915262dbe155cebc4c2c6fbc3b8a7717","after":"59e9f761cfccc436dbb8f2e99a0b67a4dd1b9997","ref":"refs/heads/master","pushedAt":"2024-02-13T20:08:12.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"JacobOaks","name":"Jacob Oaks","path":"/JacobOaks","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11602410?s=80&v=4"},"commit":{"message":"ci: Use golangci-lint (#406)\n\nThis PR switches to using golangci-lint to run linters.\r\nstaticcheck is included and enabled by default.\r\nWe add revive and a few others.\r\nAll issues reported by the linters have been fixed.\r\n\r\nThis also allows the linter to run in parallel with the tests.\r\n\r\nLicense header check has also been moved to golangci-lint,\r\nsimilarly to uber-go/fx#1157.\r\n\r\nRefs uber-go/fx#1150\r\nRefs uber-go/zap#1323","shortMessageHtmlLink":"ci: Use golangci-lint (#406)"}},{"before":"45369ac63a0f0eddf845b7ca8faf3c30e6370dc7","after":"612c6c09915262dbe155cebc4c2c6fbc3b8a7717","ref":"refs/heads/master","pushedAt":"2024-01-26T16:41:00.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"JacobOaks","name":"Jacob Oaks","path":"/JacobOaks","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11602410?s=80&v=4"},"commit":{"message":"Fix visualize tests (#405)\n\nPR #404 attempted to improve the tests in `visualize_test.go`\r\nby requiring length equality on the expected/actual ctors.\r\n\r\nDuring CI, this actually uncovered a test failure:\r\n```\r\n--- FAIL: TestDotGraph (0.02s)\r\n --- FAIL: TestDotGraph/create_graph_with_one_constructor_and_as_interface_option (0.00s)\r\n visualize_test.go:453:\r\n \tError Trace:\tvisualize_test.go:453\r\n \t \t\t\t\tvisualize_test.go:117\r\n \tError: \t\"[]\" should have 1 item(s), but has 0\r\n \tTest: \tTestDotGraph/create_graph_with_one_constructor_and_as_interface_option\r\n```\r\n\r\nThis is because, in this specific test case, the provide was never actually provided\r\nbecause of an error during provide (`t5 did not implement io.Reader`).\r\n\r\nThis commit:\r\n* Changes all of the provides that are expected to pass to `RequireProvide`\r\n which will fail if the provide fails.\r\n* Modifies `t5` to implement `io.Reader`.\r\n* Change the test case to expect the provider to only provide\r\n the interface in the `fx.As` (`fx.As` does not also provide the actual type)\r\n* Add the len check from #404.","shortMessageHtmlLink":"Fix visualize tests (#405)"}},{"before":"a772ad7d19df3bd3210bb31caddd0e11b0b69496","after":"45369ac63a0f0eddf845b7ca8faf3c30e6370dc7","ref":"refs/heads/master","pushedAt":"2024-01-18T04:07:55.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"sywhang","name":"Sung Yoon Whang","path":"/sywhang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/30421794?s=80&v=4"},"commit":{"message":"Visualize child scopes (#403)\n\nvisualize child scopes","shortMessageHtmlLink":"Visualize child scopes (#403)"}},{"before":"3c7d5e3878b76b0a709514e395597059b6490fb5","after":"a772ad7d19df3bd3210bb31caddd0e11b0b69496","ref":"refs/heads/master","pushedAt":"2023-10-19T17:07:52.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"JacobOaks","name":"Jacob Oaks","path":"/JacobOaks","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11602410?s=80&v=4"},"commit":{"message":"Back to development (#400)\n\nReturns changelog and version to development state.","shortMessageHtmlLink":"Back to development (#400)"}},{"before":"69df15cfc95fa14db27ddae0db2873c4aa7d1198","after":"3c7d5e3878b76b0a709514e395597059b6490fb5","ref":"refs/heads/master","pushedAt":"2023-10-19T17:01:20.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"JacobOaks","name":"Jacob Oaks","path":"/JacobOaks","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11602410?s=80&v=4"},"commit":{"message":"Prepare release v1.17.1 (#399)\n\nThis updates the changelog and version to 1.17.1\r\nto prepare for tagging a new release.","shortMessageHtmlLink":"Prepare release v1.17.1 (#399)"}},{"before":"119025f574864a443118bf269f470fe1fac66d0b","after":"69df15cfc95fa14db27ddae0db2873c4aa7d1198","ref":"refs/heads/master","pushedAt":"2023-10-18T20:31:10.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"JacobOaks","name":"Jacob Oaks","path":"/JacobOaks","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11602410?s=80&v=4"},"commit":{"message":"Fix false positives in cycle detection with child scopes. (#398)\n\nCurrently, cycle detection works by assigning each constructor node\r\nan \"order\"/index for the scope it was given in. If an edge exists\r\nbetween an index and itself, a cycle is detected.\r\n\r\nWhen we create a subscope, we copy all of the parent's nodes\r\nto the child scope, but we do not copy their orders.\r\nThis causes all root scope constructors to effectively have\r\norder 0 in the child scope (zero value for a mapping to int).\r\nThis causes false positives when doing cycle detection\r\nas an edge from order 0 to order 0 gets detected.\r\n\r\nThis PR fixes this bug by copying the order for constructor nodes\r\nfrom parent to child scope when a child scope is created.\r\n\r\nThe added test case fails before this PR, passes with it.\r\n\r\nRef: https://github.com/uber-go/dig/issues/397","shortMessageHtmlLink":"Fix false positives in cycle detection with child scopes. (#398)"}},{"before":"698b9d783fb3471e7af95a072347fae9885f10c0","after":"119025f574864a443118bf269f470fe1fac66d0b","ref":"refs/heads/master","pushedAt":"2023-10-03T20:39:21.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"JacobOaks","name":"Jacob Oaks","path":"/JacobOaks","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11602410?s=80&v=4"},"commit":{"message":"fix logic in docs (#396)","shortMessageHtmlLink":"fix logic in docs (#396)"}},{"before":"fc364ac7914c180b924bb6ee8feeeda1264462c1","after":"698b9d783fb3471e7af95a072347fae9885f10c0","ref":"refs/heads/master","pushedAt":"2023-08-18T20:34:47.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"r-hang","name":null,"path":"/r-hang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42982339?s=80&v=4"},"commit":{"message":"CI: Test using Go 1.20 and Go 1.21 (#394)\n\nFor some reason we forgot to update the CI toolchain when Go 1.20\r\ncame out so it was still running 1.18 and 1.19. This fixes that.","shortMessageHtmlLink":"CI: Test using Go 1.20 and Go 1.21 (#394)"}},{"before":"a5e352ca1ada399882dab48ed681646df4040f41","after":"fc364ac7914c180b924bb6ee8feeeda1264462c1","ref":"refs/heads/master","pushedAt":"2023-08-10T17:25:16.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"sywhang","name":"Sung Yoon Whang","path":"/sywhang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/30421794?s=80&v=4"},"commit":{"message":"Add suggestions for slices and array element missing types (#390)\n\n* Add suggestions for slices and array element missing types\r\n\r\n* Add more test cases\r\n\r\n* fix: add test coverage for slice and array of values and pointers suggestions","shortMessageHtmlLink":"Add suggestions for slices and array element missing types (#390)"}},{"before":"a30081d72915995cb8f934ba9393256c74df9143","after":"a5e352ca1ada399882dab48ed681646df4040f41","ref":"refs/heads/master","pushedAt":"2023-08-04T15:03:01.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"JacobOaks","name":"Jacob Oaks","path":"/JacobOaks","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11602410?s=80&v=4"},"commit":{"message":"Build value group values using their original scope (#393)\n\nWe call simple providers with their original scope.\r\n(Ref: https://github.com/uber-go/dig/blob/master/param.go#L287)\r\nThis allows decorators to be applied even if the constructor is exported\r\nvia `dig.Export(true)`.\r\n\r\nHowever, we call value group value providers with whatever scope we found them in:\r\n(Ref: https://github.com/uber-go/dig/blob/master/param.go#L609)\r\n\r\nThis has the consequence of causing exported value group value providers\r\nwithin a module to not be able to be decorated by decorators\r\nwithin the same module, when using `dig.Export(true)`, unlike\r\ntheir simple provider counterpart.\r\nFor example (playground link: https://go.dev/play/p/R2uqaTvT57P):\r\n\r\n```go\r\ntype Foo struct{}\r\ntype FooResults struct {\r\n\tdig.Out\r\n\r\n\tFoo Foo `group:\"foos\"`\r\n}\r\n\r\nfunc NewFoo(s string) FooResults {\r\n\tfmt.Printf(\"String in NewFoo: %q\\n\", s)\r\n\treturn FooResults{\r\n\t\tFoo: Foo{},\r\n\t}\r\n}\r\n\r\ntype Bar struct{}\r\n\r\nfunc NewBar(s string) Bar {\r\n\tfmt.Printf(\"String in NewBar: %q\\n\", s)\r\n\treturn Bar{}\r\n}\r\n\r\ntype UseFooAndBarParams struct {\r\n\tdig.In\r\n\r\n\tFoos []Foo `group:\"foos\"`\r\n\tBar Bar\r\n}\r\n\r\nfunc UseFooAndBar(UseFooAndBarParams) {}\r\n\r\nfunc main() {\r\n\tc := dig.New()\r\n\tc.Provide(func() string { return \"base\" })\r\n\tchild := c.Scope(\"child\")\r\n\tchild.Decorate(func(s string) string {\r\n\t\treturn s + \"-decorated\"\r\n\t})\r\n\tchild.Provide(NewFoo, dig.Export(true))\r\n\tchild.Provide(NewBar, dig.Export(true))\r\n}\r\n\r\n// Output:\r\n// String in NewFoo: \"base\"\r\n// String in NewBar: \"base-decorated\"\r\n```\r\n\r\nSince we use `dig.Export(true)` by default in Fx, this is the default\r\nbehavior for value group providers, see https://github.com/uber-go/fx/issues/1104\r\n\r\nThis commit changes `callGroupProviders` to use the value group provider's\r\noriginal scope as well, and adds a test to verify the behavior is fixed.","shortMessageHtmlLink":"Build value group values using their original scope (#393)"}},{"before":"9f14095c17fdd4b982ecf67efbf877094081939c","after":null,"ref":"refs/heads/manjari25/backToDev","pushedAt":"2023-05-03T22:27:17.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"manjari25","name":"Manjari Akella","path":"/manjari25","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6807919?s=80&v=4"}},{"before":"510f992a785d7026d3c7b9c5536120bdbd5640b0","after":"a30081d72915995cb8f934ba9393256c74df9143","ref":"refs/heads/master","pushedAt":"2023-05-03T22:27:16.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"manjari25","name":"Manjari Akella","path":"/manjari25","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6807919?s=80&v=4"},"commit":{"message":"Back to development (#385)","shortMessageHtmlLink":"Back to development (#385)"}},{"before":null,"after":"9f14095c17fdd4b982ecf67efbf877094081939c","ref":"refs/heads/manjari25/backToDev","pushedAt":"2023-05-03T22:23:02.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"manjari25","name":"Manjari Akella","path":"/manjari25","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6807919?s=80&v=4"},"commit":{"message":"Back to development","shortMessageHtmlLink":"Back to development"}},{"before":"f9adc18afa543d7623b9f4f8241a225d6d10f1e8","after":null,"ref":"refs/heads/manjari25/release","pushedAt":"2023-05-03T22:18:39.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"manjari25","name":"Manjari Akella","path":"/manjari25","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6807919?s=80&v=4"}},{"before":"027aa21628f4afb1bdfee8faceb38f4b071c98c5","after":"510f992a785d7026d3c7b9c5536120bdbd5640b0","ref":"refs/heads/master","pushedAt":"2023-05-03T22:18:38.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"manjari25","name":"Manjari Akella","path":"/manjari25","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6807919?s=80&v=4"},"commit":{"message":"Preparing release v1.17.0 (#384)","shortMessageHtmlLink":"Preparing release v1.17.0 (#384)"}},{"before":"a8b6f0db4f27681ad7233eed1bda9d5c69881f5b","after":"f9adc18afa543d7623b9f4f8241a225d6d10f1e8","ref":"refs/heads/manjari25/release","pushedAt":"2023-05-03T16:59:43.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"manjari25","name":"Manjari Akella","path":"/manjari25","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6807919?s=80&v=4"},"commit":{"message":"Update CHANGELOG.md\n\nCo-authored-by: JacobOaks ","shortMessageHtmlLink":"Update CHANGELOG.md"}},{"before":"9098d4b16c364cca7197b641c787e47f796b7ae9","after":"a8b6f0db4f27681ad7233eed1bda9d5c69881f5b","ref":"refs/heads/manjari25/release","pushedAt":"2023-05-03T16:59:01.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"manjari25","name":"Manjari Akella","path":"/manjari25","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6807919?s=80&v=4"},"commit":{"message":"version.go","shortMessageHtmlLink":"version.go"}},{"before":null,"after":"9098d4b16c364cca7197b641c787e47f796b7ae9","ref":"refs/heads/manjari25/release","pushedAt":"2023-05-02T21:58:10.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"manjari25","name":"Manjari Akella","path":"/manjari25","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6807919?s=80&v=4"},"commit":{"message":"Preparing release v1.17.0","shortMessageHtmlLink":"Preparing release v1.17.0"}},{"before":"297a20c3d571682102b8334311eb5b97dbaa63c1","after":"027aa21628f4afb1bdfee8faceb38f4b071c98c5","ref":"refs/heads/master","pushedAt":"2023-05-01T18:44:30.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"JacobOaks","name":"Jacob Oaks","path":"/JacobOaks","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11602410?s=80&v=4"},"commit":{"message":"Introduce Callback Functions for Constructor & Decorator Calls (#377)\n\nRecently folks have been asking for more visiblity into what constructors\r\nand decorators actually get called, especially Fx users.\r\n\r\nThis implementation allows users to provide callback functions\r\nfor Dig to call when it invokes a constructor or decorator.\r\nDig will pass along info such as which function was actually called,\r\nthe name (package + name) of the function, and what kind it was\r\n(provided or decorated), when it calls the provided callback function.\r\n\r\nUsers can provide a callback by using the new `dig.Option`, `dig.WithCallback`:\r\n\r\n```go\r\ntype MyCallback struct {}\r\n\r\nfunc (MyCallback) Called(ci dig.CallbackInfo) {\r\n\tswitch ci.Kind {\r\n\tcase dig.Provided:\r\n\t\tfmt.Printf(\"My provided function %q was called!\\n\", ci.Name)\r\n\tcase dig.Decorated:\r\n\t\tfmt.Printf(\"My decorator %q was called!\\n\", ci.Name)\r\n\t}\r\n}\r\n\r\nfunc main() {\r\n\t// ...\r\n\tc := dig.New(WithCallback(MyCallback{}))\r\n\t// ...\r\n}\r\n```\r\n\r\nWith this addition, from the Fx side, we can register a callback function\r\nthat will generate new Fx events when constructors and decorators get\r\ncalled. This will help users identify which _do not_ get called, and thus\r\nidentify dead code.\r\n\r\nInternal Ref: GO-1873","shortMessageHtmlLink":"Introduce Callback Functions for Constructor & Decorator Calls (#377)"}},{"before":"a3f32f6e3841ff90a0e502a6cbc130e7dca72562","after":null,"ref":"refs/heads/manjari25/InvokeInfo","pushedAt":"2023-04-24T17:50:55.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"manjari25","name":"Manjari Akella","path":"/manjari25","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6807919?s=80&v=4"}},{"before":"87cf89e9865ae340333b523007b0ecbeae6c6da2","after":"297a20c3d571682102b8334311eb5b97dbaa63c1","ref":"refs/heads/master","pushedAt":"2023-04-24T17:50:53.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"manjari25","name":"Manjari Akella","path":"/manjari25","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6807919?s=80&v=4"},"commit":{"message":"Add support for getting info from Invoke statements (#383)\n\nThis commit exposes InvokeInfo and FillInvokeInfo to help users extract the types requested by an Invoke statement.\r\n\r\nExample usage -\r\n\r\nvar info InvokeInfo\r\nc.Invoke(func(typ1 type1, typ2 type2){}, FillInvokeInfo(&info))\r\n\r\n// Will print the types requested by the Invoke statement\r\nfor _, typ := range info.ReqTypes {\r\n fmt.Println(typ) \r\n}\r\n\r\nRefs: GO-669","shortMessageHtmlLink":"Add support for getting info from Invoke statements (#383)"}},{"before":"aff5f4fddb24a17934649d54cd22a0f9d1f02645","after":"a3f32f6e3841ff90a0e502a6cbc130e7dca72562","ref":"refs/heads/manjari25/InvokeInfo","pushedAt":"2023-04-24T15:59:10.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"manjari25","name":"Manjari Akella","path":"/manjari25","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6807919?s=80&v=4"},"commit":{"message":"Add test case for FillInvokeInfo with nil InvokeInfo option","shortMessageHtmlLink":"Add test case for FillInvokeInfo with nil InvokeInfo option"}},{"before":"6a8447f6d847ed4c78f37b8e6f7e0a3111d9b20c","after":"aff5f4fddb24a17934649d54cd22a0f9d1f02645","ref":"refs/heads/manjari25/InvokeInfo","pushedAt":"2023-04-21T15:24:35.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"manjari25","name":"Manjari Akella","path":"/manjari25","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6807919?s=80&v=4"},"commit":{"message":"Update doc string for FillInvokeInfo","shortMessageHtmlLink":"Update doc string for FillInvokeInfo"}},{"before":"dae0b3e815b0fec63d89a9e919373ab376935bb4","after":"6a8447f6d847ed4c78f37b8e6f7e0a3111d9b20c","ref":"refs/heads/manjari25/InvokeInfo","pushedAt":"2023-04-18T20:46:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"manjari25","name":"Manjari Akella","path":"/manjari25","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6807919?s=80&v=4"},"commit":{"message":"Rename InvokeInfo field","shortMessageHtmlLink":"Rename InvokeInfo field"}},{"before":"5c3b4cbe600642123a6064fb589af50f7398e749","after":"dae0b3e815b0fec63d89a9e919373ab376935bb4","ref":"refs/heads/manjari25/InvokeInfo","pushedAt":"2023-04-17T19:32:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"manjari25","name":"Manjari Akella","path":"/manjari25","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6807919?s=80&v=4"},"commit":{"message":"Add example usage snippet","shortMessageHtmlLink":"Add example usage snippet"}},{"before":"f1682474f46eb9f226426f8cbd2a6c85e9ca9325","after":"5c3b4cbe600642123a6064fb589af50f7398e749","ref":"refs/heads/manjari25/InvokeInfo","pushedAt":"2023-04-14T21:10:52.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"manjari25","name":"Manjari Akella","path":"/manjari25","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6807919?s=80&v=4"},"commit":{"message":"assert.Equal()->assert.Len()","shortMessageHtmlLink":"assert.Equal()->assert.Len()"}},{"before":null,"after":"f1682474f46eb9f226426f8cbd2a6c85e9ca9325","ref":"refs/heads/manjari25/InvokeInfo","pushedAt":"2023-04-14T19:47:15.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"manjari25","name":"Manjari Akella","path":"/manjari25","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6807919?s=80&v=4"},"commit":{"message":"Add support for getting info from Invoke statements","shortMessageHtmlLink":"Add support for getting info from Invoke statements"}},{"before":"7f9f0b884f1175f0aec6c7137b2675a9f8f9c83c","after":"87cf89e9865ae340333b523007b0ecbeae6c6da2","ref":"refs/heads/master","pushedAt":"2023-03-20T21:13:25.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"r-hang","name":null,"path":"/r-hang","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42982339?s=80&v=4"},"commit":{"message":"Minimize permissions to CI workflows (#382)\n\nSet only read permission on CI workflows since they don't need write access.","shortMessageHtmlLink":"Minimize permissions to CI workflows (#382)"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEBX8rSAA","startCursor":null,"endCursor":null}},"title":"Activity ยท uber-go/dig"}