)]}'
{"metropolis/pkg/efivarfs/variables.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":"7ea075c28ea8f283274e5768a9cebec54097f476","unresolved":true,"context_lines":[{"line_number":112,"context_line":"func DeleteBootEntry(idx int) error {"},{"line_number":113,"context_line":"\terr :\u003d Delete(ScopeGlobal, fmt.Sprintf(\"Boot%04X\", idx))"},{"line_number":114,"context_line":"\tif errors.Is(err, fs.ErrNotExist) {"},{"line_number":115,"context_line":"\t\t// Try non-spec-conforming lowercase entry"},{"line_number":116,"context_line":"\t\terr \u003d Delete(ScopeGlobal, fmt.Sprintf(\"Boot%04x\", idx))"},{"line_number":117,"context_line":"\t}"},{"line_number":118,"context_line":"\treturn err"}],"source_content_type":"text/x-go","patch_set":1,"id":"5ffb03ba_d898ff89","line":115,"range":{"start_line":115,"start_character":2,"end_line":115,"end_character":44},"updated":"2023-12-04 10:53:55.000000000","message":"How about we list variables first and case-insensitive match here? Is there no chance that this could eg. be called \u0027boot%04x\u0027 or \u0027BOOT%04x\u0027 or any number of variations? Not talking spec here, but practical chance of that occurring.","commit_id":"673c894a2cdabccb653a0fe5145c453786a61dd3"},{"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":"824108ea6ad28c94a575ae7e422070ebaa8b30d1","unresolved":false,"context_lines":[{"line_number":112,"context_line":"func DeleteBootEntry(idx int) error {"},{"line_number":113,"context_line":"\terr :\u003d Delete(ScopeGlobal, fmt.Sprintf(\"Boot%04X\", idx))"},{"line_number":114,"context_line":"\tif errors.Is(err, fs.ErrNotExist) {"},{"line_number":115,"context_line":"\t\t// Try non-spec-conforming lowercase entry"},{"line_number":116,"context_line":"\t\terr \u003d Delete(ScopeGlobal, fmt.Sprintf(\"Boot%04x\", idx))"},{"line_number":117,"context_line":"\t}"},{"line_number":118,"context_line":"\treturn err"}],"source_content_type":"text/x-go","patch_set":1,"id":"0c731c96_ad1ef1a6","line":115,"range":{"start_line":115,"start_character":2,"end_line":115,"end_character":44},"in_reply_to":"287f24e8_a3203836","updated":"2023-12-04 18:25:39.000000000","message":"Acknowledged","commit_id":"673c894a2cdabccb653a0fe5145c453786a61dd3"},{"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":"ff3cc3ae8d7bcba5791335a41959707328504e97","unresolved":true,"context_lines":[{"line_number":112,"context_line":"func DeleteBootEntry(idx int) error {"},{"line_number":113,"context_line":"\terr :\u003d Delete(ScopeGlobal, fmt.Sprintf(\"Boot%04X\", idx))"},{"line_number":114,"context_line":"\tif errors.Is(err, fs.ErrNotExist) {"},{"line_number":115,"context_line":"\t\t// Try non-spec-conforming lowercase entry"},{"line_number":116,"context_line":"\t\terr \u003d Delete(ScopeGlobal, fmt.Sprintf(\"Boot%04x\", idx))"},{"line_number":117,"context_line":"\t}"},{"line_number":118,"context_line":"\treturn err"}],"source_content_type":"text/x-go","patch_set":1,"id":"287f24e8_a3203836","line":115,"range":{"start_line":115,"start_character":2,"end_line":115,"end_character":44},"in_reply_to":"5ffb03ba_d898ff89","updated":"2023-12-04 13:43:46.000000000","message":"Listing is very expensive as for each entry we enter SMM. Efibootmgr which is what 99% of non-Windows systems use to manage boot entries only handles this specific case as well. So if we get BOOT0aaa this will be broken anywhere else (except maybe Windows, their code is not open so I have no idea what they\u0027ll do) anyways.","commit_id":"673c894a2cdabccb653a0fe5145c453786a61dd3"}]}
