)]}'
{"metropolis/node/core/devmgr/devmgr.go":[{"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":"0c0cdb72ab26eb000f7b04a6f526ec9ed82d3bbc","unresolved":true,"context_lines":[{"line_number":1,"context_line":"// Package devmgr is the userspace pendent to the kernel device management"},{"line_number":2,"context_line":"// system. It talks to the kernel and the performs any further userspace actions"},{"line_number":3,"context_line":"// related to device events. It corresponds very roughly to systemd-udevd on"},{"line_number":4,"context_line":"// more conventional Linux distros. It currently only handles dynamic module"}],"source_content_type":"text/x-go","patch_set":2,"id":"ee2a64a7_1e3f41e4","line":1,"range":{"start_line":1,"start_character":35,"end_line":1,"end_character":42},"updated":"2023-06-07 10:26:16.000000000","message":"```suggestion\n// Package devmgr is the userspace pendant to the kernel device management\n```","commit_id":"9687b2d290c2232bd47a2838f655d558ee40e154"},{"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":"d3a64f3fc957ad97f8c60e73c560492b08a89eff","unresolved":false,"context_lines":[{"line_number":1,"context_line":"// Package devmgr is the userspace pendent to the kernel device management"},{"line_number":2,"context_line":"// system. It talks to the kernel and the performs any further userspace actions"},{"line_number":3,"context_line":"// related to device events. It corresponds very roughly to systemd-udevd on"},{"line_number":4,"context_line":"// more conventional Linux distros. It currently only handles dynamic module"}],"source_content_type":"text/x-go","patch_set":2,"id":"d5cc3302_55964839","line":1,"range":{"start_line":1,"start_character":35,"end_line":1,"end_character":42},"in_reply_to":"ee2a64a7_1e3f41e4","updated":"2023-06-07 20:12:12.000000000","message":"Done","commit_id":"9687b2d290c2232bd47a2838f655d558ee40e154"},{"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":"0c0cdb72ab26eb000f7b04a6f526ec9ed82d3bbc","unresolved":true,"context_lines":[{"line_number":39,"context_line":"\t\treturn fmt.Errorf(\"error creating module manager: %w\", err)"},{"line_number":40,"context_line":"\t}"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"\tgo func() {"},{"line_number":43,"context_line":"\t\terr \u003d filepath.WalkDir(\"/sys/devices\", func(path string, d fs.DirEntry, err error) error {"},{"line_number":44,"context_line":"\t\t\tif !d.IsDir() \u0026\u0026 d.Name() \u003d\u003d \"uevent\" {"},{"line_number":45,"context_line":"\t\t\t\tif err :\u003d os.WriteFile(path, []byte(\"add\"), 0); err !\u003d nil {"}],"source_content_type":"text/x-go","patch_set":2,"id":"bdf300bd_43f7de4a","line":42,"range":{"start_line":42,"start_character":1,"end_line":42,"end_character":12},"updated":"2023-06-07 10:26:16.000000000","message":"Please document what this does for those of us who don\u0027t understand uevent - and/or link the relevant docs.","commit_id":"9687b2d290c2232bd47a2838f655d558ee40e154"},{"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":"d3a64f3fc957ad97f8c60e73c560492b08a89eff","unresolved":false,"context_lines":[{"line_number":39,"context_line":"\t\treturn fmt.Errorf(\"error creating module manager: %w\", err)"},{"line_number":40,"context_line":"\t}"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"\tgo func() {"},{"line_number":43,"context_line":"\t\terr \u003d filepath.WalkDir(\"/sys/devices\", func(path string, d fs.DirEntry, err error) error {"},{"line_number":44,"context_line":"\t\t\tif !d.IsDir() \u0026\u0026 d.Name() \u003d\u003d \"uevent\" {"},{"line_number":45,"context_line":"\t\t\t\tif err :\u003d os.WriteFile(path, []byte(\"add\"), 0); err !\u003d nil {"}],"source_content_type":"text/x-go","patch_set":2,"id":"4f21d5f0_59543d76","line":42,"range":{"start_line":42,"start_character":1,"end_line":42,"end_character":12},"in_reply_to":"bdf300bd_43f7de4a","updated":"2023-06-07 20:12:12.000000000","message":"Done","commit_id":"9687b2d290c2232bd47a2838f655d558ee40e154"},{"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":"0c0cdb72ab26eb000f7b04a6f526ec9ed82d3bbc","unresolved":true,"context_lines":[{"line_number":63,"context_line":"\t\tif e.Action \u003d\u003d kobject.Add {"},{"line_number":64,"context_line":"\t\t\tif e.Values[\"MODALIAS\"] !\u003d \"\" {"},{"line_number":65,"context_line":"\t\t\t\tif err :\u003d modMgr.LoadModulesForDevice(e.Values[\"MODALIAS\"]); err !\u003d nil {"},{"line_number":66,"context_line":"\t\t\t\t\tl.Errorf(\"Error loading kernel modules: %w\", err)"},{"line_number":67,"context_line":"\t\t\t\t}"},{"line_number":68,"context_line":"\t\t\t}"},{"line_number":69,"context_line":"\t\t}"}],"source_content_type":"text/x-go","patch_set":2,"id":"b14c2602_880ea758","line":66,"range":{"start_line":66,"start_character":5,"end_line":66,"end_character":54},"updated":"2023-06-07 10:26:16.000000000","message":"Will this error message contain the name of the module(s) that failed to load?","commit_id":"9687b2d290c2232bd47a2838f655d558ee40e154"},{"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":"9cb928340f210a915e21ae43cda9f4457811fdf5","unresolved":false,"context_lines":[{"line_number":63,"context_line":"\t\tif e.Action \u003d\u003d kobject.Add {"},{"line_number":64,"context_line":"\t\t\tif e.Values[\"MODALIAS\"] !\u003d \"\" {"},{"line_number":65,"context_line":"\t\t\t\tif err :\u003d modMgr.LoadModulesForDevice(e.Values[\"MODALIAS\"]); err !\u003d nil {"},{"line_number":66,"context_line":"\t\t\t\t\tl.Errorf(\"Error loading kernel modules: %w\", err)"},{"line_number":67,"context_line":"\t\t\t\t}"},{"line_number":68,"context_line":"\t\t\t}"},{"line_number":69,"context_line":"\t\t}"}],"source_content_type":"text/x-go","patch_set":2,"id":"5d5a6f8e_74847def","line":66,"range":{"start_line":66,"start_character":5,"end_line":66,"end_character":54},"in_reply_to":"4c4cf351_8714c06c","updated":"2023-06-12 09:18:08.000000000","message":"Done","commit_id":"9687b2d290c2232bd47a2838f655d558ee40e154"},{"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":"d3a64f3fc957ad97f8c60e73c560492b08a89eff","unresolved":true,"context_lines":[{"line_number":63,"context_line":"\t\tif e.Action \u003d\u003d kobject.Add {"},{"line_number":64,"context_line":"\t\t\tif e.Values[\"MODALIAS\"] !\u003d \"\" {"},{"line_number":65,"context_line":"\t\t\t\tif err :\u003d modMgr.LoadModulesForDevice(e.Values[\"MODALIAS\"]); err !\u003d nil {"},{"line_number":66,"context_line":"\t\t\t\t\tl.Errorf(\"Error loading kernel modules: %w\", err)"},{"line_number":67,"context_line":"\t\t\t\t}"},{"line_number":68,"context_line":"\t\t\t}"},{"line_number":69,"context_line":"\t\t}"}],"source_content_type":"text/x-go","patch_set":2,"id":"4c4cf351_8714c06c","line":66,"range":{"start_line":66,"start_character":5,"end_line":66,"end_character":54},"in_reply_to":"b14c2602_880ea758","updated":"2023-06-07 20:12:12.000000000","message":"Yes, loadModuleRecursive in manager.go will finally error out with \"error opening kernel module: \u003cPathError\u003e\" or \"error loading kernel module \u003cmodule name\u003e: \u003csyscall error\u003e\"","commit_id":"9687b2d290c2232bd47a2838f655d558ee40e154"}]}
