)]}'
{"metropolis/node/core/network/main.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":"ccae924e12a49d002242d2e2eef8b7dd2b939fc8","unresolved":true,"context_lines":[{"line_number":393,"context_line":"\t\t\tnow :\u003d attrs.RawFlags\u0026unix.IFF_RUNNING !\u003d 0"},{"line_number":394,"context_line":"\t\t\tlastIfState[attrs.Name] \u003d now"},{"line_number":395,"context_line":""},{"line_number":396,"context_line":"\t\t\tif !before \u0026\u0026 now {"},{"line_number":397,"context_line":"\t\t\t\tifCtx, cancel :\u003d context.WithCancel(ctx)"},{"line_number":398,"context_line":"\t\t\t\tifContexts[attrs.Name] \u003d cancel"},{"line_number":399,"context_line":"\t\t\t\t// Announces all configured IPs marked as permanent via ARP"}],"source_content_type":"text/x-go","patch_set":2,"id":"e8aae8f3_c31c5fcd","line":396,"updated":"2025-06-18 12:44:30.000000000","message":"this is fairly deeply nested. Maybe move this into its own function? Also maybe keep this in a separate file as the main.go is really crowded","commit_id":"8a937702fa31b96d5ac4cdcfb3c81b8e0332be7e"},{"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":"55aaa765b53534b01cacd5b686fa9044e8a20559","unresolved":false,"context_lines":[{"line_number":393,"context_line":"\t\t\tnow :\u003d attrs.RawFlags\u0026unix.IFF_RUNNING !\u003d 0"},{"line_number":394,"context_line":"\t\t\tlastIfState[attrs.Name] \u003d now"},{"line_number":395,"context_line":""},{"line_number":396,"context_line":"\t\t\tif !before \u0026\u0026 now {"},{"line_number":397,"context_line":"\t\t\t\tifCtx, cancel :\u003d context.WithCancel(ctx)"},{"line_number":398,"context_line":"\t\t\t\tifContexts[attrs.Name] \u003d cancel"},{"line_number":399,"context_line":"\t\t\t\t// Announces all configured IPs marked as permanent via ARP"}],"source_content_type":"text/x-go","patch_set":2,"id":"a0cc3c16_e5ead59c","line":396,"in_reply_to":"38f56324_6f2b948e","updated":"2025-06-18 18:04:27.000000000","message":"fine for me 😊 I just don\u0027t like our main package currently 😄","commit_id":"8a937702fa31b96d5ac4cdcfb3c81b8e0332be7e"},{"author":{"_account_id":1000001,"name":"Lorenz Brun","display_name":"Lorenz","email":"lorenz@monogon.tech","username":"lorenz","avatars":[{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"7553910cd490903756941f680c04e4f5600896f4","unresolved":true,"context_lines":[{"line_number":393,"context_line":"\t\t\tnow :\u003d attrs.RawFlags\u0026unix.IFF_RUNNING !\u003d 0"},{"line_number":394,"context_line":"\t\t\tlastIfState[attrs.Name] \u003d now"},{"line_number":395,"context_line":""},{"line_number":396,"context_line":"\t\t\tif !before \u0026\u0026 now {"},{"line_number":397,"context_line":"\t\t\t\tifCtx, cancel :\u003d context.WithCancel(ctx)"},{"line_number":398,"context_line":"\t\t\t\tifContexts[attrs.Name] \u003d cancel"},{"line_number":399,"context_line":"\t\t\t\t// Announces all configured IPs marked as permanent via ARP"}],"source_content_type":"text/x-go","patch_set":2,"id":"38f56324_6f2b948e","line":396,"in_reply_to":"e8aae8f3_c31c5fcd","updated":"2025-06-18 12:55:43.000000000","message":"It\u0027s really just an if inside a loop (with a select for early exit), IMO it\u0027s fairly readable. Also a function would take like 1 argument per line of content.\nI moved it into a separate file, but the package is probably going to get refactored soon anyways.","commit_id":"8a937702fa31b96d5ac4cdcfb3c81b8e0332be7e"}]}
