)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"27be725537a1e7c8f44eb5508edb51d1f936083f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"d9b0ed46_69a43137","updated":"2025-09-15 11:03:15.000000000","message":"Frankly, I\u0027m not sure at all why Freezer should be in it\u0027s separate Panel, rather then under `Project`.\n\nI kinda get the idea, that Freezer, alike to all other projects, is currently deployed on tenants premise, so scheduler and agent are installed on VMs rather then being a \"central\" service.\n\nBut if this really justify it\u0027s own section - not sure...","commit_id":"b0e2e4e044c1f44a630409b06dc8f0032fdd176c"},{"author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"change_message_id":"2b3ed4988ae7a1c5ace3fee0f563f4619a6e69ca","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"0d796219_8e01c488","in_reply_to":"d9b0ed46_69a43137","updated":"2025-09-15 22:34:10.000000000","message":"Perhaps it was relevant at one time (judging by the times of Okata, there were separate categories for everything 😊). I will test it to see how it will be better.","commit_id":"b0e2e4e044c1f44a630409b06dc8f0032fdd176c"}],"freezer_ui/dashboard.py":[{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"bb4d3d1f1ca884c7c5780e6a2830a88fb592e88f","unresolved":true,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"class Freezer(horizon.Dashboard):"},{"line_number":27,"context_line":"    name \u003d _(\"Backup and Restore\")"},{"line_number":28,"context_line":"    slug \u003d \"disaster_recovery\""},{"line_number":29,"context_line":"    panels \u003d (FreezerDR,)"},{"line_number":30,"context_line":"    default_panel \u003d \u0027jobs\u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"46c0a13b_2672cb12","line":27,"range":{"start_line":27,"start_character":0,"end_line":27,"end_character":34},"updated":"2025-08-27 08:42:26.000000000","message":"I wonder if that actually is a good idea to have Panel and Dashboard named the same way, as this will result in repeating name in the menu, won\u0027t it?","commit_id":"5ecba9bd6950db963658fa517acd1f98d485b93d"},{"author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"change_message_id":"97a87ffad3a8e4b7c4781d5eb89c8374f18fbc0b","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"class Freezer(horizon.Dashboard):"},{"line_number":27,"context_line":"    name \u003d _(\"Backup and Restore\")"},{"line_number":28,"context_line":"    slug \u003d \"disaster_recovery\""},{"line_number":29,"context_line":"    panels \u003d (FreezerDR,)"},{"line_number":30,"context_line":"    default_panel \u003d \u0027jobs\u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"52d99a1d_39bd76d1","line":27,"range":{"start_line":27,"start_character":0,"end_line":27,"end_character":34},"in_reply_to":"0797720f_2e2bad64","updated":"2025-09-05 00:42:18.000000000","message":"I think this good at this time..","commit_id":"5ecba9bd6950db963658fa517acd1f98d485b93d"},{"author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"change_message_id":"bdc66f5d8e496b09c6288c561af1e585f0850f6d","unresolved":true,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"class Freezer(horizon.Dashboard):"},{"line_number":27,"context_line":"    name \u003d _(\"Backup and Restore\")"},{"line_number":28,"context_line":"    slug \u003d \"disaster_recovery\""},{"line_number":29,"context_line":"    panels \u003d (FreezerDR,)"},{"line_number":30,"context_line":"    default_panel \u003d \u0027jobs\u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa103655_f40765c4","line":27,"range":{"start_line":27,"start_character":0,"end_line":27,"end_character":34},"in_reply_to":"46c0a13b_2672cb12","updated":"2025-08-27 17:09:06.000000000","message":"Yes, your right, but this will exclude DR entirely, now the name is not relevant at all.\n\nIt can be simply called - Backups..","commit_id":"5ecba9bd6950db963658fa517acd1f98d485b93d"},{"author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"change_message_id":"d51301a915fe75243f4305ea7187a063b2646958","unresolved":true,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"class Freezer(horizon.Dashboard):"},{"line_number":27,"context_line":"    name \u003d _(\"Backup and Restore\")"},{"line_number":28,"context_line":"    slug \u003d \"disaster_recovery\""},{"line_number":29,"context_line":"    panels \u003d (FreezerDR,)"},{"line_number":30,"context_line":"    default_panel \u003d \u0027jobs\u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"0797720f_2e2bad64","line":27,"range":{"start_line":27,"start_character":0,"end_line":27,"end_character":34},"in_reply_to":"fa103655_f40765c4","updated":"2025-08-31 00:43:05.000000000","message":"@noonedeadpunk@gmail.com maybe... just Backup?","commit_id":"5ecba9bd6950db963658fa517acd1f98d485b93d"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"27be725537a1e7c8f44eb5508edb51d1f936083f","unresolved":true,"context_lines":[{"line_number":17,"context_line":"import horizon"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"class FreezerDR(horizon.PanelGroup):"},{"line_number":21,"context_line":"    slug \u003d \"freezerdr\""},{"line_number":22,"context_line":"    name \u003d _(\"Backup and Restore\")"},{"line_number":23,"context_line":"    panels \u003d (\u0027jobs\u0027, \u0027actions\u0027, \u0027sessions\u0027, \u0027clients\u0027, \u0027backups\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"94e65110_5497012c","line":20,"range":{"start_line":20,"start_character":6,"end_line":20,"end_character":15},"updated":"2025-09-15 11:03:15.000000000","message":"I\u0027d say we need to rename that as well then.","commit_id":"b0e2e4e044c1f44a630409b06dc8f0032fdd176c"},{"author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"change_message_id":"98172670e3122b679fd9742c7d052bfe0c20836f","unresolved":false,"context_lines":[{"line_number":17,"context_line":"import horizon"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"class FreezerDR(horizon.PanelGroup):"},{"line_number":21,"context_line":"    slug \u003d \"freezerdr\""},{"line_number":22,"context_line":"    name \u003d _(\"Backup and Restore\")"},{"line_number":23,"context_line":"    panels \u003d (\u0027jobs\u0027, \u0027actions\u0027, \u0027sessions\u0027, \u0027clients\u0027, \u0027backups\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"0cdf642b_84b29c47","line":20,"range":{"start_line":20,"start_character":6,"end_line":20,"end_character":15},"in_reply_to":"94e65110_5497012c","updated":"2026-02-06 14:33:38.000000000","message":"Done","commit_id":"b0e2e4e044c1f44a630409b06dc8f0032fdd176c"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"27be725537a1e7c8f44eb5508edb51d1f936083f","unresolved":true,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"class FreezerDR(horizon.PanelGroup):"},{"line_number":21,"context_line":"    slug \u003d \"freezerdr\""},{"line_number":22,"context_line":"    name \u003d _(\"Backup and Restore\")"},{"line_number":23,"context_line":"    panels \u003d (\u0027jobs\u0027, \u0027actions\u0027, \u0027sessions\u0027, \u0027clients\u0027, \u0027backups\u0027)"},{"line_number":24,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9341aeef_7079a53d","line":21,"range":{"start_line":21,"start_character":12,"end_line":21,"end_character":21},"updated":"2025-09-15 11:03:15.000000000","message":"as well as slug","commit_id":"b0e2e4e044c1f44a630409b06dc8f0032fdd176c"},{"author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"change_message_id":"98172670e3122b679fd9742c7d052bfe0c20836f","unresolved":false,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"class FreezerDR(horizon.PanelGroup):"},{"line_number":21,"context_line":"    slug \u003d \"freezerdr\""},{"line_number":22,"context_line":"    name \u003d _(\"Backup and Restore\")"},{"line_number":23,"context_line":"    panels \u003d (\u0027jobs\u0027, \u0027actions\u0027, \u0027sessions\u0027, \u0027clients\u0027, \u0027backups\u0027)"},{"line_number":24,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"c5dff886_5c92b5e4","line":21,"range":{"start_line":21,"start_character":12,"end_line":21,"end_character":21},"in_reply_to":"9341aeef_7079a53d","updated":"2026-02-06 14:33:38.000000000","message":"Done","commit_id":"b0e2e4e044c1f44a630409b06dc8f0032fdd176c"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"27be725537a1e7c8f44eb5508edb51d1f936083f","unresolved":true,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"class Freezer(horizon.Dashboard):"},{"line_number":27,"context_line":"    name \u003d _(\"Backup\")"},{"line_number":28,"context_line":"    slug \u003d \"disaster_recovery\""},{"line_number":29,"context_line":"    panels \u003d (FreezerDR,)"},{"line_number":30,"context_line":"    default_panel \u003d \u0027jobs\u0027"},{"line_number":31,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"dabcc3b4_9c2fac91","line":28,"range":{"start_line":28,"start_character":12,"end_line":28,"end_character":29},"updated":"2025-09-15 11:03:15.000000000","message":"and this one as well...","commit_id":"b0e2e4e044c1f44a630409b06dc8f0032fdd176c"},{"author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"change_message_id":"98172670e3122b679fd9742c7d052bfe0c20836f","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"class Freezer(horizon.Dashboard):"},{"line_number":27,"context_line":"    name \u003d _(\"Backup\")"},{"line_number":28,"context_line":"    slug \u003d \"disaster_recovery\""},{"line_number":29,"context_line":"    panels \u003d (FreezerDR,)"},{"line_number":30,"context_line":"    default_panel \u003d \u0027jobs\u0027"},{"line_number":31,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"c3591482_e851affb","line":28,"range":{"start_line":28,"start_character":12,"end_line":28,"end_character":29},"in_reply_to":"dabcc3b4_9c2fac91","updated":"2026-02-06 14:33:38.000000000","message":"Done","commit_id":"b0e2e4e044c1f44a630409b06dc8f0032fdd176c"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"27be725537a1e7c8f44eb5508edb51d1f936083f","unresolved":true,"context_lines":[{"line_number":26,"context_line":"class Freezer(horizon.Dashboard):"},{"line_number":27,"context_line":"    name \u003d _(\"Backup\")"},{"line_number":28,"context_line":"    slug \u003d \"disaster_recovery\""},{"line_number":29,"context_line":"    panels \u003d (FreezerDR,)"},{"line_number":30,"context_line":"    default_panel \u003d \u0027jobs\u0027"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"bb720d22_b33a223a","line":29,"range":{"start_line":29,"start_character":14,"end_line":29,"end_character":23},"updated":"2025-09-15 11:03:15.000000000","message":"and reflect new panel name for the dashboard","commit_id":"b0e2e4e044c1f44a630409b06dc8f0032fdd176c"},{"author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"change_message_id":"98172670e3122b679fd9742c7d052bfe0c20836f","unresolved":false,"context_lines":[{"line_number":26,"context_line":"class Freezer(horizon.Dashboard):"},{"line_number":27,"context_line":"    name \u003d _(\"Backup\")"},{"line_number":28,"context_line":"    slug \u003d \"disaster_recovery\""},{"line_number":29,"context_line":"    panels \u003d (FreezerDR,)"},{"line_number":30,"context_line":"    default_panel \u003d \u0027jobs\u0027"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"e83bf275_ccd000b5","line":29,"range":{"start_line":29,"start_character":14,"end_line":29,"end_character":23},"in_reply_to":"bb720d22_b33a223a","updated":"2026-02-06 14:33:38.000000000","message":"Done","commit_id":"b0e2e4e044c1f44a630409b06dc8f0032fdd176c"}]}
