)]}'
{"metropolis/node/core/curator/impl_follower.go":[{"author":{"_account_id":1000010,"name":"Mateusz Zalega","display_name":"msgctl","email":"mateusz@monogon.tech","username":"mateusz","avatars":[{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"f8a19238e5fcd55b75ff58a3404eea39e6f0d257","unresolved":true,"context_lines":[{"line_number":51,"context_line":"\t\treturn status.Errorf(codes.Unavailable, \"current leader has no reported address\")"},{"line_number":52,"context_line":"\t}"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"\terr \u003d srv.Send(\u0026cpb.GetCurrentLeaderResponse{"},{"line_number":55,"context_line":"\t\tLeaderNodeId: nodeId,"},{"line_number":56,"context_line":"\t\tLeaderHost:   node.status.ExternalAddress,"},{"line_number":57,"context_line":"\t\tLeaderPort:   int32(common.CuratorServicePort),"}],"source_content_type":"text/x-go","patch_set":3,"id":"3751f34c_fa7f2f79","line":54,"updated":"2022-06-22 14:27:08.000000000","message":"Why\u0027s there the need for a stream here?","commit_id":"1046ddc89b898fa727b9e94ab72fc8bfe1a9e5a4"},{"author":{"_account_id":1000002,"name":"Serge Bazanski","display_name":"Serge","email":"serge@monogon.tech","username":"serge","avatars":[{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"f09da67ad3df1305b47e0fb2ee99a34c399d5407","unresolved":false,"context_lines":[{"line_number":51,"context_line":"\t\treturn status.Errorf(codes.Unavailable, \"current leader has no reported address\")"},{"line_number":52,"context_line":"\t}"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"\terr \u003d srv.Send(\u0026cpb.GetCurrentLeaderResponse{"},{"line_number":55,"context_line":"\t\tLeaderNodeId: nodeId,"},{"line_number":56,"context_line":"\t\tLeaderHost:   node.status.ExternalAddress,"},{"line_number":57,"context_line":"\t\tLeaderPort:   int32(common.CuratorServicePort),"}],"source_content_type":"text/x-go","patch_set":3,"id":"e282e6de_54b7f503","line":54,"in_reply_to":"3751f34c_fa7f2f79","updated":"2022-06-23 12:19:45.000000000","message":"Added a comment to the proto definition.","commit_id":"1046ddc89b898fa727b9e94ab72fc8bfe1a9e5a4"}],"metropolis/node/core/curator/listener.go":[{"author":{"_account_id":1000010,"name":"Mateusz Zalega","display_name":"msgctl","email":"mateusz@monogon.tech","username":"mateusz","avatars":[{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"f8a19238e5fcd55b75ff58a3404eea39e6f0d257","unresolved":true,"context_lines":[{"line_number":118,"context_line":"\t\t}"},{"line_number":119,"context_line":"\t\tdefer lis.Close()"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"\t\tfollower :\u003d \u0026curatorFollower{"},{"line_number":122,"context_line":"\t\t\tlock:       st.follower.lock,"},{"line_number":123,"context_line":"\t\t\tetcd:       l.etcd,"},{"line_number":124,"context_line":"\t\t\tfollowerID: l.node.ID(),"}],"source_content_type":"text/x-go","patch_set":3,"id":"3a9dffff_f78cb7d2","line":121,"updated":"2022-06-22 14:27:08.000000000","message":"Please state the intent behind declaring \"follower\" in a preceding comment.","commit_id":"1046ddc89b898fa727b9e94ab72fc8bfe1a9e5a4"},{"author":{"_account_id":1000002,"name":"Serge Bazanski","display_name":"Serge","email":"serge@monogon.tech","username":"serge","avatars":[{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"f09da67ad3df1305b47e0fb2ee99a34c399d5407","unresolved":false,"context_lines":[{"line_number":118,"context_line":"\t\t}"},{"line_number":119,"context_line":"\t\tdefer lis.Close()"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"\t\tfollower :\u003d \u0026curatorFollower{"},{"line_number":122,"context_line":"\t\t\tlock:       st.follower.lock,"},{"line_number":123,"context_line":"\t\t\tetcd:       l.etcd,"},{"line_number":124,"context_line":"\t\t\tfollowerID: l.node.ID(),"}],"source_content_type":"text/x-go","patch_set":3,"id":"ec898571_aff5a4a3","line":121,"in_reply_to":"3a9dffff_f78cb7d2","updated":"2022-06-23 12:19:45.000000000","message":"Should be explained better now.","commit_id":"1046ddc89b898fa727b9e94ab72fc8bfe1a9e5a4"},{"author":{"_account_id":1000010,"name":"Mateusz Zalega","display_name":"msgctl","email":"mateusz@monogon.tech","username":"mateusz","avatars":[{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"f8a19238e5fcd55b75ff58a3404eea39e6f0d257","unresolved":true,"context_lines":[{"line_number":127,"context_line":"\t\tlogger :\u003d supervisor.MustSubLogger(ctx, \"rpc\")"},{"line_number":128,"context_line":"\t\tsrv :\u003d grpc.NewServer(sec.GRPCOptions(logger)...)"},{"line_number":129,"context_line":"\t\tcpb.RegisterCuratorLocalServer(srv, follower)"},{"line_number":130,"context_line":"\t\trunnable :\u003d supervisor.GRPCServer(srv, lis, false)"},{"line_number":131,"context_line":"\t\tif err :\u003d supervisor.Run(ctx, \"server\", runnable); err !\u003d nil {"},{"line_number":132,"context_line":"\t\t\treturn fmt.Errorf(\"could not run server: %w\", err)"},{"line_number":133,"context_line":"\t\t}"}],"source_content_type":"text/x-go","patch_set":3,"id":"c3365088_b4c3e20e","line":130,"updated":"2022-06-22 14:27:08.000000000","message":"Why are we changing the \u0027graceful\u0027 GRPCServer parameter now?","commit_id":"1046ddc89b898fa727b9e94ab72fc8bfe1a9e5a4"},{"author":{"_account_id":1000002,"name":"Serge Bazanski","display_name":"Serge","email":"serge@monogon.tech","username":"serge","avatars":[{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"f09da67ad3df1305b47e0fb2ee99a34c399d5407","unresolved":false,"context_lines":[{"line_number":127,"context_line":"\t\tlogger :\u003d supervisor.MustSubLogger(ctx, \"rpc\")"},{"line_number":128,"context_line":"\t\tsrv :\u003d grpc.NewServer(sec.GRPCOptions(logger)...)"},{"line_number":129,"context_line":"\t\tcpb.RegisterCuratorLocalServer(srv, follower)"},{"line_number":130,"context_line":"\t\trunnable :\u003d supervisor.GRPCServer(srv, lis, false)"},{"line_number":131,"context_line":"\t\tif err :\u003d supervisor.Run(ctx, \"server\", runnable); err !\u003d nil {"},{"line_number":132,"context_line":"\t\t\treturn fmt.Errorf(\"could not run server: %w\", err)"},{"line_number":133,"context_line":"\t\t}"}],"source_content_type":"text/x-go","patch_set":3,"id":"b9087fc7_a53e9af9","line":130,"in_reply_to":"c3365088_b4c3e20e","updated":"2022-06-23 12:19:45.000000000","message":"Should be explained better now.","commit_id":"1046ddc89b898fa727b9e94ab72fc8bfe1a9e5a4"}],"metropolis/node/core/curator/proto/api/api.proto":[{"author":{"_account_id":1000010,"name":"Mateusz Zalega","display_name":"msgctl","email":"mateusz@monogon.tech","username":"mateusz","avatars":[{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"f8a19238e5fcd55b75ff58a3404eea39e6f0d257","unresolved":true,"context_lines":[{"line_number":254,"context_line":"}"},{"line_number":255,"context_line":""},{"line_number":256,"context_line":"// CuratorLocal is served by both the Curator leader and followers, and returns"},{"line_number":257,"context_line":"// data pertinent to the local node or the leader election status of the"},{"line_number":258,"context_line":"// Curator. Most importantly, it can be used to retrieve the current Curator"},{"line_number":259,"context_line":"// leader."},{"line_number":260,"context_line":"service CuratorLocal {"}],"source_content_type":"text/x-protobuf","patch_set":3,"id":"2cc3414f_4e32f28b","line":257,"range":{"start_line":257,"start_character":69,"end_line":257,"end_character":72},"updated":"2022-06-22 14:27:08.000000000","message":"\"of Curator\"?","commit_id":"1046ddc89b898fa727b9e94ab72fc8bfe1a9e5a4"},{"author":{"_account_id":1000002,"name":"Serge Bazanski","display_name":"Serge","email":"serge@monogon.tech","username":"serge","avatars":[{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"f09da67ad3df1305b47e0fb2ee99a34c399d5407","unresolved":false,"context_lines":[{"line_number":254,"context_line":"}"},{"line_number":255,"context_line":""},{"line_number":256,"context_line":"// CuratorLocal is served by both the Curator leader and followers, and returns"},{"line_number":257,"context_line":"// data pertinent to the local node or the leader election status of the"},{"line_number":258,"context_line":"// Curator. Most importantly, it can be used to retrieve the current Curator"},{"line_number":259,"context_line":"// leader."},{"line_number":260,"context_line":"service CuratorLocal {"}],"source_content_type":"text/x-protobuf","patch_set":3,"id":"62f2dc0c_545e54c7","line":257,"range":{"start_line":257,"start_character":69,"end_line":257,"end_character":72},"in_reply_to":"2cc3414f_4e32f28b","updated":"2022-06-23 12:19:45.000000000","message":"“Curator” is not a proper noun, even if it\u0027s capitalized (which it is because of technical writing conventions in which we distinguish generic “thing” from non-generic “Thing”). Thus, it\u0027s referred to with a definite article.","commit_id":"1046ddc89b898fa727b9e94ab72fc8bfe1a9e5a4"},{"author":{"_account_id":1000010,"name":"Mateusz Zalega","display_name":"msgctl","email":"mateusz@monogon.tech","username":"mateusz","avatars":[{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"f8a19238e5fcd55b75ff58a3404eea39e6f0d257","unresolved":true,"context_lines":[{"line_number":276,"context_line":"}"},{"line_number":277,"context_line":""},{"line_number":278,"context_line":"message GetCurrentLeaderResponse {"},{"line_number":279,"context_line":"    // leader_noe_id is the leader\u0027s (as seen by the responding node) Node ID."},{"line_number":280,"context_line":"    string leader_node_id \u003d 1;"},{"line_number":281,"context_line":"    // leader_host is the host/IP address at which the leader node\u0027s curator"},{"line_number":282,"context_line":"    // is listening."}],"source_content_type":"text/x-protobuf","patch_set":3,"id":"abbab8ed_e4f0175b","line":279,"range":{"start_line":279,"start_character":7,"end_line":279,"end_character":20},"updated":"2022-06-22 14:27:08.000000000","message":"typo","commit_id":"1046ddc89b898fa727b9e94ab72fc8bfe1a9e5a4"},{"author":{"_account_id":1000002,"name":"Serge Bazanski","display_name":"Serge","email":"serge@monogon.tech","username":"serge","avatars":[{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"f09da67ad3df1305b47e0fb2ee99a34c399d5407","unresolved":false,"context_lines":[{"line_number":276,"context_line":"}"},{"line_number":277,"context_line":""},{"line_number":278,"context_line":"message GetCurrentLeaderResponse {"},{"line_number":279,"context_line":"    // leader_noe_id is the leader\u0027s (as seen by the responding node) Node ID."},{"line_number":280,"context_line":"    string leader_node_id \u003d 1;"},{"line_number":281,"context_line":"    // leader_host is the host/IP address at which the leader node\u0027s curator"},{"line_number":282,"context_line":"    // is listening."}],"source_content_type":"text/x-protobuf","patch_set":3,"id":"d26714b2_0acfaac2","line":279,"range":{"start_line":279,"start_character":7,"end_line":279,"end_character":20},"in_reply_to":"abbab8ed_e4f0175b","updated":"2022-06-23 12:19:45.000000000","message":"Done","commit_id":"1046ddc89b898fa727b9e94ab72fc8bfe1a9e5a4"}]}
