)]}'
{"metropolis/node/core/update/update.go":[{"author":{"_account_id":1000019,"name":"Tim Windelschmidt","display_name":"Tim","email":"tim@monogon.tech","username":"fionera","avatars":[{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"c543e0edfe482d255b629a4a5cb1611514417f15","unresolved":true,"context_lines":[{"line_number":326,"context_line":"\t}"},{"line_number":327,"context_line":"\t_, err \u003d io.Copy(blockdev.NewRWS(systemPart), systemImageContent)"},{"line_number":328,"context_line":"\tsystemImageContent.Close()"},{"line_number":329,"context_line":"\tcloseErr :\u003d systemPart.Close()"},{"line_number":330,"context_line":"\tif err \u003d\u003d nil {"},{"line_number":331,"context_line":"\t\terr \u003d closeErr"},{"line_number":332,"context_line":"\t}"}],"source_content_type":"text/x-go","patch_set":1,"id":"ac332200_7bfeb60e","line":329,"updated":"2025-04-24 10:20:03.000000000","message":"Maybe use multierr here? But since the systemImage error is discarded and further down the efiPayloadContent error too, why is the systemPart one checked?","commit_id":"0d292a80b4640f9a88253dad726135bfb2659a0d"},{"author":{"_account_id":1000019,"name":"Tim Windelschmidt","display_name":"Tim","email":"tim@monogon.tech","username":"fionera","avatars":[{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"8ff8ff3362be8676ee968e8e1fd97fc4c7c958c5","unresolved":false,"context_lines":[{"line_number":326,"context_line":"\t}"},{"line_number":327,"context_line":"\t_, err \u003d io.Copy(blockdev.NewRWS(systemPart), systemImageContent)"},{"line_number":328,"context_line":"\tsystemImageContent.Close()"},{"line_number":329,"context_line":"\tcloseErr :\u003d systemPart.Close()"},{"line_number":330,"context_line":"\tif err \u003d\u003d nil {"},{"line_number":331,"context_line":"\t\terr \u003d closeErr"},{"line_number":332,"context_line":"\t}"}],"source_content_type":"text/x-go","patch_set":1,"id":"c79370ed_b41677fc","line":329,"in_reply_to":"054e692f_677901b5","updated":"2025-04-24 13:15:31.000000000","message":"Acknowledged","commit_id":"0d292a80b4640f9a88253dad726135bfb2659a0d"},{"author":{"_account_id":1000038,"name":"Jan Schär","display_name":"Jan","email":"jan@monogon.tech","username":"jan","avatars":[{"url":"https://www.gravatar.com/avatar/fd0e7f48847aa0e46c8f361df2d6c26b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/fd0e7f48847aa0e46c8f361df2d6c26b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/fd0e7f48847aa0e46c8f361df2d6c26b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/fd0e7f48847aa0e46c8f361df2d6c26b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"7724cdc21c01dc6e557046cd9c473707408edbab","unresolved":true,"context_lines":[{"line_number":326,"context_line":"\t}"},{"line_number":327,"context_line":"\t_, err \u003d io.Copy(blockdev.NewRWS(systemPart), systemImageContent)"},{"line_number":328,"context_line":"\tsystemImageContent.Close()"},{"line_number":329,"context_line":"\tcloseErr :\u003d systemPart.Close()"},{"line_number":330,"context_line":"\tif err \u003d\u003d nil {"},{"line_number":331,"context_line":"\t\terr \u003d closeErr"},{"line_number":332,"context_line":"\t}"}],"source_content_type":"text/x-go","patch_set":1,"id":"054e692f_677901b5","line":329,"in_reply_to":"ac332200_7bfeb60e","updated":"2025-04-24 11:23:36.000000000","message":"For a ReadCloser, the error returned by Close() does not matter. But when writing to a file, Close() may return an error indicating that writing failed, so it\u0027s best to check the error in this case. There\u0027s no need to use multierr; if the write fails, the Close() is just cleanup. This is the same as what the Go stdlib does, e.g. here: https://cs.opensource.google/go/go/+/refs/tags/go1.24.2:src/os/dir.go;l\u003d178-192\n\nIdeally, the error returned by bootFile.Close() would also be checked, but we can\u0027t immediately close the file because it\u0027s needed by stageKexec, so I left this one as it was.","commit_id":"0d292a80b4640f9a88253dad726135bfb2659a0d"}]}
