)]}'
{"tvix/nar-bridge/pkg/importer/importer.go":[{"author":{"_account_id":1000085,"name":"Connor Brewster","display_name":"cbrewster","email":"cbrewster@hey.com","username":"cbrewster"},"change_message_id":"6e138e330c2be3cbb5339b8c0d1ea1792c76d821","unresolved":true,"context_lines":[{"line_number":203,"context_line":"\t\t\t}"},{"line_number":204,"context_line":"\t\t\tif hdr.Type \u003d\u003d nar.TypeRegular {"},{"line_number":205,"context_line":"\t\t\t\t// wrap reader with a reader calculating the blake3 hash"},{"line_number":206,"context_line":"\t\t\t\tblobReader :\u003d hashers.NewHasher(narReader, blake3.New(32, nil))"},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"\t\t\t\tblobDigest, err :\u003d blobCb(blobReader)"},{"line_number":209,"context_line":"\t\t\t\tif err !\u003d nil {"}],"source_content_type":"text/x-go","patch_set":3,"id":"8d738d72_a6caf16f","line":206,"updated":"2023-10-04 19:29:52.000000000","message":"Do we need the hasher here if the callback is supposed to be doing the digest calculation?\n\nLook like we do need a way to count bytes read, but can probably use a cheaper wrapper that just counts bytes.","commit_id":"a3aa34ee801f8d61922d1ead3c3d89b4944d3448"},{"author":{"_account_id":1000085,"name":"Connor Brewster","display_name":"cbrewster","email":"cbrewster@hey.com","username":"cbrewster"},"change_message_id":"1beacd43e066b15e6a3f4012855d01e150a757fe","unresolved":false,"context_lines":[{"line_number":203,"context_line":"\t\t\t}"},{"line_number":204,"context_line":"\t\t\tif hdr.Type \u003d\u003d nar.TypeRegular {"},{"line_number":205,"context_line":"\t\t\t\t// wrap reader with a reader calculating the blake3 hash"},{"line_number":206,"context_line":"\t\t\t\tblobReader :\u003d hashers.NewHasher(narReader, blake3.New(32, nil))"},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"\t\t\t\tblobDigest, err :\u003d blobCb(blobReader)"},{"line_number":209,"context_line":"\t\t\t\tif err !\u003d nil {"}],"source_content_type":"text/x-go","patch_set":3,"id":"4a0b3670_b988f343","line":206,"in_reply_to":"8d738d72_a6caf16f","updated":"2023-10-04 21:01:57.000000000","message":"Looks like this is already fixed in cl/9529","commit_id":"a3aa34ee801f8d61922d1ead3c3d89b4944d3448"},{"author":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"change_message_id":"b23356ef7c92baa0fb50e157863e7f59ec3b6667","unresolved":false,"context_lines":[{"line_number":203,"context_line":"\t\t\t}"},{"line_number":204,"context_line":"\t\t\tif hdr.Type \u003d\u003d nar.TypeRegular {"},{"line_number":205,"context_line":"\t\t\t\t// wrap reader with a reader calculating the blake3 hash"},{"line_number":206,"context_line":"\t\t\t\tblobReader :\u003d hashers.NewHasher(narReader, blake3.New(32, nil))"},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"\t\t\t\tblobDigest, err :\u003d blobCb(blobReader)"},{"line_number":209,"context_line":"\t\t\t\tif err !\u003d nil {"}],"source_content_type":"text/x-go","patch_set":3,"id":"a7a624a2_116894f4","line":206,"in_reply_to":"8d738d72_a6caf16f","updated":"2023-10-04 20:58:36.000000000","message":"This is already happening further up the chain.","commit_id":"a3aa34ee801f8d61922d1ead3c3d89b4944d3448"},{"author":{"_account_id":1000085,"name":"Connor Brewster","display_name":"cbrewster","email":"cbrewster@hey.com","username":"cbrewster"},"change_message_id":"6e138e330c2be3cbb5339b8c0d1ea1792c76d821","unresolved":true,"context_lines":[{"line_number":213,"context_line":"\t\t\t\t// ensure blobCb did read all the way to the end."},{"line_number":214,"context_line":"\t\t\t\t// If it didn\u0027t, the blobCb function is wrong and we should bail out."},{"line_number":215,"context_line":"\t\t\t\tif blobReader.BytesWritten() !\u003d uint32(hdr.Size) {"},{"line_number":216,"context_line":"\t\t\t\t\tpanic(\"not read to end\")"},{"line_number":217,"context_line":"\t\t\t\t}"},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"\t\t\t\tfileNode :\u003d \u0026castorev1pb.FileNode{"}],"source_content_type":"text/x-go","patch_set":3,"id":"271752a4_4973270c","line":216,"updated":"2023-10-04 19:29:52.000000000","message":"Why panic instead of return an error?","commit_id":"a3aa34ee801f8d61922d1ead3c3d89b4944d3448"},{"author":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"change_message_id":"b23356ef7c92baa0fb50e157863e7f59ec3b6667","unresolved":true,"context_lines":[{"line_number":213,"context_line":"\t\t\t\t// ensure blobCb did read all the way to the end."},{"line_number":214,"context_line":"\t\t\t\t// If it didn\u0027t, the blobCb function is wrong and we should bail out."},{"line_number":215,"context_line":"\t\t\t\tif blobReader.BytesWritten() !\u003d uint32(hdr.Size) {"},{"line_number":216,"context_line":"\t\t\t\t\tpanic(\"not read to end\")"},{"line_number":217,"context_line":"\t\t\t\t}"},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"\t\t\t\tfileNode :\u003d \u0026castorev1pb.FileNode{"}],"source_content_type":"text/x-go","patch_set":3,"id":"36db1098_ce47780a","line":216,"in_reply_to":"271752a4_4973270c","updated":"2023-10-04 20:58:36.000000000","message":"there\u0027s no way a blob callback can return the digest of contents without reading through them, this is always a coding error. consider it like an assert! in rust.\n\nif this is not the case, something is terribly wrong, so bail out loudly.","commit_id":"a3aa34ee801f8d61922d1ead3c3d89b4944d3448"},{"author":{"_account_id":1000085,"name":"Connor Brewster","display_name":"cbrewster","email":"cbrewster@hey.com","username":"cbrewster"},"change_message_id":"1beacd43e066b15e6a3f4012855d01e150a757fe","unresolved":false,"context_lines":[{"line_number":213,"context_line":"\t\t\t\t// ensure blobCb did read all the way to the end."},{"line_number":214,"context_line":"\t\t\t\t// If it didn\u0027t, the blobCb function is wrong and we should bail out."},{"line_number":215,"context_line":"\t\t\t\tif blobReader.BytesWritten() !\u003d uint32(hdr.Size) {"},{"line_number":216,"context_line":"\t\t\t\t\tpanic(\"not read to end\")"},{"line_number":217,"context_line":"\t\t\t\t}"},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"\t\t\t\tfileNode :\u003d \u0026castorev1pb.FileNode{"}],"source_content_type":"text/x-go","patch_set":3,"id":"67f9cbb3_4dbb712d","line":216,"in_reply_to":"36db1098_ce47780a","updated":"2023-10-04 21:01:57.000000000","message":"Fair enough!","commit_id":"a3aa34ee801f8d61922d1ead3c3d89b4944d3448"}]}
