diff --git a/runtime/history/SUPPORT-260918-XENFORO-FLEET-EXACT-CONFLICT-INVENTORY-495T3R1.json b/runtime/history/SUPPORT-260918-XENFORO-FLEET-EXACT-CONFLICT-INVENTORY-495T3R1.json new file mode 100644 index 00000000..ac5713dd --- /dev/null +++ b/runtime/history/SUPPORT-260918-XENFORO-FLEET-EXACT-CONFLICT-INVENTORY-495T3R1.json @@ -0,0 +1,38 @@ +{ + "schema_version": 1, + "channel": "homelab-runtime", + "command_id": "SUPPORT-260918-XENFORO-FLEET-EXACT-CONFLICT-INVENTORY-495T3R1", + "status": "FAIL", + "rc": 3, + "host": "pve01", + "mode": "read-only", + "component": "xenforo-fleet-exact-conflict-inventory", + "started_at_utc": "2026-09-17T21:55:05Z", + "finished_at_utc": "2026-09-17T21:55:09Z", + "reference_register_checked": true, + "reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66", + "error_register_checked": true, + "error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0", + "command_sha256": "246165207dd443f9cae8a7833e560f2769f5c9c1248aa8297b8113301e6c70b8", + "duplicate_failed_command_blocked": false, + "block_reason": null, + "execution_started": true, + "change_declared": false, + "result_contract_valid": true, + "result_contract_status": null, + "result_contract_error": null, + "command_rc": 3, + "changes_made": false, + "rollback_started": false, + "rollback_restored": null, + "mutation_outcome": "NO_MUTATION", + "sanitized": true, + "secrets_included": false, + "private_addresses_included": false, + "raw_evidence_retained_locally": true, + "raw_evidence_sha256": "a4a76e62ef69ac27be665c966e8f8a38d69a1a2061d2520d8a655c14b9683507", + "sanitized_output_sha256": "a4a76e62ef69ac27be665c966e8f8a38d69a1a2061d2520d8a655c14b9683507", + "output_truncated_in_json": false, + "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt", + "output": "TPL495T3R1_WRAPPER_BEGIN=true\nERROR_REGISTER_CHECK=OK\nREFERENCE_CHECK=OK\nAUTHORITY_CHECK_SCOPE=READABILITY_ONLY_INCIDENTS_NOT_CLOSED\nTPL495T3R1_BEGIN=true\nMODE=READ_ONLY_EXACT_CONFLICT_INVENTORY\nVM211_EXCLUDED=true\nTPL495T3R1_SAFE_REPORT={\"affected_sites\":5,\"affected_site_names\":[\"codevipe.ru\",\"dsmods.ru\",\"gamevipe.ru\",\"hkmods.ru\",\"zakrutim.ru\"],\"outdated_total\":5,\"xf_error_rows_total\":0,\"public_http_200\":7,\"conflict_regions_total\":0,\"native_base_exact_all\":false,\"sites\":[{\"site\":\"codevipe.ru\",\"ok\":true,\"xf_error_rows\":0,\"board_active\":\"1\",\"default_style_id\":\"2\",\"outdated_count_repo\":1,\"outdated\":[{\"meta\":{\"template_id\":1401,\"parent_version_string\":\"2.0.0 Alpha\",\"parent_last_edit_date\":1721849139,\"outdated_by_version\":1,\"outdated_by_date\":0},\"style\":{\"style_id\":2,\"parent_id\":1,\"title\":\"Default style 2\",\"last_modified_date\":1789648610},\"current\":{\"class\":\"XF\\\\Entity\\\\Template\",\"template_id\":1401,\"type\":\"public\",\"title\":\"extra.less\",\"style_id\":2,\"addon_id\":\"\",\"version_id\":0,\"version_string\":\"\",\"last_edit_date\":1784195301,\"template_body\":{\"bytes\":2396,\"sha256\":\"ca051810957679432c36024c18f3adbf3a087c7a034cd46d72edfffbd4564b6c\",\"lines\":131}},\"parent\":{\"class\":\"XF\\\\Entity\\\\Template\",\"template_id\":850,\"type\":\"public\",\"title\":\"extra.less\",\"style_id\":0,\"addon_id\":\"XF\",\"version_id\":2000010,\"version_string\":\"2.0.0 Alpha\",\"last_edit_date\":1721849139,\"template_body\":{\"bytes\":0,\"sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"lines\":1}},\"master\":{\"template_id\":850,\"type\":\"public\",\"title\":\"extra.less\",\"style_id\":0,\"addon_id\":\"XF\",\"version_id\":2000010,\"version_string\":\"2.0.0 Alpha\",\"last_edit_date\":1721849139,\"template_body\":{\"bytes\":0,\"sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"lines\":1}},\"base_source\":\"unavailable\",\"base_exact_native\":false,\"base\":null,\"base_entity\":null,\"custom_change_spans\":[],\"parent_change_spans\":[],\"conflict_regions\":[],\"native_history_contract\":[]}],\"source_discovery\":[{\"path\":\"src/XF/Admin/Controller/TemplateController.php\",\"sha256\":\"73b31a31b0498882cf599b3bb95d00ec42783d921d720dadd5342f7d6716f060\",\"hits\":[{\"line\":13,\"text\":\"use XF\\\\Job\\\\TemplateMerge;\"},{\"line\":418,\"text\":\"'autoMerged' => $this->filter('automerged', 'bool'),\"},{\"line\":439,\"text\":\"public function actionMergeOutdated(ParameterBag $params)\"},{\"line\":448,\"text\":\"return $this->error(\\\\XF::phrase('custom_template_out_of_date_edited_recently_no_merge'));\"},{\"line\":452,\"text\":\"$previousVersion = $historyRepo->getHistoryForMerge($template, $parentTemplate);\"},{\"line\":461,\"text\":\"$merged = $this->filter('merged', 'array-str,no-trim');\"},{\"line\":462,\"text\":\"$final = implode(\\\"\\\\n\\\", $merged);\"},{\"line\":490,\"text\":\"return $this->view('XF:Template\\\\MergeOutdated', 'template_merge_outdated', $viewParams);\"},{\"line\":494,\"text\":\"public function actionAutoMerge()\"},{\"line\":501,\"text\":\"$this->app->jobManager()->enqueueUnique('autoMerge', TemplateMerge::class, [\"},{\"line\":505,\"text\":\"return $this->redirect($this->buildLink('templates/outdated', null, ['automerged' => 1]));\"},{\"line\":509,\"text\":\"return $this->view('XF:Template\\\\AutoMerge', 'template_auto_merge');\"}]},{\"path\":\"src/XF/Repository/TemplateRepository.php\",\"sha256\":\"3b772c900f223a5251f3b40ad20cdda6873869a2e61407a27c4c1745e1b0acef\",\"hits\":[]},{\"path\":\"src/XF/Job/TemplateMerge.php\",\"sha256\":\"7cac80d14ba46c6889f99d0603eed60b387bdf527458a15e912bddc0015e3a93\",\"hits\":[{\"line\":11,\"text\":\"class TemplateMerge extends AbstractJob\"},{\"line\":38,\"text\":\"$merged = $this->mergeTemplate($templateId);\"},{\"line\":39,\"text\":\"if ($merged)\"},{\"line\":66,\"text\":\"protected function mergeTemplate($templateId)\"},{\"line\":89,\"text\":\"$previousVersion = $historyRepo->getHistoryForMerge($template, $parentTemplate);\"},{\"line\":97,\"text\":\"$final = $diff->mergeToFinal(\"}]},{\"path\":\"src/XF/Entity/Template.php\",\"sha256\":\"22aca4b31ee47840cdae45b7e5051673bea4d2c4179d7198c25fee04ab6625fe\",\"hits\":[]}]},{\"site\":\"dsmods.ru\",\"ok\":true,\"xf_error_rows\":0,\"board_active\":\"1\",\"default_style_id\":\"2\",\"outdated_count_repo\":1,\"outdated\":[{\"meta\":{\"template_id\":1317,\"parent_version_string\":\"2.0.0 Alpha\",\"parent_last_edit_date\":1728727128,\"outdated_by_version\":1,\"outdated_by_date\":0},\"style\":{\"style_id\":2,\"parent_id\":1,\"title\":\"Default style 2\",\"last_modified_date\":1789649311},\"current\":{\"class\":\"XF\\\\Entity\\\\Template\",\"template_id\":1317,\"type\":\"public\",\"title\":\"extra.less\",\"style_id\":2,\"addon_id\":\"\",\"version_id\":0,\"version_string\":\"\",\"last_edit_date\":1784195301,\"template_body\":{\"bytes\":2402,\"sha256\":\"3898034b75b561c774b41f6e1d8dce66a171fe30c7c210d543b41a8133e42fa2\",\"lines\":131}},\"parent\":{\"class\":\"XF\\\\Entity\\\\Template\",\"template_id\":850,\"type\":\"public\",\"title\":\"extra.less\",\"style_id\":0,\"addon_id\":\"XF\",\"version_id\":2000010,\"version_string\":\"2.0.0 Alpha\",\"last_edit_date\":1728727128,\"template_body\":{\"bytes\":0,\"sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"lines\":1}},\"master\":{\"template_id\":850,\"type\":\"public\",\"title\":\"extra.less\",\"style_id\":0,\"addon_id\":\"XF\",\"version_id\":2000010,\"version_string\":\"2.0.0 Alpha\",\"last_edit_date\":1728727128,\"template_body\":{\"bytes\":0,\"sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"lines\":1}},\"base_source\":\"unavailable\",\"base_exact_native\":false,\"base\":null,\"base_entity\":null,\"custom_change_spans\":[],\"parent_change_spans\":[],\"conflict_regions\":[],\"native_history_contract\":[]}],\"source_discovery\":[{\"path\":\"src/XF/Admin/Controller/TemplateController.php\",\"sha256\":\"73b31a31b0498882cf599b3bb95d00ec42783d921d720dadd5342f7d6716f060\",\"hits\":[{\"line\":13,\"text\":\"use XF\\\\Job\\\\TemplateMerge;\"},{\"line\":418,\"text\":\"'autoMerged' => $this->filter('automerged', 'bool'),\"},{\"line\":439,\"text\":\"public function actionMergeOutdated(ParameterBag $params)\"},{\"line\":448,\"text\":\"return $this->error(\\\\XF::phrase('custom_template_out_of_date_edited_recently_no_merge'));\"},{\"line\":452,\"text\":\"$previousVersion = $historyRepo->getHistoryForMerge($template, $parentTemplate);\"},{\"line\":461,\"text\":\"$merged = $this->filter('merged', 'array-str,no-trim');\"},{\"line\":462,\"text\":\"$final = implode(\\\"\\\\n\\\", $merged);\"},{\"line\":490,\"text\":\"return $this->view('XF:Template\\\\MergeOutdated', 'template_merge_outdated', $viewParams);\"},{\"line\":494,\"text\":\"public function actionAutoMerge()\"},{\"line\":501,\"text\":\"$this->app->jobManager()->enqueueUnique('autoMerge', TemplateMerge::class, [\"},{\"line\":505,\"text\":\"return $this->redirect($this->buildLink('templates/outdated', null, ['automerged' => 1]));\"},{\"line\":509,\"text\":\"return $this->view('XF:Template\\\\AutoMerge', 'template_auto_merge');\"}]},{\"path\":\"src/XF/Repository/TemplateRepository.php\",\"sha256\":\"3b772c900f223a5251f3b40ad20cdda6873869a2e61407a27c4c1745e1b0acef\",\"hits\":[]},{\"path\":\"src/XF/Job/TemplateMerge.php\",\"sha256\":\"7cac80d14ba46c6889f99d0603eed60b387bdf527458a15e912bddc0015e3a93\",\"hits\":[{\"line\":11,\"text\":\"class TemplateMerge extends AbstractJob\"},{\"line\":38,\"text\":\"$merged = $this->mergeTemplate($templateId);\"},{\"line\":39,\"text\":\"if ($merged)\"},{\"line\":66,\"text\":\"protected function mergeTemplate($templateId)\"},{\"line\":89,\"text\":\"$previousVersion = $historyRepo->getHistoryForMerge($template, $parentTemplate);\"},{\"line\":97,\"text\":\"$final = $diff->mergeToFinal(\"}]},{\"path\":\"src/XF/Entity/Template.php\",\"sha256\":\"22aca4b31ee47840cdae45b7e5051673bea4d2c4179d7198c25fee04ab6625fe\",\"hits\":[]}]},{\"site\":\"gamevipe.ru\",\"ok\":true,\"xf_error_rows\":0,\"board_active\":\"1\",\"default_style_id\":\"2\",\"outdated_count_repo\":1,\"outdated\":[{\"meta\":{\"template_id\":1696,\"parent_version_string\":\"2.0.0 Alpha\",\"parent_last_edit_date\":1720986507,\"outdated_by_version\":1,\"outdated_by_date\":0},\"style\":{\"style_id\":2,\"parent_id\":1,\"title\":\"Default style 2\",\"last_modified_date\":1789649315},\"current\":{\"class\":\"XF\\\\Entity\\\\Template\",\"template_id\":1696,\"type\":\"public\",\"title\":\"extra.less\",\"style_id\":2,\"addon_id\":\"\",\"version_id\":0,\"version_string\":\"\",\"last_edit_date\":1784195301,\"template_body\":{\"bytes\":2410,\"sha256\":\"fde07ae7d5f65a3cdee23b7f90834229c95495fb69db44727345b550441646ab\",\"lines\":131}},\"parent\":{\"class\":\"XF\\\\Entity\\\\Template\",\"template_id\":803,\"type\":\"public\",\"title\":\"extra.less\",\"style_id\":0,\"addon_id\":\"XF\",\"version_id\":2000010,\"version_string\":\"2.0.0 Alpha\",\"last_edit_date\":1720986507,\"template_body\":{\"bytes\":0,\"sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"lines\":1}},\"master\":{\"template_id\":803,\"type\":\"public\",\"title\":\"extra.less\",\"style_id\":0,\"addon_id\":\"XF\",\"version_id\":2000010,\"version_string\":\"2.0.0 Alpha\",\"last_edit_date\":1720986507,\"template_body\":{\"bytes\":0,\"sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"lines\":1}},\"base_source\":\"unavailable\",\"base_exact_native\":false,\"base\":null,\"base_entity\":null,\"custom_change_spans\":[],\"parent_change_spans\":[],\"conflict_regions\":[],\"native_history_contract\":[]}],\"source_discovery\":[{\"path\":\"src/XF/Admin/Controller/TemplateController.php\",\"sha256\":\"73b31a31b0498882cf599b3bb95d00ec42783d921d720dadd5342f7d6716f060\",\"hits\":[{\"line\":13,\"text\":\"use XF\\\\Job\\\\TemplateMerge;\"},{\"line\":418,\"text\":\"'autoMerged' => $this->filter('automerged', 'bool'),\"},{\"line\":439,\"text\":\"public function actionMergeOutdated(ParameterBag $params)\"},{\"line\":448,\"text\":\"return $this->error(\\\\XF::phrase('custom_template_out_of_date_edited_recently_no_merge'));\"},{\"line\":452,\"text\":\"$previousVersion = $historyRepo->getHistoryForMerge($template, $parentTemplate);\"},{\"line\":461,\"text\":\"$merged = $this->filter('merged', 'array-str,no-trim');\"},{\"line\":462,\"text\":\"$final = implode(\\\"\\\\n\\\", $merged);\"},{\"line\":490,\"text\":\"return $this->view('XF:Template\\\\MergeOutdated', 'template_merge_outdated', $viewParams);\"},{\"line\":494,\"text\":\"public function actionAutoMerge()\"},{\"line\":501,\"text\":\"$this->app->jobManager()->enqueueUnique('autoMerge', TemplateMerge::class, [\"},{\"line\":505,\"text\":\"return $this->redirect($this->buildLink('templates/outdated', null, ['automerged' => 1]));\"},{\"line\":509,\"text\":\"return $this->view('XF:Template\\\\AutoMerge', 'template_auto_merge');\"}]},{\"path\":\"src/XF/Repository/TemplateRepository.php\",\"sha256\":\"3b772c900f223a5251f3b40ad20cdda6873869a2e61407a27c4c1745e1b0acef\",\"hits\":[]},{\"path\":\"src/XF/Job/TemplateMerge.php\",\"sha256\":\"7cac80d14ba46c6889f99d0603eed60b387bdf527458a15e912bddc0015e3a93\",\"hits\":[{\"line\":11,\"text\":\"class TemplateMerge extends AbstractJob\"},{\"line\":38,\"text\":\"$merged = $this->mergeTemplate($templateId);\"},{\"line\":39,\"text\":\"if ($merged)\"},{\"line\":66,\"text\":\"protected function mergeTemplate($templateId)\"},{\"line\":89,\"text\":\"$previousVersion = $historyRepo->getHistoryForMerge($template, $parentTemplate);\"},{\"line\":97,\"text\":\"$final = $diff->mergeToFinal(\"}]},{\"path\":\"src/XF/Entity/Template.php\",\"sha256\":\"22aca4b31ee47840cdae45b7e5051673bea4d2c4179d7198c25fee04ab6625fe\",\"hits\":[]}]},{\"site\":\"hkmods.ru\",\"ok\":true,\"xf_error_rows\":0,\"board_active\":\"1\",\"default_style_id\":\"2\",\"outdated_count_repo\":1,\"outdated\":[{\"meta\":{\"template_id\":2021,\"parent_version_string\":\"2.0.0 Alpha\",\"parent_last_edit_date\":1691944582,\"outdated_by_version\":1,\"outdated_by_date\":0},\"style\":{\"style_id\":2,\"parent_id\":1,\"title\":\"Default style 2\",\"last_modified_date\":1789649318},\"current\":{\"class\":\"XF\\\\Entity\\\\Template\",\"template_id\":2021,\"type\":\"public\",\"title\":\"extra.less\",\"style_id\":2,\"addon_id\":\"\",\"version_id\":0,\"version_string\":\"\",\"last_edit_date\":1784195301,\"template_body\":{\"bytes\":2422,\"sha256\":\"2339326596eb8f77111df70fa4336809e67615942b4b7b1afb2777d8ee447bd3\",\"lines\":131}},\"parent\":{\"class\":\"XF\\\\Entity\\\\Template\",\"template_id\":798,\"type\":\"public\",\"title\":\"extra.less\",\"style_id\":0,\"addon_id\":\"XF\",\"version_id\":2000010,\"version_string\":\"2.0.0 Alpha\",\"last_edit_date\":1691944582,\"template_body\":{\"bytes\":0,\"sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"lines\":1}},\"master\":{\"template_id\":798,\"type\":\"public\",\"title\":\"extra.less\",\"style_id\":0,\"addon_id\":\"XF\",\"version_id\":2000010,\"version_string\":\"2.0.0 Alpha\",\"last_edit_date\":1691944582,\"template_body\":{\"bytes\":0,\"sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"lines\":1}},\"base_source\":\"unavailable\",\"base_exact_native\":false,\"base\":null,\"base_entity\":null,\"custom_change_spans\":[],\"parent_change_spans\":[],\"conflict_regions\":[],\"native_history_contract\":[]}],\"source_discovery\":[{\"path\":\"src/XF/Admin/Controller/TemplateController.php\",\"sha256\":\"73b31a31b0498882cf599b3bb95d00ec42783d921d720dadd5342f7d6716f060\",\"hits\":[{\"line\":13,\"text\":\"use XF\\\\Job\\\\TemplateMerge;\"},{\"line\":418,\"text\":\"'autoMerged' => $this->filter('automerged', 'bool'),\"},{\"line\":439,\"text\":\"public function actionMergeOutdated(ParameterBag $params)\"},{\"line\":448,\"text\":\"return $this->error(\\\\XF::phrase('custom_template_out_of_date_edited_recently_no_merge'));\"},{\"line\":452,\"text\":\"$previousVersion = $historyRepo->getHistoryForMerge($template, $parentTemplate);\"},{\"line\":461,\"text\":\"$merged = $this->filter('merged', 'array-str,no-trim');\"},{\"line\":462,\"text\":\"$final = implode(\\\"\\\\n\\\", $merged);\"},{\"line\":490,\"text\":\"return $this->view('XF:Template\\\\MergeOutdated', 'template_merge_outdated', $viewParams);\"},{\"line\":494,\"text\":\"public function actionAutoMerge()\"},{\"line\":501,\"text\":\"$this->app->jobManager()->enqueueUnique('autoMerge', TemplateMerge::class, [\"},{\"line\":505,\"text\":\"return $this->redirect($this->buildLink('templates/outdated', null, ['automerged' => 1]));\"},{\"line\":509,\"text\":\"return $this->view('XF:Template\\\\AutoMerge', 'template_auto_merge');\"}]},{\"path\":\"src/XF/Repository/TemplateRepository.php\",\"sha256\":\"3b772c900f223a5251f3b40ad20cdda6873869a2e61407a27c4c1745e1b0acef\",\"hits\":[]},{\"path\":\"src/XF/Job/TemplateMerge.php\",\"sha256\":\"7cac80d14ba46c6889f99d0603eed60b387bdf527458a15e912bddc0015e3a93\",\"hits\":[{\"line\":11,\"text\":\"class TemplateMerge extends AbstractJob\"},{\"line\":38,\"text\":\"$merged = $this->mergeTemplate($templateId);\"},{\"line\":39,\"text\":\"if ($merged)\"},{\"line\":66,\"text\":\"protected function mergeTemplate($templateId)\"},{\"line\":89,\"text\":\"$previousVersion = $historyRepo->getHistoryForMerge($template, $parentTemplate);\"},{\"line\":97,\"text\":\"$final = $diff->mergeToFinal(\"}]},{\"path\":\"src/XF/Entity/Template.php\",\"sha256\":\"22aca4b31ee47840cdae45b7e5051673bea4d2c4179d7198c25fee04ab6625fe\",\"hits\":[]}]},{\"site\":\"kingofwolk.ru\",\"ok\":true,\"xf_error_rows\":0,\"board_active\":\"1\",\"default_style_id\":\"2\",\"outdated_count_repo\":0,\"outdated\":[],\"source_discovery\":[{\"path\":\"src/XF/Admin/Controller/TemplateController.php\",\"sha256\":\"73b31a31b0498882cf599b3bb95d00ec42783d921d720dadd5342f7d6716f060\",\"hits\":[{\"line\":13,\"text\":\"use XF\\\\Job\\\\TemplateMerge;\"},{\"line\":418,\"text\":\"'autoMerged' => $this->filter('automerged', 'bool'),\"},{\"line\":439,\"text\":\"public function actionMergeOutdated(ParameterBag $params)\"},{\"line\":448,\"text\":\"return $this->error(\\\\XF::phrase('custom_template_out_of_date_edited_recently_no_merge'));\"},{\"line\":452,\"text\":\"$previousVersion = $historyRepo->getHistoryForMerge($template, $parentTemplate);\"},{\"line\":461,\"text\":\"$merged = $this->filter('merged', 'array-str,no-trim');\"},{\"line\":462,\"text\":\"$final = implode(\\\"\\\\n\\\", $merged);\"},{\"line\":490,\"text\":\"return $this->view('XF:Template\\\\MergeOutdated', 'template_merge_outdated', $viewParams);\"},{\"line\":494,\"text\":\"public function actionAutoMerge()\"},{\"line\":501,\"text\":\"$this->app->jobManager()->enqueueUnique('autoMerge', TemplateMerge::class, [\"},{\"line\":505,\"text\":\"return $this->redirect($this->buildLink('templates/outdated', null, ['automerged' => 1]));\"},{\"line\":509,\"text\":\"return $this->view('XF:Template\\\\AutoMerge', 'template_auto_merge');\"}]},{\"path\":\"src/XF/Repository/TemplateRepository.php\",\"sha256\":\"3b772c900f223a5251f3b40ad20cdda6873869a2e61407a27c4c1745e1b0acef\",\"hits\":[]},{\"path\":\"src/XF/Job/TemplateMerge.php\",\"sha256\":\"7cac80d14ba46c6889f99d0603eed60b387bdf527458a15e912bddc0015e3a93\",\"hits\":[{\"line\":11,\"text\":\"class TemplateMerge extends AbstractJob\"},{\"line\":38,\"text\":\"$merged = $this->mergeTemplate($templateId);\"},{\"line\":39,\"text\":\"if ($merged)\"},{\"line\":66,\"text\":\"protected function mergeTemplate($templateId)\"},{\"line\":89,\"text\":\"$previousVersion = $historyRepo->getHistoryForMerge($template, $parentTemplate);\"},{\"line\":97,\"text\":\"$final = $diff->mergeToFinal(\"}]},{\"path\":\"src/XF/Entity/Template.php\",\"sha256\":\"22aca4b31ee47840cdae45b7e5051673bea4d2c4179d7198c25fee04ab6625fe\",\"hits\":[]}]},{\"site\":\"zakrutim.ru\",\"ok\":true,\"xf_error_rows\":0,\"board_active\":\"1\",\"default_style_id\":\"2\",\"outdated_count_repo\":1,\"outdated\":[{\"meta\":{\"template_id\":1921,\"parent_version_string\":\"2.0.0 Alpha\",\"parent_last_edit_date\":1692264832,\"outdated_by_version\":1,\"outdated_by_date\":0},\"style\":{\"style_id\":2,\"parent_id\":1,\"title\":\"Default style 2\",\"last_modified_date\":1789649326},\"current\":{\"class\":\"XF\\\\Entity\\\\Template\",\"template_id\":1921,\"type\":\"public\",\"title\":\"extra.less\",\"style_id\":2,\"addon_id\":\"\",\"version_id\":0,\"version_string\":\"\",\"last_edit_date\":1784195301,\"template_body\":{\"bytes\":2435,\"sha256\":\"9662d1b57f5f6fcd2992fd9d150aeb887c242f792eb750cf6cb458d65b99a12d\",\"lines\":131}},\"parent\":{\"class\":\"XF\\\\Entity\\\\Template\",\"template_id\":803,\"type\":\"public\",\"title\":\"extra.less\",\"style_id\":0,\"addon_id\":\"XF\",\"version_id\":2000010,\"version_string\":\"2.0.0 Alpha\",\"last_edit_date\":1692264832,\"template_body\":{\"bytes\":0,\"sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"lines\":1}},\"master\":{\"template_id\":803,\"type\":\"public\",\"title\":\"extra.less\",\"style_id\":0,\"addon_id\":\"XF\",\"version_id\":2000010,\"version_string\":\"2.0.0 Alpha\",\"last_edit_date\":1692264832,\"template_body\":{\"bytes\":0,\"sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"lines\":1}},\"base_source\":\"unavailable\",\"base_exact_native\":false,\"base\":null,\"base_entity\":null,\"custom_change_spans\":[],\"parent_change_spans\":[],\"conflict_regions\":[],\"native_history_contract\":[]}],\"source_discovery\":[{\"path\":\"src/XF/Admin/Controller/TemplateController.php\",\"sha256\":\"73b31a31b0498882cf599b3bb95d00ec42783d921d720dadd5342f7d6716f060\",\"hits\":[{\"line\":13,\"text\":\"use XF\\\\Job\\\\TemplateMerge;\"},{\"line\":418,\"text\":\"'autoMerged' => $this->filter('automerged', 'bool'),\"},{\"line\":439,\"text\":\"public function actionMergeOutdated(ParameterBag $params)\"},{\"line\":448,\"text\":\"return $this->error(\\\\XF::phrase('custom_template_out_of_date_edited_recently_no_merge'));\"},{\"line\":452,\"text\":\"$previousVersion = $historyRepo->getHistoryForMerge($template, $parentTemplate);\"},{\"line\":461,\"text\":\"$merged = $this->filter('merged', 'array-str,no-trim');\"},{\"line\":462,\"text\":\"$final = implode(\\\"\\\\n\\\", $merged);\"},{\"line\":490,\"text\":\"return $this->view('XF:Template\\\\MergeOutdated', 'template_merge_outdated', $viewParams);\"},{\"line\":494,\"text\":\"public function actionAutoMerge()\"},{\"line\":501,\"text\":\"$this->app->jobManager()->enqueueUnique('autoMerge', TemplateMerge::class, [\"},{\"line\":505,\"text\":\"return $this->redirect($this->buildLink('templates/outdated', null, ['automerged' => 1]));\"},{\"line\":509,\"text\":\"return $this->view('XF:Template\\\\AutoMerge', 'template_auto_merge');\"}]},{\"path\":\"src/XF/Repository/TemplateRepository.php\",\"sha256\":\"3b772c900f223a5251f3b40ad20cdda6873869a2e61407a27c4c1745e1b0acef\",\"hits\":[]},{\"path\":\"src/XF/Job/TemplateMerge.php\",\"sha256\":\"7cac80d14ba46c6889f99d0603eed60b387bdf527458a15e912bddc0015e3a93\",\"hits\":[{\"line\":11,\"text\":\"class TemplateMerge extends AbstractJob\"},{\"line\":38,\"text\":\"$merged = $this->mergeTemplate($templateId);\"},{\"line\":39,\"text\":\"if ($merged)\"},{\"line\":66,\"text\":\"protected function mergeTemplate($templateId)\"},{\"line\":89,\"text\":\"$previousVersion = $historyRepo->getHistoryForMerge($template, $parentTemplate);\"},{\"line\":97,\"text\":\"$final = $diff->mergeToFinal(\"}]},{\"path\":\"src/XF/Entity/Template.php\",\"sha256\":\"22aca4b31ee47840cdae45b7e5051673bea4d2c4179d7198c25fee04ab6625fe\",\"hits\":[]}]},{\"site\":\"newfi.ru\",\"ok\":true,\"xf_error_rows\":0,\"board_active\":\"1\",\"default_style_id\":\"4\",\"outdated_count_repo\":0,\"outdated\":[],\"source_discovery\":[{\"path\":\"src/XF/Admin/Controller/TemplateController.php\",\"sha256\":\"73b31a31b0498882cf599b3bb95d00ec42783d921d720dadd5342f7d6716f060\",\"hits\":[{\"line\":13,\"text\":\"use XF\\\\Job\\\\TemplateMerge;\"},{\"line\":418,\"text\":\"'autoMerged' => $this->filter('automerged', 'bool'),\"},{\"line\":439,\"text\":\"public function actionMergeOutdated(ParameterBag $params)\"},{\"line\":448,\"text\":\"return $this->error(\\\\XF::phrase('custom_template_out_of_date_edited_recently_no_merge'));\"},{\"line\":452,\"text\":\"$previousVersion = $historyRepo->getHistoryForMerge($template, $parentTemplate);\"},{\"line\":461,\"text\":\"$merged = $this->filter('merged', 'array-str,no-trim');\"},{\"line\":462,\"text\":\"$final = implode(\\\"\\\\n\\\", $merged);\"},{\"line\":490,\"text\":\"return $this->view('XF:Template\\\\MergeOutdated', 'template_merge_outdated', $viewParams);\"},{\"line\":494,\"text\":\"public function actionAutoMerge()\"},{\"line\":501,\"text\":\"$this->app->jobManager()->enqueueUnique('autoMerge', TemplateMerge::class, [\"},{\"line\":505,\"text\":\"return $this->redirect($this->buildLink('templates/outdated', null, ['automerged' => 1]));\"},{\"line\":509,\"text\":\"return $this->view('XF:Template\\\\AutoMerge', 'template_auto_merge');\"}]},{\"path\":\"src/XF/Repository/TemplateRepository.php\",\"sha256\":\"3b772c900f223a5251f3b40ad20cdda6873869a2e61407a27c4c1745e1b0acef\",\"hits\":[]},{\"path\":\"src/XF/Job/TemplateMerge.php\",\"sha256\":\"7cac80d14ba46c6889f99d0603eed60b387bdf527458a15e912bddc0015e3a93\",\"hits\":[{\"line\":11,\"text\":\"class TemplateMerge extends AbstractJob\"},{\"line\":38,\"text\":\"$merged = $this->mergeTemplate($templateId);\"},{\"line\":39,\"text\":\"if ($merged)\"},{\"line\":66,\"text\":\"protected function mergeTemplate($templateId)\"},{\"line\":89,\"text\":\"$previousVersion = $historyRepo->getHistoryForMerge($template, $parentTemplate);\"},{\"line\":97,\"text\":\"$final = $diff->mergeToFinal(\"}]},{\"path\":\"src/XF/Entity/Template.php\",\"sha256\":\"22aca4b31ee47840cdae45b7e5051673bea4d2c4179d7198c25fee04ab6625fe\",\"hits\":[]}]}],\"http\":[{\"domain\":\"codevipe.ru\",\"rc\":0,\"http_code\":\"200\",\"stderr\":\"\"},{\"domain\":\"dsmods.ru\",\"rc\":0,\"http_code\":\"200\",\"stderr\":\"\"},{\"domain\":\"gamevipe.ru\",\"rc\":0,\"http_code\":\"200\",\"stderr\":\"\"},{\"domain\":\"hkmods.ru\",\"rc\":0,\"http_code\":\"200\",\"stderr\":\"\"},{\"domain\":\"kingofwolk.ru\",\"rc\":0,\"http_code\":\"200\",\"stderr\":\"\"},{\"domain\":\"zakrutim.ru\",\"rc\":0,\"http_code\":\"200\",\"stderr\":\"\"},{\"domain\":\"newfi.ru\",\"rc\":0,\"http_code\":\"200\",\"stderr\":\"\"}],\"vm211_excluded\":true,\"scope\":\"READ_ONLY_NO_XENFORO_MUTATION\"}\nTPL495T3R1_DECISION=HOLD_NATIVE_BASE_HISTORY_NOT_EXACT_FOR_ALL\nTPL495T3R1_HOLD={\"affected\":[\"codevipe.ru\",\"dsmods.ru\",\"gamevipe.ru\",\"hkmods.ru\",\"zakrutim.ru\"]}\nHOMELAB_RESULT_CONTRACT={\"version\":1,\"command_id\":\"SUPPORT-260918-XENFORO-FLEET-EXACT-CONFLICT-INVENTORY-495T3R1\",\"status\":\"FAIL\",\"changes_made\":false,\"rollback_started\":false,\"rollback_restored\":null}\n" +} diff --git a/runtime/history/SUPPORT-260918-XENFORO-FLEET-EXACT-CONFLICT-INVENTORY-495T3R1.txt b/runtime/history/SUPPORT-260918-XENFORO-FLEET-EXACT-CONFLICT-INVENTORY-495T3R1.txt new file mode 100644 index 00000000..7c4998ee --- /dev/null +++ b/runtime/history/SUPPORT-260918-XENFORO-FLEET-EXACT-CONFLICT-INVENTORY-495T3R1.txt @@ -0,0 +1,43 @@ +CHAT_OUTPUT_BEGIN +COMMAND_ID=SUPPORT-260918-XENFORO-FLEET-EXACT-CONFLICT-INVENTORY-495T3R1 +STATUS=FAIL +RC=3 +HOST=pve01 +MODE=read-only +COMPONENT=xenforo-fleet-exact-conflict-inventory +REFERENCE_REGISTER_CHECK=OK +REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66 +ERROR_REGISTER_CHECK=OK +ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0 +COMMAND_SHA256=246165207dd443f9cae8a7833e560f2769f5c9c1248aa8297b8113301e6c70b8 +DUPLICATE_FAILED_COMMAND_BLOCKED=false +EXECUTION_STARTED=true +CHANGE_DECLARED=false +RESULT_CONTRACT_VALID=true +RESULT_CONTRACT_STATUS=NOT_APPLICABLE +RESULT_CONTRACT_ERROR=NONE +COMMAND_RC=3 +CHANGES_MADE=false +ROLLBACK_STARTED=false +ROLLBACK_RESTORED=null +MUTATION_OUTCOME=NO_MUTATION +SANITIZED=yes +SECRETS_INCLUDED=no +PRIVATE_ADDRESSES_INCLUDED=no +RAW_EVIDENCE_SHA256=a4a76e62ef69ac27be665c966e8f8a38d69a1a2061d2520d8a655c14b9683507 +SANITIZED_OUTPUT_SHA256=a4a76e62ef69ac27be665c966e8f8a38d69a1a2061d2520d8a655c14b9683507 +OUTPUT_BEGIN +TPL495T3R1_WRAPPER_BEGIN=true +ERROR_REGISTER_CHECK=OK +REFERENCE_CHECK=OK +AUTHORITY_CHECK_SCOPE=READABILITY_ONLY_INCIDENTS_NOT_CLOSED +TPL495T3R1_BEGIN=true +MODE=READ_ONLY_EXACT_CONFLICT_INVENTORY +VM211_EXCLUDED=true +TPL495T3R1_SAFE_REPORT={"affected_sites":5,"affected_site_names":["codevipe.ru","dsmods.ru","gamevipe.ru","hkmods.ru","zakrutim.ru"],"outdated_total":5,"xf_error_rows_total":0,"public_http_200":7,"conflict_regions_total":0,"native_base_exact_all":false,"sites":[{"site":"codevipe.ru","ok":true,"xf_error_rows":0,"board_active":"1","default_style_id":"2","outdated_count_repo":1,"outdated":[{"meta":{"template_id":1401,"parent_version_string":"2.0.0 Alpha","parent_last_edit_date":1721849139,"outdated_by_version":1,"outdated_by_date":0},"style":{"style_id":2,"parent_id":1,"title":"Default style 2","last_modified_date":1789648610},"current":{"class":"XF\\Entity\\Template","template_id":1401,"type":"public","title":"extra.less","style_id":2,"addon_id":"","version_id":0,"version_string":"","last_edit_date":1784195301,"template_body":{"bytes":2396,"sha256":"ca051810957679432c36024c18f3adbf3a087c7a034cd46d72edfffbd4564b6c","lines":131}},"parent":{"class":"XF\\Entity\\Template","template_id":850,"type":"public","title":"extra.less","style_id":0,"addon_id":"XF","version_id":2000010,"version_string":"2.0.0 Alpha","last_edit_date":1721849139,"template_body":{"bytes":0,"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","lines":1}},"master":{"template_id":850,"type":"public","title":"extra.less","style_id":0,"addon_id":"XF","version_id":2000010,"version_string":"2.0.0 Alpha","last_edit_date":1721849139,"template_body":{"bytes":0,"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","lines":1}},"base_source":"unavailable","base_exact_native":false,"base":null,"base_entity":null,"custom_change_spans":[],"parent_change_spans":[],"conflict_regions":[],"native_history_contract":[]}],"source_discovery":[{"path":"src/XF/Admin/Controller/TemplateController.php","sha256":"73b31a31b0498882cf599b3bb95d00ec42783d921d720dadd5342f7d6716f060","hits":[{"line":13,"text":"use XF\\Job\\TemplateMerge;"},{"line":418,"text":"'autoMerged' => $this->filter('automerged', 'bool'),"},{"line":439,"text":"public function actionMergeOutdated(ParameterBag $params)"},{"line":448,"text":"return $this->error(\\XF::phrase('custom_template_out_of_date_edited_recently_no_merge'));"},{"line":452,"text":"$previousVersion = $historyRepo->getHistoryForMerge($template, $parentTemplate);"},{"line":461,"text":"$merged = $this->filter('merged', 'array-str,no-trim');"},{"line":462,"text":"$final = implode(\"\\n\", $merged);"},{"line":490,"text":"return $this->view('XF:Template\\MergeOutdated', 'template_merge_outdated', $viewParams);"},{"line":494,"text":"public function actionAutoMerge()"},{"line":501,"text":"$this->app->jobManager()->enqueueUnique('autoMerge', TemplateMerge::class, ["},{"line":505,"text":"return $this->redirect($this->buildLink('templates/outdated', null, ['automerged' => 1]));"},{"line":509,"text":"return $this->view('XF:Template\\AutoMerge', 'template_auto_merge');"}]},{"path":"src/XF/Repository/TemplateRepository.php","sha256":"3b772c900f223a5251f3b40ad20cdda6873869a2e61407a27c4c1745e1b0acef","hits":[]},{"path":"src/XF/Job/TemplateMerge.php","sha256":"7cac80d14ba46c6889f99d0603eed60b387bdf527458a15e912bddc0015e3a93","hits":[{"line":11,"text":"class TemplateMerge extends AbstractJob"},{"line":38,"text":"$merged = $this->mergeTemplate($templateId);"},{"line":39,"text":"if ($merged)"},{"line":66,"text":"protected function mergeTemplate($templateId)"},{"line":89,"text":"$previousVersion = $historyRepo->getHistoryForMerge($template, $parentTemplate);"},{"line":97,"text":"$final = $diff->mergeToFinal("}]},{"path":"src/XF/Entity/Template.php","sha256":"22aca4b31ee47840cdae45b7e5051673bea4d2c4179d7198c25fee04ab6625fe","hits":[]}]},{"site":"dsmods.ru","ok":true,"xf_error_rows":0,"board_active":"1","default_style_id":"2","outdated_count_repo":1,"outdated":[{"meta":{"template_id":1317,"parent_version_string":"2.0.0 Alpha","parent_last_edit_date":1728727128,"outdated_by_version":1,"outdated_by_date":0},"style":{"style_id":2,"parent_id":1,"title":"Default style 2","last_modified_date":1789649311},"current":{"class":"XF\\Entity\\Template","template_id":1317,"type":"public","title":"extra.less","style_id":2,"addon_id":"","version_id":0,"version_string":"","last_edit_date":1784195301,"template_body":{"bytes":2402,"sha256":"3898034b75b561c774b41f6e1d8dce66a171fe30c7c210d543b41a8133e42fa2","lines":131}},"parent":{"class":"XF\\Entity\\Template","template_id":850,"type":"public","title":"extra.less","style_id":0,"addon_id":"XF","version_id":2000010,"version_string":"2.0.0 Alpha","last_edit_date":1728727128,"template_body":{"bytes":0,"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","lines":1}},"master":{"template_id":850,"type":"public","title":"extra.less","style_id":0,"addon_id":"XF","version_id":2000010,"version_string":"2.0.0 Alpha","last_edit_date":1728727128,"template_body":{"bytes":0,"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","lines":1}},"base_source":"unavailable","base_exact_native":false,"base":null,"base_entity":null,"custom_change_spans":[],"parent_change_spans":[],"conflict_regions":[],"native_history_contract":[]}],"source_discovery":[{"path":"src/XF/Admin/Controller/TemplateController.php","sha256":"73b31a31b0498882cf599b3bb95d00ec42783d921d720dadd5342f7d6716f060","hits":[{"line":13,"text":"use XF\\Job\\TemplateMerge;"},{"line":418,"text":"'autoMerged' => $this->filter('automerged', 'bool'),"},{"line":439,"text":"public function actionMergeOutdated(ParameterBag $params)"},{"line":448,"text":"return $this->error(\\XF::phrase('custom_template_out_of_date_edited_recently_no_merge'));"},{"line":452,"text":"$previousVersion = $historyRepo->getHistoryForMerge($template, $parentTemplate);"},{"line":461,"text":"$merged = $this->filter('merged', 'array-str,no-trim');"},{"line":462,"text":"$final = implode(\"\\n\", $merged);"},{"line":490,"text":"return $this->view('XF:Template\\MergeOutdated', 'template_merge_outdated', $viewParams);"},{"line":494,"text":"public function actionAutoMerge()"},{"line":501,"text":"$this->app->jobManager()->enqueueUnique('autoMerge', TemplateMerge::class, ["},{"line":505,"text":"return $this->redirect($this->buildLink('templates/outdated', null, ['automerged' => 1]));"},{"line":509,"text":"return $this->view('XF:Template\\AutoMerge', 'template_auto_merge');"}]},{"path":"src/XF/Repository/TemplateRepository.php","sha256":"3b772c900f223a5251f3b40ad20cdda6873869a2e61407a27c4c1745e1b0acef","hits":[]},{"path":"src/XF/Job/TemplateMerge.php","sha256":"7cac80d14ba46c6889f99d0603eed60b387bdf527458a15e912bddc0015e3a93","hits":[{"line":11,"text":"class TemplateMerge extends AbstractJob"},{"line":38,"text":"$merged = $this->mergeTemplate($templateId);"},{"line":39,"text":"if ($merged)"},{"line":66,"text":"protected function mergeTemplate($templateId)"},{"line":89,"text":"$previousVersion = $historyRepo->getHistoryForMerge($template, $parentTemplate);"},{"line":97,"text":"$final = $diff->mergeToFinal("}]},{"path":"src/XF/Entity/Template.php","sha256":"22aca4b31ee47840cdae45b7e5051673bea4d2c4179d7198c25fee04ab6625fe","hits":[]}]},{"site":"gamevipe.ru","ok":true,"xf_error_rows":0,"board_active":"1","default_style_id":"2","outdated_count_repo":1,"outdated":[{"meta":{"template_id":1696,"parent_version_string":"2.0.0 Alpha","parent_last_edit_date":1720986507,"outdated_by_version":1,"outdated_by_date":0},"style":{"style_id":2,"parent_id":1,"title":"Default style 2","last_modified_date":1789649315},"current":{"class":"XF\\Entity\\Template","template_id":1696,"type":"public","title":"extra.less","style_id":2,"addon_id":"","version_id":0,"version_string":"","last_edit_date":1784195301,"template_body":{"bytes":2410,"sha256":"fde07ae7d5f65a3cdee23b7f90834229c95495fb69db44727345b550441646ab","lines":131}},"parent":{"class":"XF\\Entity\\Template","template_id":803,"type":"public","title":"extra.less","style_id":0,"addon_id":"XF","version_id":2000010,"version_string":"2.0.0 Alpha","last_edit_date":1720986507,"template_body":{"bytes":0,"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","lines":1}},"master":{"template_id":803,"type":"public","title":"extra.less","style_id":0,"addon_id":"XF","version_id":2000010,"version_string":"2.0.0 Alpha","last_edit_date":1720986507,"template_body":{"bytes":0,"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","lines":1}},"base_source":"unavailable","base_exact_native":false,"base":null,"base_entity":null,"custom_change_spans":[],"parent_change_spans":[],"conflict_regions":[],"native_history_contract":[]}],"source_discovery":[{"path":"src/XF/Admin/Controller/TemplateController.php","sha256":"73b31a31b0498882cf599b3bb95d00ec42783d921d720dadd5342f7d6716f060","hits":[{"line":13,"text":"use XF\\Job\\TemplateMerge;"},{"line":418,"text":"'autoMerged' => $this->filter('automerged', 'bool'),"},{"line":439,"text":"public function actionMergeOutdated(ParameterBag $params)"},{"line":448,"text":"return $this->error(\\XF::phrase('custom_template_out_of_date_edited_recently_no_merge'));"},{"line":452,"text":"$previousVersion = $historyRepo->getHistoryForMerge($template, $parentTemplate);"},{"line":461,"text":"$merged = $this->filter('merged', 'array-str,no-trim');"},{"line":462,"text":"$final = implode(\"\\n\", $merged);"},{"line":490,"text":"return $this->view('XF:Template\\MergeOutdated', 'template_merge_outdated', $viewParams);"},{"line":494,"text":"public function actionAutoMerge()"},{"line":501,"text":"$this->app->jobManager()->enqueueUnique('autoMerge', TemplateMerge::class, ["},{"line":505,"text":"return $this->redirect($this->buildLink('templates/outdated', null, ['automerged' => 1]));"},{"line":509,"text":"return $this->view('XF:Template\\AutoMerge', 'template_auto_merge');"}]},{"path":"src/XF/Repository/TemplateRepository.php","sha256":"3b772c900f223a5251f3b40ad20cdda6873869a2e61407a27c4c1745e1b0acef","hits":[]},{"path":"src/XF/Job/TemplateMerge.php","sha256":"7cac80d14ba46c6889f99d0603eed60b387bdf527458a15e912bddc0015e3a93","hits":[{"line":11,"text":"class TemplateMerge extends AbstractJob"},{"line":38,"text":"$merged = $this->mergeTemplate($templateId);"},{"line":39,"text":"if ($merged)"},{"line":66,"text":"protected function mergeTemplate($templateId)"},{"line":89,"text":"$previousVersion = $historyRepo->getHistoryForMerge($template, $parentTemplate);"},{"line":97,"text":"$final = $diff->mergeToFinal("}]},{"path":"src/XF/Entity/Template.php","sha256":"22aca4b31ee47840cdae45b7e5051673bea4d2c4179d7198c25fee04ab6625fe","hits":[]}]},{"site":"hkmods.ru","ok":true,"xf_error_rows":0,"board_active":"1","default_style_id":"2","outdated_count_repo":1,"outdated":[{"meta":{"template_id":2021,"parent_version_string":"2.0.0 Alpha","parent_last_edit_date":1691944582,"outdated_by_version":1,"outdated_by_date":0},"style":{"style_id":2,"parent_id":1,"title":"Default style 2","last_modified_date":1789649318},"current":{"class":"XF\\Entity\\Template","template_id":2021,"type":"public","title":"extra.less","style_id":2,"addon_id":"","version_id":0,"version_string":"","last_edit_date":1784195301,"template_body":{"bytes":2422,"sha256":"2339326596eb8f77111df70fa4336809e67615942b4b7b1afb2777d8ee447bd3","lines":131}},"parent":{"class":"XF\\Entity\\Template","template_id":798,"type":"public","title":"extra.less","style_id":0,"addon_id":"XF","version_id":2000010,"version_string":"2.0.0 Alpha","last_edit_date":1691944582,"template_body":{"bytes":0,"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","lines":1}},"master":{"template_id":798,"type":"public","title":"extra.less","style_id":0,"addon_id":"XF","version_id":2000010,"version_string":"2.0.0 Alpha","last_edit_date":1691944582,"template_body":{"bytes":0,"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","lines":1}},"base_source":"unavailable","base_exact_native":false,"base":null,"base_entity":null,"custom_change_spans":[],"parent_change_spans":[],"conflict_regions":[],"native_history_contract":[]}],"source_discovery":[{"path":"src/XF/Admin/Controller/TemplateController.php","sha256":"73b31a31b0498882cf599b3bb95d00ec42783d921d720dadd5342f7d6716f060","hits":[{"line":13,"text":"use XF\\Job\\TemplateMerge;"},{"line":418,"text":"'autoMerged' => $this->filter('automerged', 'bool'),"},{"line":439,"text":"public function actionMergeOutdated(ParameterBag $params)"},{"line":448,"text":"return $this->error(\\XF::phrase('custom_template_out_of_date_edited_recently_no_merge'));"},{"line":452,"text":"$previousVersion = $historyRepo->getHistoryForMerge($template, $parentTemplate);"},{"line":461,"text":"$merged = $this->filter('merged', 'array-str,no-trim');"},{"line":462,"text":"$final = implode(\"\\n\", $merged);"},{"line":490,"text":"return $this->view('XF:Template\\MergeOutdated', 'template_merge_outdated', $viewParams);"},{"line":494,"text":"public function actionAutoMerge()"},{"line":501,"text":"$this->app->jobManager()->enqueueUnique('autoMerge', TemplateMerge::class, ["},{"line":505,"text":"return $this->redirect($this->buildLink('templates/outdated', null, ['automerged' => 1]));"},{"line":509,"text":"return $this->view('XF:Template\\AutoMerge', 'template_auto_merge');"}]},{"path":"src/XF/Repository/TemplateRepository.php","sha256":"3b772c900f223a5251f3b40ad20cdda6873869a2e61407a27c4c1745e1b0acef","hits":[]},{"path":"src/XF/Job/TemplateMerge.php","sha256":"7cac80d14ba46c6889f99d0603eed60b387bdf527458a15e912bddc0015e3a93","hits":[{"line":11,"text":"class TemplateMerge extends AbstractJob"},{"line":38,"text":"$merged = $this->mergeTemplate($templateId);"},{"line":39,"text":"if ($merged)"},{"line":66,"text":"protected function mergeTemplate($templateId)"},{"line":89,"text":"$previousVersion = $historyRepo->getHistoryForMerge($template, $parentTemplate);"},{"line":97,"text":"$final = $diff->mergeToFinal("}]},{"path":"src/XF/Entity/Template.php","sha256":"22aca4b31ee47840cdae45b7e5051673bea4d2c4179d7198c25fee04ab6625fe","hits":[]}]},{"site":"kingofwolk.ru","ok":true,"xf_error_rows":0,"board_active":"1","default_style_id":"2","outdated_count_repo":0,"outdated":[],"source_discovery":[{"path":"src/XF/Admin/Controller/TemplateController.php","sha256":"73b31a31b0498882cf599b3bb95d00ec42783d921d720dadd5342f7d6716f060","hits":[{"line":13,"text":"use XF\\Job\\TemplateMerge;"},{"line":418,"text":"'autoMerged' => $this->filter('automerged', 'bool'),"},{"line":439,"text":"public function actionMergeOutdated(ParameterBag $params)"},{"line":448,"text":"return $this->error(\\XF::phrase('custom_template_out_of_date_edited_recently_no_merge'));"},{"line":452,"text":"$previousVersion = $historyRepo->getHistoryForMerge($template, $parentTemplate);"},{"line":461,"text":"$merged = $this->filter('merged', 'array-str,no-trim');"},{"line":462,"text":"$final = implode(\"\\n\", $merged);"},{"line":490,"text":"return $this->view('XF:Template\\MergeOutdated', 'template_merge_outdated', $viewParams);"},{"line":494,"text":"public function actionAutoMerge()"},{"line":501,"text":"$this->app->jobManager()->enqueueUnique('autoMerge', TemplateMerge::class, ["},{"line":505,"text":"return $this->redirect($this->buildLink('templates/outdated', null, ['automerged' => 1]));"},{"line":509,"text":"return $this->view('XF:Template\\AutoMerge', 'template_auto_merge');"}]},{"path":"src/XF/Repository/TemplateRepository.php","sha256":"3b772c900f223a5251f3b40ad20cdda6873869a2e61407a27c4c1745e1b0acef","hits":[]},{"path":"src/XF/Job/TemplateMerge.php","sha256":"7cac80d14ba46c6889f99d0603eed60b387bdf527458a15e912bddc0015e3a93","hits":[{"line":11,"text":"class TemplateMerge extends AbstractJob"},{"line":38,"text":"$merged = $this->mergeTemplate($templateId);"},{"line":39,"text":"if ($merged)"},{"line":66,"text":"protected function mergeTemplate($templateId)"},{"line":89,"text":"$previousVersion = $historyRepo->getHistoryForMerge($template, $parentTemplate);"},{"line":97,"text":"$final = $diff->mergeToFinal("}]},{"path":"src/XF/Entity/Template.php","sha256":"22aca4b31ee47840cdae45b7e5051673bea4d2c4179d7198c25fee04ab6625fe","hits":[]}]},{"site":"zakrutim.ru","ok":true,"xf_error_rows":0,"board_active":"1","default_style_id":"2","outdated_count_repo":1,"outdated":[{"meta":{"template_id":1921,"parent_version_string":"2.0.0 Alpha","parent_last_edit_date":1692264832,"outdated_by_version":1,"outdated_by_date":0},"style":{"style_id":2,"parent_id":1,"title":"Default style 2","last_modified_date":1789649326},"current":{"class":"XF\\Entity\\Template","template_id":1921,"type":"public","title":"extra.less","style_id":2,"addon_id":"","version_id":0,"version_string":"","last_edit_date":1784195301,"template_body":{"bytes":2435,"sha256":"9662d1b57f5f6fcd2992fd9d150aeb887c242f792eb750cf6cb458d65b99a12d","lines":131}},"parent":{"class":"XF\\Entity\\Template","template_id":803,"type":"public","title":"extra.less","style_id":0,"addon_id":"XF","version_id":2000010,"version_string":"2.0.0 Alpha","last_edit_date":1692264832,"template_body":{"bytes":0,"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","lines":1}},"master":{"template_id":803,"type":"public","title":"extra.less","style_id":0,"addon_id":"XF","version_id":2000010,"version_string":"2.0.0 Alpha","last_edit_date":1692264832,"template_body":{"bytes":0,"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","lines":1}},"base_source":"unavailable","base_exact_native":false,"base":null,"base_entity":null,"custom_change_spans":[],"parent_change_spans":[],"conflict_regions":[],"native_history_contract":[]}],"source_discovery":[{"path":"src/XF/Admin/Controller/TemplateController.php","sha256":"73b31a31b0498882cf599b3bb95d00ec42783d921d720dadd5342f7d6716f060","hits":[{"line":13,"text":"use XF\\Job\\TemplateMerge;"},{"line":418,"text":"'autoMerged' => $this->filter('automerged', 'bool'),"},{"line":439,"text":"public function actionMergeOutdated(ParameterBag $params)"},{"line":448,"text":"return $this->error(\\XF::phrase('custom_template_out_of_date_edited_recently_no_merge'));"},{"line":452,"text":"$previousVersion = $historyRepo->getHistoryForMerge($template, $parentTemplate);"},{"line":461,"text":"$merged = $this->filter('merged', 'array-str,no-trim');"},{"line":462,"text":"$final = implode(\"\\n\", $merged);"},{"line":490,"text":"return $this->view('XF:Template\\MergeOutdated', 'template_merge_outdated', $viewParams);"},{"line":494,"text":"public function actionAutoMerge()"},{"line":501,"text":"$this->app->jobManager()->enqueueUnique('autoMerge', TemplateMerge::class, ["},{"line":505,"text":"return $this->redirect($this->buildLink('templates/outdated', null, ['automerged' => 1]));"},{"line":509,"text":"return $this->view('XF:Template\\AutoMerge', 'template_auto_merge');"}]},{"path":"src/XF/Repository/TemplateRepository.php","sha256":"3b772c900f223a5251f3b40ad20cdda6873869a2e61407a27c4c1745e1b0acef","hits":[]},{"path":"src/XF/Job/TemplateMerge.php","sha256":"7cac80d14ba46c6889f99d0603eed60b387bdf527458a15e912bddc0015e3a93","hits":[{"line":11,"text":"class TemplateMerge extends AbstractJob"},{"line":38,"text":"$merged = $this->mergeTemplate($templateId);"},{"line":39,"text":"if ($merged)"},{"line":66,"text":"protected function mergeTemplate($templateId)"},{"line":89,"text":"$previousVersion = $historyRepo->getHistoryForMerge($template, $parentTemplate);"},{"line":97,"text":"$final = $diff->mergeToFinal("}]},{"path":"src/XF/Entity/Template.php","sha256":"22aca4b31ee47840cdae45b7e5051673bea4d2c4179d7198c25fee04ab6625fe","hits":[]}]},{"site":"newfi.ru","ok":true,"xf_error_rows":0,"board_active":"1","default_style_id":"4","outdated_count_repo":0,"outdated":[],"source_discovery":[{"path":"src/XF/Admin/Controller/TemplateController.php","sha256":"73b31a31b0498882cf599b3bb95d00ec42783d921d720dadd5342f7d6716f060","hits":[{"line":13,"text":"use XF\\Job\\TemplateMerge;"},{"line":418,"text":"'autoMerged' => $this->filter('automerged', 'bool'),"},{"line":439,"text":"public function actionMergeOutdated(ParameterBag $params)"},{"line":448,"text":"return $this->error(\\XF::phrase('custom_template_out_of_date_edited_recently_no_merge'));"},{"line":452,"text":"$previousVersion = $historyRepo->getHistoryForMerge($template, $parentTemplate);"},{"line":461,"text":"$merged = $this->filter('merged', 'array-str,no-trim');"},{"line":462,"text":"$final = implode(\"\\n\", $merged);"},{"line":490,"text":"return $this->view('XF:Template\\MergeOutdated', 'template_merge_outdated', $viewParams);"},{"line":494,"text":"public function actionAutoMerge()"},{"line":501,"text":"$this->app->jobManager()->enqueueUnique('autoMerge', TemplateMerge::class, ["},{"line":505,"text":"return $this->redirect($this->buildLink('templates/outdated', null, ['automerged' => 1]));"},{"line":509,"text":"return $this->view('XF:Template\\AutoMerge', 'template_auto_merge');"}]},{"path":"src/XF/Repository/TemplateRepository.php","sha256":"3b772c900f223a5251f3b40ad20cdda6873869a2e61407a27c4c1745e1b0acef","hits":[]},{"path":"src/XF/Job/TemplateMerge.php","sha256":"7cac80d14ba46c6889f99d0603eed60b387bdf527458a15e912bddc0015e3a93","hits":[{"line":11,"text":"class TemplateMerge extends AbstractJob"},{"line":38,"text":"$merged = $this->mergeTemplate($templateId);"},{"line":39,"text":"if ($merged)"},{"line":66,"text":"protected function mergeTemplate($templateId)"},{"line":89,"text":"$previousVersion = $historyRepo->getHistoryForMerge($template, $parentTemplate);"},{"line":97,"text":"$final = $diff->mergeToFinal("}]},{"path":"src/XF/Entity/Template.php","sha256":"22aca4b31ee47840cdae45b7e5051673bea4d2c4179d7198c25fee04ab6625fe","hits":[]}]}],"http":[{"domain":"codevipe.ru","rc":0,"http_code":"200","stderr":""},{"domain":"dsmods.ru","rc":0,"http_code":"200","stderr":""},{"domain":"gamevipe.ru","rc":0,"http_code":"200","stderr":""},{"domain":"hkmods.ru","rc":0,"http_code":"200","stderr":""},{"domain":"kingofwolk.ru","rc":0,"http_code":"200","stderr":""},{"domain":"zakrutim.ru","rc":0,"http_code":"200","stderr":""},{"domain":"newfi.ru","rc":0,"http_code":"200","stderr":""}],"vm211_excluded":true,"scope":"READ_ONLY_NO_XENFORO_MUTATION"} +TPL495T3R1_DECISION=HOLD_NATIVE_BASE_HISTORY_NOT_EXACT_FOR_ALL +TPL495T3R1_HOLD={"affected":["codevipe.ru","dsmods.ru","gamevipe.ru","hkmods.ru","zakrutim.ru"]} +HOMELAB_RESULT_CONTRACT={"version":1,"command_id":"SUPPORT-260918-XENFORO-FLEET-EXACT-CONFLICT-INVENTORY-495T3R1","status":"FAIL","changes_made":false,"rollback_started":false,"rollback_restored":null} + +OUTPUT_END +CHAT_OUTPUT_END diff --git a/runtime/latest.json b/runtime/latest.json index 94fcafde..ac5713dd 100644 --- a/runtime/latest.json +++ b/runtime/latest.json @@ -1 +1,38 @@ -{"schema_version":1,"channel":"homelab-runtime","command_id":"CONTEXT-AUTO-20260917T211701Z","status":"OK","rc":0,"host":"pve01","mode":"read-only","component":"cluster-context","started_at_utc":"2026-09-17T21:17:01Z","finished_at_utc":"2026-09-17T21:17:02Z","reference_register_checked":true,"reference_sha256":"5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66","error_register_checked":true,"error_register_sha256":"3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0","changes_made":false,"sanitized":true,"secrets_included":false,"private_addresses_included":false,"output":"AUTOMATIC_CLUSTER_CONTEXT_REFRESH=OK"} +{ + "schema_version": 1, + "channel": "homelab-runtime", + "command_id": "SUPPORT-260918-XENFORO-FLEET-EXACT-CONFLICT-INVENTORY-495T3R1", + "status": "FAIL", + "rc": 3, + "host": "pve01", + "mode": "read-only", + "component": "xenforo-fleet-exact-conflict-inventory", + "started_at_utc": "2026-09-17T21:55:05Z", + "finished_at_utc": "2026-09-17T21:55:09Z", + "reference_register_checked": true, + "reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66", + "error_register_checked": true, + "error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0", + "command_sha256": "246165207dd443f9cae8a7833e560f2769f5c9c1248aa8297b8113301e6c70b8", + "duplicate_failed_command_blocked": false, + "block_reason": null, + "execution_started": true, + "change_declared": false, + "result_contract_valid": true, + "result_contract_status": null, + "result_contract_error": null, + "command_rc": 3, + "changes_made": false, + "rollback_started": false, + "rollback_restored": null, + "mutation_outcome": "NO_MUTATION", + "sanitized": true, + "secrets_included": false, + "private_addresses_included": false, + "raw_evidence_retained_locally": true, + "raw_evidence_sha256": "a4a76e62ef69ac27be665c966e8f8a38d69a1a2061d2520d8a655c14b9683507", + "sanitized_output_sha256": "a4a76e62ef69ac27be665c966e8f8a38d69a1a2061d2520d8a655c14b9683507", + "output_truncated_in_json": false, + "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt", + "output": "TPL495T3R1_WRAPPER_BEGIN=true\nERROR_REGISTER_CHECK=OK\nREFERENCE_CHECK=OK\nAUTHORITY_CHECK_SCOPE=READABILITY_ONLY_INCIDENTS_NOT_CLOSED\nTPL495T3R1_BEGIN=true\nMODE=READ_ONLY_EXACT_CONFLICT_INVENTORY\nVM211_EXCLUDED=true\nTPL495T3R1_SAFE_REPORT={\"affected_sites\":5,\"affected_site_names\":[\"codevipe.ru\",\"dsmods.ru\",\"gamevipe.ru\",\"hkmods.ru\",\"zakrutim.ru\"],\"outdated_total\":5,\"xf_error_rows_total\":0,\"public_http_200\":7,\"conflict_regions_total\":0,\"native_base_exact_all\":false,\"sites\":[{\"site\":\"codevipe.ru\",\"ok\":true,\"xf_error_rows\":0,\"board_active\":\"1\",\"default_style_id\":\"2\",\"outdated_count_repo\":1,\"outdated\":[{\"meta\":{\"template_id\":1401,\"parent_version_string\":\"2.0.0 Alpha\",\"parent_last_edit_date\":1721849139,\"outdated_by_version\":1,\"outdated_by_date\":0},\"style\":{\"style_id\":2,\"parent_id\":1,\"title\":\"Default style 2\",\"last_modified_date\":1789648610},\"current\":{\"class\":\"XF\\\\Entity\\\\Template\",\"template_id\":1401,\"type\":\"public\",\"title\":\"extra.less\",\"style_id\":2,\"addon_id\":\"\",\"version_id\":0,\"version_string\":\"\",\"last_edit_date\":1784195301,\"template_body\":{\"bytes\":2396,\"sha256\":\"ca051810957679432c36024c18f3adbf3a087c7a034cd46d72edfffbd4564b6c\",\"lines\":131}},\"parent\":{\"class\":\"XF\\\\Entity\\\\Template\",\"template_id\":850,\"type\":\"public\",\"title\":\"extra.less\",\"style_id\":0,\"addon_id\":\"XF\",\"version_id\":2000010,\"version_string\":\"2.0.0 Alpha\",\"last_edit_date\":1721849139,\"template_body\":{\"bytes\":0,\"sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"lines\":1}},\"master\":{\"template_id\":850,\"type\":\"public\",\"title\":\"extra.less\",\"style_id\":0,\"addon_id\":\"XF\",\"version_id\":2000010,\"version_string\":\"2.0.0 Alpha\",\"last_edit_date\":1721849139,\"template_body\":{\"bytes\":0,\"sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"lines\":1}},\"base_source\":\"unavailable\",\"base_exact_native\":false,\"base\":null,\"base_entity\":null,\"custom_change_spans\":[],\"parent_change_spans\":[],\"conflict_regions\":[],\"native_history_contract\":[]}],\"source_discovery\":[{\"path\":\"src/XF/Admin/Controller/TemplateController.php\",\"sha256\":\"73b31a31b0498882cf599b3bb95d00ec42783d921d720dadd5342f7d6716f060\",\"hits\":[{\"line\":13,\"text\":\"use XF\\\\Job\\\\TemplateMerge;\"},{\"line\":418,\"text\":\"'autoMerged' => $this->filter('automerged', 'bool'),\"},{\"line\":439,\"text\":\"public function actionMergeOutdated(ParameterBag $params)\"},{\"line\":448,\"text\":\"return $this->error(\\\\XF::phrase('custom_template_out_of_date_edited_recently_no_merge'));\"},{\"line\":452,\"text\":\"$previousVersion = $historyRepo->getHistoryForMerge($template, $parentTemplate);\"},{\"line\":461,\"text\":\"$merged = $this->filter('merged', 'array-str,no-trim');\"},{\"line\":462,\"text\":\"$final = implode(\\\"\\\\n\\\", $merged);\"},{\"line\":490,\"text\":\"return $this->view('XF:Template\\\\MergeOutdated', 'template_merge_outdated', $viewParams);\"},{\"line\":494,\"text\":\"public function actionAutoMerge()\"},{\"line\":501,\"text\":\"$this->app->jobManager()->enqueueUnique('autoMerge', TemplateMerge::class, [\"},{\"line\":505,\"text\":\"return $this->redirect($this->buildLink('templates/outdated', null, ['automerged' => 1]));\"},{\"line\":509,\"text\":\"return $this->view('XF:Template\\\\AutoMerge', 'template_auto_merge');\"}]},{\"path\":\"src/XF/Repository/TemplateRepository.php\",\"sha256\":\"3b772c900f223a5251f3b40ad20cdda6873869a2e61407a27c4c1745e1b0acef\",\"hits\":[]},{\"path\":\"src/XF/Job/TemplateMerge.php\",\"sha256\":\"7cac80d14ba46c6889f99d0603eed60b387bdf527458a15e912bddc0015e3a93\",\"hits\":[{\"line\":11,\"text\":\"class TemplateMerge extends AbstractJob\"},{\"line\":38,\"text\":\"$merged = $this->mergeTemplate($templateId);\"},{\"line\":39,\"text\":\"if ($merged)\"},{\"line\":66,\"text\":\"protected function mergeTemplate($templateId)\"},{\"line\":89,\"text\":\"$previousVersion = $historyRepo->getHistoryForMerge($template, $parentTemplate);\"},{\"line\":97,\"text\":\"$final = $diff->mergeToFinal(\"}]},{\"path\":\"src/XF/Entity/Template.php\",\"sha256\":\"22aca4b31ee47840cdae45b7e5051673bea4d2c4179d7198c25fee04ab6625fe\",\"hits\":[]}]},{\"site\":\"dsmods.ru\",\"ok\":true,\"xf_error_rows\":0,\"board_active\":\"1\",\"default_style_id\":\"2\",\"outdated_count_repo\":1,\"outdated\":[{\"meta\":{\"template_id\":1317,\"parent_version_string\":\"2.0.0 Alpha\",\"parent_last_edit_date\":1728727128,\"outdated_by_version\":1,\"outdated_by_date\":0},\"style\":{\"style_id\":2,\"parent_id\":1,\"title\":\"Default style 2\",\"last_modified_date\":1789649311},\"current\":{\"class\":\"XF\\\\Entity\\\\Template\",\"template_id\":1317,\"type\":\"public\",\"title\":\"extra.less\",\"style_id\":2,\"addon_id\":\"\",\"version_id\":0,\"version_string\":\"\",\"last_edit_date\":1784195301,\"template_body\":{\"bytes\":2402,\"sha256\":\"3898034b75b561c774b41f6e1d8dce66a171fe30c7c210d543b41a8133e42fa2\",\"lines\":131}},\"parent\":{\"class\":\"XF\\\\Entity\\\\Template\",\"template_id\":850,\"type\":\"public\",\"title\":\"extra.less\",\"style_id\":0,\"addon_id\":\"XF\",\"version_id\":2000010,\"version_string\":\"2.0.0 Alpha\",\"last_edit_date\":1728727128,\"template_body\":{\"bytes\":0,\"sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"lines\":1}},\"master\":{\"template_id\":850,\"type\":\"public\",\"title\":\"extra.less\",\"style_id\":0,\"addon_id\":\"XF\",\"version_id\":2000010,\"version_string\":\"2.0.0 Alpha\",\"last_edit_date\":1728727128,\"template_body\":{\"bytes\":0,\"sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"lines\":1}},\"base_source\":\"unavailable\",\"base_exact_native\":false,\"base\":null,\"base_entity\":null,\"custom_change_spans\":[],\"parent_change_spans\":[],\"conflict_regions\":[],\"native_history_contract\":[]}],\"source_discovery\":[{\"path\":\"src/XF/Admin/Controller/TemplateController.php\",\"sha256\":\"73b31a31b0498882cf599b3bb95d00ec42783d921d720dadd5342f7d6716f060\",\"hits\":[{\"line\":13,\"text\":\"use XF\\\\Job\\\\TemplateMerge;\"},{\"line\":418,\"text\":\"'autoMerged' => $this->filter('automerged', 'bool'),\"},{\"line\":439,\"text\":\"public function actionMergeOutdated(ParameterBag $params)\"},{\"line\":448,\"text\":\"return $this->error(\\\\XF::phrase('custom_template_out_of_date_edited_recently_no_merge'));\"},{\"line\":452,\"text\":\"$previousVersion = $historyRepo->getHistoryForMerge($template, $parentTemplate);\"},{\"line\":461,\"text\":\"$merged = $this->filter('merged', 'array-str,no-trim');\"},{\"line\":462,\"text\":\"$final = implode(\\\"\\\\n\\\", $merged);\"},{\"line\":490,\"text\":\"return $this->view('XF:Template\\\\MergeOutdated', 'template_merge_outdated', $viewParams);\"},{\"line\":494,\"text\":\"public function actionAutoMerge()\"},{\"line\":501,\"text\":\"$this->app->jobManager()->enqueueUnique('autoMerge', TemplateMerge::class, [\"},{\"line\":505,\"text\":\"return $this->redirect($this->buildLink('templates/outdated', null, ['automerged' => 1]));\"},{\"line\":509,\"text\":\"return $this->view('XF:Template\\\\AutoMerge', 'template_auto_merge');\"}]},{\"path\":\"src/XF/Repository/TemplateRepository.php\",\"sha256\":\"3b772c900f223a5251f3b40ad20cdda6873869a2e61407a27c4c1745e1b0acef\",\"hits\":[]},{\"path\":\"src/XF/Job/TemplateMerge.php\",\"sha256\":\"7cac80d14ba46c6889f99d0603eed60b387bdf527458a15e912bddc0015e3a93\",\"hits\":[{\"line\":11,\"text\":\"class TemplateMerge extends AbstractJob\"},{\"line\":38,\"text\":\"$merged = $this->mergeTemplate($templateId);\"},{\"line\":39,\"text\":\"if ($merged)\"},{\"line\":66,\"text\":\"protected function mergeTemplate($templateId)\"},{\"line\":89,\"text\":\"$previousVersion = $historyRepo->getHistoryForMerge($template, $parentTemplate);\"},{\"line\":97,\"text\":\"$final = $diff->mergeToFinal(\"}]},{\"path\":\"src/XF/Entity/Template.php\",\"sha256\":\"22aca4b31ee47840cdae45b7e5051673bea4d2c4179d7198c25fee04ab6625fe\",\"hits\":[]}]},{\"site\":\"gamevipe.ru\",\"ok\":true,\"xf_error_rows\":0,\"board_active\":\"1\",\"default_style_id\":\"2\",\"outdated_count_repo\":1,\"outdated\":[{\"meta\":{\"template_id\":1696,\"parent_version_string\":\"2.0.0 Alpha\",\"parent_last_edit_date\":1720986507,\"outdated_by_version\":1,\"outdated_by_date\":0},\"style\":{\"style_id\":2,\"parent_id\":1,\"title\":\"Default style 2\",\"last_modified_date\":1789649315},\"current\":{\"class\":\"XF\\\\Entity\\\\Template\",\"template_id\":1696,\"type\":\"public\",\"title\":\"extra.less\",\"style_id\":2,\"addon_id\":\"\",\"version_id\":0,\"version_string\":\"\",\"last_edit_date\":1784195301,\"template_body\":{\"bytes\":2410,\"sha256\":\"fde07ae7d5f65a3cdee23b7f90834229c95495fb69db44727345b550441646ab\",\"lines\":131}},\"parent\":{\"class\":\"XF\\\\Entity\\\\Template\",\"template_id\":803,\"type\":\"public\",\"title\":\"extra.less\",\"style_id\":0,\"addon_id\":\"XF\",\"version_id\":2000010,\"version_string\":\"2.0.0 Alpha\",\"last_edit_date\":1720986507,\"template_body\":{\"bytes\":0,\"sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"lines\":1}},\"master\":{\"template_id\":803,\"type\":\"public\",\"title\":\"extra.less\",\"style_id\":0,\"addon_id\":\"XF\",\"version_id\":2000010,\"version_string\":\"2.0.0 Alpha\",\"last_edit_date\":1720986507,\"template_body\":{\"bytes\":0,\"sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"lines\":1}},\"base_source\":\"unavailable\",\"base_exact_native\":false,\"base\":null,\"base_entity\":null,\"custom_change_spans\":[],\"parent_change_spans\":[],\"conflict_regions\":[],\"native_history_contract\":[]}],\"source_discovery\":[{\"path\":\"src/XF/Admin/Controller/TemplateController.php\",\"sha256\":\"73b31a31b0498882cf599b3bb95d00ec42783d921d720dadd5342f7d6716f060\",\"hits\":[{\"line\":13,\"text\":\"use XF\\\\Job\\\\TemplateMerge;\"},{\"line\":418,\"text\":\"'autoMerged' => $this->filter('automerged', 'bool'),\"},{\"line\":439,\"text\":\"public function actionMergeOutdated(ParameterBag $params)\"},{\"line\":448,\"text\":\"return $this->error(\\\\XF::phrase('custom_template_out_of_date_edited_recently_no_merge'));\"},{\"line\":452,\"text\":\"$previousVersion = $historyRepo->getHistoryForMerge($template, $parentTemplate);\"},{\"line\":461,\"text\":\"$merged = $this->filter('merged', 'array-str,no-trim');\"},{\"line\":462,\"text\":\"$final = implode(\\\"\\\\n\\\", $merged);\"},{\"line\":490,\"text\":\"return $this->view('XF:Template\\\\MergeOutdated', 'template_merge_outdated', $viewParams);\"},{\"line\":494,\"text\":\"public function actionAutoMerge()\"},{\"line\":501,\"text\":\"$this->app->jobManager()->enqueueUnique('autoMerge', TemplateMerge::class, [\"},{\"line\":505,\"text\":\"return $this->redirect($this->buildLink('templates/outdated', null, ['automerged' => 1]));\"},{\"line\":509,\"text\":\"return $this->view('XF:Template\\\\AutoMerge', 'template_auto_merge');\"}]},{\"path\":\"src/XF/Repository/TemplateRepository.php\",\"sha256\":\"3b772c900f223a5251f3b40ad20cdda6873869a2e61407a27c4c1745e1b0acef\",\"hits\":[]},{\"path\":\"src/XF/Job/TemplateMerge.php\",\"sha256\":\"7cac80d14ba46c6889f99d0603eed60b387bdf527458a15e912bddc0015e3a93\",\"hits\":[{\"line\":11,\"text\":\"class TemplateMerge extends AbstractJob\"},{\"line\":38,\"text\":\"$merged = $this->mergeTemplate($templateId);\"},{\"line\":39,\"text\":\"if ($merged)\"},{\"line\":66,\"text\":\"protected function mergeTemplate($templateId)\"},{\"line\":89,\"text\":\"$previousVersion = $historyRepo->getHistoryForMerge($template, $parentTemplate);\"},{\"line\":97,\"text\":\"$final = $diff->mergeToFinal(\"}]},{\"path\":\"src/XF/Entity/Template.php\",\"sha256\":\"22aca4b31ee47840cdae45b7e5051673bea4d2c4179d7198c25fee04ab6625fe\",\"hits\":[]}]},{\"site\":\"hkmods.ru\",\"ok\":true,\"xf_error_rows\":0,\"board_active\":\"1\",\"default_style_id\":\"2\",\"outdated_count_repo\":1,\"outdated\":[{\"meta\":{\"template_id\":2021,\"parent_version_string\":\"2.0.0 Alpha\",\"parent_last_edit_date\":1691944582,\"outdated_by_version\":1,\"outdated_by_date\":0},\"style\":{\"style_id\":2,\"parent_id\":1,\"title\":\"Default style 2\",\"last_modified_date\":1789649318},\"current\":{\"class\":\"XF\\\\Entity\\\\Template\",\"template_id\":2021,\"type\":\"public\",\"title\":\"extra.less\",\"style_id\":2,\"addon_id\":\"\",\"version_id\":0,\"version_string\":\"\",\"last_edit_date\":1784195301,\"template_body\":{\"bytes\":2422,\"sha256\":\"2339326596eb8f77111df70fa4336809e67615942b4b7b1afb2777d8ee447bd3\",\"lines\":131}},\"parent\":{\"class\":\"XF\\\\Entity\\\\Template\",\"template_id\":798,\"type\":\"public\",\"title\":\"extra.less\",\"style_id\":0,\"addon_id\":\"XF\",\"version_id\":2000010,\"version_string\":\"2.0.0 Alpha\",\"last_edit_date\":1691944582,\"template_body\":{\"bytes\":0,\"sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"lines\":1}},\"master\":{\"template_id\":798,\"type\":\"public\",\"title\":\"extra.less\",\"style_id\":0,\"addon_id\":\"XF\",\"version_id\":2000010,\"version_string\":\"2.0.0 Alpha\",\"last_edit_date\":1691944582,\"template_body\":{\"bytes\":0,\"sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"lines\":1}},\"base_source\":\"unavailable\",\"base_exact_native\":false,\"base\":null,\"base_entity\":null,\"custom_change_spans\":[],\"parent_change_spans\":[],\"conflict_regions\":[],\"native_history_contract\":[]}],\"source_discovery\":[{\"path\":\"src/XF/Admin/Controller/TemplateController.php\",\"sha256\":\"73b31a31b0498882cf599b3bb95d00ec42783d921d720dadd5342f7d6716f060\",\"hits\":[{\"line\":13,\"text\":\"use XF\\\\Job\\\\TemplateMerge;\"},{\"line\":418,\"text\":\"'autoMerged' => $this->filter('automerged', 'bool'),\"},{\"line\":439,\"text\":\"public function actionMergeOutdated(ParameterBag $params)\"},{\"line\":448,\"text\":\"return $this->error(\\\\XF::phrase('custom_template_out_of_date_edited_recently_no_merge'));\"},{\"line\":452,\"text\":\"$previousVersion = $historyRepo->getHistoryForMerge($template, $parentTemplate);\"},{\"line\":461,\"text\":\"$merged = $this->filter('merged', 'array-str,no-trim');\"},{\"line\":462,\"text\":\"$final = implode(\\\"\\\\n\\\", $merged);\"},{\"line\":490,\"text\":\"return $this->view('XF:Template\\\\MergeOutdated', 'template_merge_outdated', $viewParams);\"},{\"line\":494,\"text\":\"public function actionAutoMerge()\"},{\"line\":501,\"text\":\"$this->app->jobManager()->enqueueUnique('autoMerge', TemplateMerge::class, [\"},{\"line\":505,\"text\":\"return $this->redirect($this->buildLink('templates/outdated', null, ['automerged' => 1]));\"},{\"line\":509,\"text\":\"return $this->view('XF:Template\\\\AutoMerge', 'template_auto_merge');\"}]},{\"path\":\"src/XF/Repository/TemplateRepository.php\",\"sha256\":\"3b772c900f223a5251f3b40ad20cdda6873869a2e61407a27c4c1745e1b0acef\",\"hits\":[]},{\"path\":\"src/XF/Job/TemplateMerge.php\",\"sha256\":\"7cac80d14ba46c6889f99d0603eed60b387bdf527458a15e912bddc0015e3a93\",\"hits\":[{\"line\":11,\"text\":\"class TemplateMerge extends AbstractJob\"},{\"line\":38,\"text\":\"$merged = $this->mergeTemplate($templateId);\"},{\"line\":39,\"text\":\"if ($merged)\"},{\"line\":66,\"text\":\"protected function mergeTemplate($templateId)\"},{\"line\":89,\"text\":\"$previousVersion = $historyRepo->getHistoryForMerge($template, $parentTemplate);\"},{\"line\":97,\"text\":\"$final = $diff->mergeToFinal(\"}]},{\"path\":\"src/XF/Entity/Template.php\",\"sha256\":\"22aca4b31ee47840cdae45b7e5051673bea4d2c4179d7198c25fee04ab6625fe\",\"hits\":[]}]},{\"site\":\"kingofwolk.ru\",\"ok\":true,\"xf_error_rows\":0,\"board_active\":\"1\",\"default_style_id\":\"2\",\"outdated_count_repo\":0,\"outdated\":[],\"source_discovery\":[{\"path\":\"src/XF/Admin/Controller/TemplateController.php\",\"sha256\":\"73b31a31b0498882cf599b3bb95d00ec42783d921d720dadd5342f7d6716f060\",\"hits\":[{\"line\":13,\"text\":\"use XF\\\\Job\\\\TemplateMerge;\"},{\"line\":418,\"text\":\"'autoMerged' => $this->filter('automerged', 'bool'),\"},{\"line\":439,\"text\":\"public function actionMergeOutdated(ParameterBag $params)\"},{\"line\":448,\"text\":\"return $this->error(\\\\XF::phrase('custom_template_out_of_date_edited_recently_no_merge'));\"},{\"line\":452,\"text\":\"$previousVersion = $historyRepo->getHistoryForMerge($template, $parentTemplate);\"},{\"line\":461,\"text\":\"$merged = $this->filter('merged', 'array-str,no-trim');\"},{\"line\":462,\"text\":\"$final = implode(\\\"\\\\n\\\", $merged);\"},{\"line\":490,\"text\":\"return $this->view('XF:Template\\\\MergeOutdated', 'template_merge_outdated', $viewParams);\"},{\"line\":494,\"text\":\"public function actionAutoMerge()\"},{\"line\":501,\"text\":\"$this->app->jobManager()->enqueueUnique('autoMerge', TemplateMerge::class, [\"},{\"line\":505,\"text\":\"return $this->redirect($this->buildLink('templates/outdated', null, ['automerged' => 1]));\"},{\"line\":509,\"text\":\"return $this->view('XF:Template\\\\AutoMerge', 'template_auto_merge');\"}]},{\"path\":\"src/XF/Repository/TemplateRepository.php\",\"sha256\":\"3b772c900f223a5251f3b40ad20cdda6873869a2e61407a27c4c1745e1b0acef\",\"hits\":[]},{\"path\":\"src/XF/Job/TemplateMerge.php\",\"sha256\":\"7cac80d14ba46c6889f99d0603eed60b387bdf527458a15e912bddc0015e3a93\",\"hits\":[{\"line\":11,\"text\":\"class TemplateMerge extends AbstractJob\"},{\"line\":38,\"text\":\"$merged = $this->mergeTemplate($templateId);\"},{\"line\":39,\"text\":\"if ($merged)\"},{\"line\":66,\"text\":\"protected function mergeTemplate($templateId)\"},{\"line\":89,\"text\":\"$previousVersion = $historyRepo->getHistoryForMerge($template, $parentTemplate);\"},{\"line\":97,\"text\":\"$final = $diff->mergeToFinal(\"}]},{\"path\":\"src/XF/Entity/Template.php\",\"sha256\":\"22aca4b31ee47840cdae45b7e5051673bea4d2c4179d7198c25fee04ab6625fe\",\"hits\":[]}]},{\"site\":\"zakrutim.ru\",\"ok\":true,\"xf_error_rows\":0,\"board_active\":\"1\",\"default_style_id\":\"2\",\"outdated_count_repo\":1,\"outdated\":[{\"meta\":{\"template_id\":1921,\"parent_version_string\":\"2.0.0 Alpha\",\"parent_last_edit_date\":1692264832,\"outdated_by_version\":1,\"outdated_by_date\":0},\"style\":{\"style_id\":2,\"parent_id\":1,\"title\":\"Default style 2\",\"last_modified_date\":1789649326},\"current\":{\"class\":\"XF\\\\Entity\\\\Template\",\"template_id\":1921,\"type\":\"public\",\"title\":\"extra.less\",\"style_id\":2,\"addon_id\":\"\",\"version_id\":0,\"version_string\":\"\",\"last_edit_date\":1784195301,\"template_body\":{\"bytes\":2435,\"sha256\":\"9662d1b57f5f6fcd2992fd9d150aeb887c242f792eb750cf6cb458d65b99a12d\",\"lines\":131}},\"parent\":{\"class\":\"XF\\\\Entity\\\\Template\",\"template_id\":803,\"type\":\"public\",\"title\":\"extra.less\",\"style_id\":0,\"addon_id\":\"XF\",\"version_id\":2000010,\"version_string\":\"2.0.0 Alpha\",\"last_edit_date\":1692264832,\"template_body\":{\"bytes\":0,\"sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"lines\":1}},\"master\":{\"template_id\":803,\"type\":\"public\",\"title\":\"extra.less\",\"style_id\":0,\"addon_id\":\"XF\",\"version_id\":2000010,\"version_string\":\"2.0.0 Alpha\",\"last_edit_date\":1692264832,\"template_body\":{\"bytes\":0,\"sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"lines\":1}},\"base_source\":\"unavailable\",\"base_exact_native\":false,\"base\":null,\"base_entity\":null,\"custom_change_spans\":[],\"parent_change_spans\":[],\"conflict_regions\":[],\"native_history_contract\":[]}],\"source_discovery\":[{\"path\":\"src/XF/Admin/Controller/TemplateController.php\",\"sha256\":\"73b31a31b0498882cf599b3bb95d00ec42783d921d720dadd5342f7d6716f060\",\"hits\":[{\"line\":13,\"text\":\"use XF\\\\Job\\\\TemplateMerge;\"},{\"line\":418,\"text\":\"'autoMerged' => $this->filter('automerged', 'bool'),\"},{\"line\":439,\"text\":\"public function actionMergeOutdated(ParameterBag $params)\"},{\"line\":448,\"text\":\"return $this->error(\\\\XF::phrase('custom_template_out_of_date_edited_recently_no_merge'));\"},{\"line\":452,\"text\":\"$previousVersion = $historyRepo->getHistoryForMerge($template, $parentTemplate);\"},{\"line\":461,\"text\":\"$merged = $this->filter('merged', 'array-str,no-trim');\"},{\"line\":462,\"text\":\"$final = implode(\\\"\\\\n\\\", $merged);\"},{\"line\":490,\"text\":\"return $this->view('XF:Template\\\\MergeOutdated', 'template_merge_outdated', $viewParams);\"},{\"line\":494,\"text\":\"public function actionAutoMerge()\"},{\"line\":501,\"text\":\"$this->app->jobManager()->enqueueUnique('autoMerge', TemplateMerge::class, [\"},{\"line\":505,\"text\":\"return $this->redirect($this->buildLink('templates/outdated', null, ['automerged' => 1]));\"},{\"line\":509,\"text\":\"return $this->view('XF:Template\\\\AutoMerge', 'template_auto_merge');\"}]},{\"path\":\"src/XF/Repository/TemplateRepository.php\",\"sha256\":\"3b772c900f223a5251f3b40ad20cdda6873869a2e61407a27c4c1745e1b0acef\",\"hits\":[]},{\"path\":\"src/XF/Job/TemplateMerge.php\",\"sha256\":\"7cac80d14ba46c6889f99d0603eed60b387bdf527458a15e912bddc0015e3a93\",\"hits\":[{\"line\":11,\"text\":\"class TemplateMerge extends AbstractJob\"},{\"line\":38,\"text\":\"$merged = $this->mergeTemplate($templateId);\"},{\"line\":39,\"text\":\"if ($merged)\"},{\"line\":66,\"text\":\"protected function mergeTemplate($templateId)\"},{\"line\":89,\"text\":\"$previousVersion = $historyRepo->getHistoryForMerge($template, $parentTemplate);\"},{\"line\":97,\"text\":\"$final = $diff->mergeToFinal(\"}]},{\"path\":\"src/XF/Entity/Template.php\",\"sha256\":\"22aca4b31ee47840cdae45b7e5051673bea4d2c4179d7198c25fee04ab6625fe\",\"hits\":[]}]},{\"site\":\"newfi.ru\",\"ok\":true,\"xf_error_rows\":0,\"board_active\":\"1\",\"default_style_id\":\"4\",\"outdated_count_repo\":0,\"outdated\":[],\"source_discovery\":[{\"path\":\"src/XF/Admin/Controller/TemplateController.php\",\"sha256\":\"73b31a31b0498882cf599b3bb95d00ec42783d921d720dadd5342f7d6716f060\",\"hits\":[{\"line\":13,\"text\":\"use XF\\\\Job\\\\TemplateMerge;\"},{\"line\":418,\"text\":\"'autoMerged' => $this->filter('automerged', 'bool'),\"},{\"line\":439,\"text\":\"public function actionMergeOutdated(ParameterBag $params)\"},{\"line\":448,\"text\":\"return $this->error(\\\\XF::phrase('custom_template_out_of_date_edited_recently_no_merge'));\"},{\"line\":452,\"text\":\"$previousVersion = $historyRepo->getHistoryForMerge($template, $parentTemplate);\"},{\"line\":461,\"text\":\"$merged = $this->filter('merged', 'array-str,no-trim');\"},{\"line\":462,\"text\":\"$final = implode(\\\"\\\\n\\\", $merged);\"},{\"line\":490,\"text\":\"return $this->view('XF:Template\\\\MergeOutdated', 'template_merge_outdated', $viewParams);\"},{\"line\":494,\"text\":\"public function actionAutoMerge()\"},{\"line\":501,\"text\":\"$this->app->jobManager()->enqueueUnique('autoMerge', TemplateMerge::class, [\"},{\"line\":505,\"text\":\"return $this->redirect($this->buildLink('templates/outdated', null, ['automerged' => 1]));\"},{\"line\":509,\"text\":\"return $this->view('XF:Template\\\\AutoMerge', 'template_auto_merge');\"}]},{\"path\":\"src/XF/Repository/TemplateRepository.php\",\"sha256\":\"3b772c900f223a5251f3b40ad20cdda6873869a2e61407a27c4c1745e1b0acef\",\"hits\":[]},{\"path\":\"src/XF/Job/TemplateMerge.php\",\"sha256\":\"7cac80d14ba46c6889f99d0603eed60b387bdf527458a15e912bddc0015e3a93\",\"hits\":[{\"line\":11,\"text\":\"class TemplateMerge extends AbstractJob\"},{\"line\":38,\"text\":\"$merged = $this->mergeTemplate($templateId);\"},{\"line\":39,\"text\":\"if ($merged)\"},{\"line\":66,\"text\":\"protected function mergeTemplate($templateId)\"},{\"line\":89,\"text\":\"$previousVersion = $historyRepo->getHistoryForMerge($template, $parentTemplate);\"},{\"line\":97,\"text\":\"$final = $diff->mergeToFinal(\"}]},{\"path\":\"src/XF/Entity/Template.php\",\"sha256\":\"22aca4b31ee47840cdae45b7e5051673bea4d2c4179d7198c25fee04ab6625fe\",\"hits\":[]}]}],\"http\":[{\"domain\":\"codevipe.ru\",\"rc\":0,\"http_code\":\"200\",\"stderr\":\"\"},{\"domain\":\"dsmods.ru\",\"rc\":0,\"http_code\":\"200\",\"stderr\":\"\"},{\"domain\":\"gamevipe.ru\",\"rc\":0,\"http_code\":\"200\",\"stderr\":\"\"},{\"domain\":\"hkmods.ru\",\"rc\":0,\"http_code\":\"200\",\"stderr\":\"\"},{\"domain\":\"kingofwolk.ru\",\"rc\":0,\"http_code\":\"200\",\"stderr\":\"\"},{\"domain\":\"zakrutim.ru\",\"rc\":0,\"http_code\":\"200\",\"stderr\":\"\"},{\"domain\":\"newfi.ru\",\"rc\":0,\"http_code\":\"200\",\"stderr\":\"\"}],\"vm211_excluded\":true,\"scope\":\"READ_ONLY_NO_XENFORO_MUTATION\"}\nTPL495T3R1_DECISION=HOLD_NATIVE_BASE_HISTORY_NOT_EXACT_FOR_ALL\nTPL495T3R1_HOLD={\"affected\":[\"codevipe.ru\",\"dsmods.ru\",\"gamevipe.ru\",\"hkmods.ru\",\"zakrutim.ru\"]}\nHOMELAB_RESULT_CONTRACT={\"version\":1,\"command_id\":\"SUPPORT-260918-XENFORO-FLEET-EXACT-CONFLICT-INVENTORY-495T3R1\",\"status\":\"FAIL\",\"changes_made\":false,\"rollback_started\":false,\"rollback_restored\":null}\n" +} diff --git a/runtime/latest.txt b/runtime/latest.txt index 900f3755..7c4998ee 100644 --- a/runtime/latest.txt +++ b/runtime/latest.txt @@ -1,162 +1,43 @@ CHAT_OUTPUT_BEGIN -COMMAND_ID=CONTEXT-AUTO-[PRIVATE_IP]701Z -STATUS=OK -RC=0 +COMMAND_ID=SUPPORT-260918-XENFORO-FLEET-EXACT-CONFLICT-INVENTORY-495T3R1 +STATUS=FAIL +RC=3 HOST=pve01 -COMPONENT=cluster-context -REFERENCE_SHA[PRIVATE_IP]e5154c41cb[PRIVATE_IP]aca68090be[PRIVATE_IP]bf[PRIVATE_IP]df[PRIVATE_IP] -ERROR_REGISTER_SHA[PRIVATE_IP]ec0f527ed3afeed[PRIVATE_IP]ee[PRIVATE_IP]bbfb[PRIVATE_IP]af4ba7ba0 +MODE=read-only +COMPONENT=xenforo-fleet-exact-conflict-inventory +REFERENCE_REGISTER_CHECK=OK +REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66 +ERROR_REGISTER_CHECK=OK +ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0 +COMMAND_SHA256=246165207dd443f9cae8a7833e560f2769f5c9c1248aa8297b8113301e6c70b8 +DUPLICATE_FAILED_COMMAND_BLOCKED=false +EXECUTION_STARTED=true +CHANGE_DECLARED=false +RESULT_CONTRACT_VALID=true +RESULT_CONTRACT_STATUS=NOT_APPLICABLE +RESULT_CONTRACT_ERROR=NONE +COMMAND_RC=3 +CHANGES_MADE=false +ROLLBACK_STARTED=false +ROLLBACK_RESTORED=null +MUTATION_OUTCOME=NO_MUTATION +SANITIZED=yes +SECRETS_INCLUDED=no +PRIVATE_ADDRESSES_INCLUDED=no +RAW_EVIDENCE_SHA256=a4a76e62ef69ac27be665c966e8f8a38d69a1a2061d2520d8a655c14b9683507 +SANITIZED_OUTPUT_SHA256=a4a76e62ef69ac27be665c966e8f8a38d69a1a2061d2520d8a655c14b9683507 OUTPUT_BEGIN -GENERATED_AT_UTC=[PRIVATE_IP]T21:17:01Z -Cluster information -------------------- -Name: homelab -Config Version: 3 -Transport: knet -Secure auth: on +TPL495T3R1_WRAPPER_BEGIN=true +ERROR_REGISTER_CHECK=OK +REFERENCE_CHECK=OK +AUTHORITY_CHECK_SCOPE=READABILITY_ONLY_INCIDENTS_NOT_CLOSED +TPL495T3R1_BEGIN=true +MODE=READ_ONLY_EXACT_CONFLICT_INVENTORY +VM211_EXCLUDED=true +TPL495T3R1_SAFE_REPORT={"affected_sites":5,"affected_site_names":["codevipe.ru","dsmods.ru","gamevipe.ru","hkmods.ru","zakrutim.ru"],"outdated_total":5,"xf_error_rows_total":0,"public_http_200":7,"conflict_regions_total":0,"native_base_exact_all":false,"sites":[{"site":"codevipe.ru","ok":true,"xf_error_rows":0,"board_active":"1","default_style_id":"2","outdated_count_repo":1,"outdated":[{"meta":{"template_id":1401,"parent_version_string":"2.0.0 Alpha","parent_last_edit_date":1721849139,"outdated_by_version":1,"outdated_by_date":0},"style":{"style_id":2,"parent_id":1,"title":"Default style 2","last_modified_date":1789648610},"current":{"class":"XF\\Entity\\Template","template_id":1401,"type":"public","title":"extra.less","style_id":2,"addon_id":"","version_id":0,"version_string":"","last_edit_date":1784195301,"template_body":{"bytes":2396,"sha256":"ca051810957679432c36024c18f3adbf3a087c7a034cd46d72edfffbd4564b6c","lines":131}},"parent":{"class":"XF\\Entity\\Template","template_id":850,"type":"public","title":"extra.less","style_id":0,"addon_id":"XF","version_id":2000010,"version_string":"2.0.0 Alpha","last_edit_date":1721849139,"template_body":{"bytes":0,"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","lines":1}},"master":{"template_id":850,"type":"public","title":"extra.less","style_id":0,"addon_id":"XF","version_id":2000010,"version_string":"2.0.0 Alpha","last_edit_date":1721849139,"template_body":{"bytes":0,"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","lines":1}},"base_source":"unavailable","base_exact_native":false,"base":null,"base_entity":null,"custom_change_spans":[],"parent_change_spans":[],"conflict_regions":[],"native_history_contract":[]}],"source_discovery":[{"path":"src/XF/Admin/Controller/TemplateController.php","sha256":"73b31a31b0498882cf599b3bb95d00ec42783d921d720dadd5342f7d6716f060","hits":[{"line":13,"text":"use XF\\Job\\TemplateMerge;"},{"line":418,"text":"'autoMerged' => $this->filter('automerged', 'bool'),"},{"line":439,"text":"public function actionMergeOutdated(ParameterBag $params)"},{"line":448,"text":"return $this->error(\\XF::phrase('custom_template_out_of_date_edited_recently_no_merge'));"},{"line":452,"text":"$previousVersion = $historyRepo->getHistoryForMerge($template, $parentTemplate);"},{"line":461,"text":"$merged = $this->filter('merged', 'array-str,no-trim');"},{"line":462,"text":"$final = implode(\"\\n\", $merged);"},{"line":490,"text":"return $this->view('XF:Template\\MergeOutdated', 'template_merge_outdated', $viewParams);"},{"line":494,"text":"public function actionAutoMerge()"},{"line":501,"text":"$this->app->jobManager()->enqueueUnique('autoMerge', TemplateMerge::class, ["},{"line":505,"text":"return $this->redirect($this->buildLink('templates/outdated', null, ['automerged' => 1]));"},{"line":509,"text":"return $this->view('XF:Template\\AutoMerge', 'template_auto_merge');"}]},{"path":"src/XF/Repository/TemplateRepository.php","sha256":"3b772c900f223a5251f3b40ad20cdda6873869a2e61407a27c4c1745e1b0acef","hits":[]},{"path":"src/XF/Job/TemplateMerge.php","sha256":"7cac80d14ba46c6889f99d0603eed60b387bdf527458a15e912bddc0015e3a93","hits":[{"line":11,"text":"class TemplateMerge extends AbstractJob"},{"line":38,"text":"$merged = $this->mergeTemplate($templateId);"},{"line":39,"text":"if ($merged)"},{"line":66,"text":"protected function mergeTemplate($templateId)"},{"line":89,"text":"$previousVersion = $historyRepo->getHistoryForMerge($template, $parentTemplate);"},{"line":97,"text":"$final = $diff->mergeToFinal("}]},{"path":"src/XF/Entity/Template.php","sha256":"22aca4b31ee47840cdae45b7e5051673bea4d2c4179d7198c25fee04ab6625fe","hits":[]}]},{"site":"dsmods.ru","ok":true,"xf_error_rows":0,"board_active":"1","default_style_id":"2","outdated_count_repo":1,"outdated":[{"meta":{"template_id":1317,"parent_version_string":"2.0.0 Alpha","parent_last_edit_date":1728727128,"outdated_by_version":1,"outdated_by_date":0},"style":{"style_id":2,"parent_id":1,"title":"Default style 2","last_modified_date":1789649311},"current":{"class":"XF\\Entity\\Template","template_id":1317,"type":"public","title":"extra.less","style_id":2,"addon_id":"","version_id":0,"version_string":"","last_edit_date":1784195301,"template_body":{"bytes":2402,"sha256":"3898034b75b561c774b41f6e1d8dce66a171fe30c7c210d543b41a8133e42fa2","lines":131}},"parent":{"class":"XF\\Entity\\Template","template_id":850,"type":"public","title":"extra.less","style_id":0,"addon_id":"XF","version_id":2000010,"version_string":"2.0.0 Alpha","last_edit_date":1728727128,"template_body":{"bytes":0,"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","lines":1}},"master":{"template_id":850,"type":"public","title":"extra.less","style_id":0,"addon_id":"XF","version_id":2000010,"version_string":"2.0.0 Alpha","last_edit_date":1728727128,"template_body":{"bytes":0,"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","lines":1}},"base_source":"unavailable","base_exact_native":false,"base":null,"base_entity":null,"custom_change_spans":[],"parent_change_spans":[],"conflict_regions":[],"native_history_contract":[]}],"source_discovery":[{"path":"src/XF/Admin/Controller/TemplateController.php","sha256":"73b31a31b0498882cf599b3bb95d00ec42783d921d720dadd5342f7d6716f060","hits":[{"line":13,"text":"use XF\\Job\\TemplateMerge;"},{"line":418,"text":"'autoMerged' => $this->filter('automerged', 'bool'),"},{"line":439,"text":"public function actionMergeOutdated(ParameterBag $params)"},{"line":448,"text":"return $this->error(\\XF::phrase('custom_template_out_of_date_edited_recently_no_merge'));"},{"line":452,"text":"$previousVersion = $historyRepo->getHistoryForMerge($template, $parentTemplate);"},{"line":461,"text":"$merged = $this->filter('merged', 'array-str,no-trim');"},{"line":462,"text":"$final = implode(\"\\n\", $merged);"},{"line":490,"text":"return $this->view('XF:Template\\MergeOutdated', 'template_merge_outdated', $viewParams);"},{"line":494,"text":"public function actionAutoMerge()"},{"line":501,"text":"$this->app->jobManager()->enqueueUnique('autoMerge', TemplateMerge::class, ["},{"line":505,"text":"return $this->redirect($this->buildLink('templates/outdated', null, ['automerged' => 1]));"},{"line":509,"text":"return $this->view('XF:Template\\AutoMerge', 'template_auto_merge');"}]},{"path":"src/XF/Repository/TemplateRepository.php","sha256":"3b772c900f223a5251f3b40ad20cdda6873869a2e61407a27c4c1745e1b0acef","hits":[]},{"path":"src/XF/Job/TemplateMerge.php","sha256":"7cac80d14ba46c6889f99d0603eed60b387bdf527458a15e912bddc0015e3a93","hits":[{"line":11,"text":"class TemplateMerge extends AbstractJob"},{"line":38,"text":"$merged = $this->mergeTemplate($templateId);"},{"line":39,"text":"if ($merged)"},{"line":66,"text":"protected function mergeTemplate($templateId)"},{"line":89,"text":"$previousVersion = $historyRepo->getHistoryForMerge($template, $parentTemplate);"},{"line":97,"text":"$final = $diff->mergeToFinal("}]},{"path":"src/XF/Entity/Template.php","sha256":"22aca4b31ee47840cdae45b7e5051673bea4d2c4179d7198c25fee04ab6625fe","hits":[]}]},{"site":"gamevipe.ru","ok":true,"xf_error_rows":0,"board_active":"1","default_style_id":"2","outdated_count_repo":1,"outdated":[{"meta":{"template_id":1696,"parent_version_string":"2.0.0 Alpha","parent_last_edit_date":1720986507,"outdated_by_version":1,"outdated_by_date":0},"style":{"style_id":2,"parent_id":1,"title":"Default style 2","last_modified_date":1789649315},"current":{"class":"XF\\Entity\\Template","template_id":1696,"type":"public","title":"extra.less","style_id":2,"addon_id":"","version_id":0,"version_string":"","last_edit_date":1784195301,"template_body":{"bytes":2410,"sha256":"fde07ae7d5f65a3cdee23b7f90834229c95495fb69db44727345b550441646ab","lines":131}},"parent":{"class":"XF\\Entity\\Template","template_id":803,"type":"public","title":"extra.less","style_id":0,"addon_id":"XF","version_id":2000010,"version_string":"2.0.0 Alpha","last_edit_date":1720986507,"template_body":{"bytes":0,"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","lines":1}},"master":{"template_id":803,"type":"public","title":"extra.less","style_id":0,"addon_id":"XF","version_id":2000010,"version_string":"2.0.0 Alpha","last_edit_date":1720986507,"template_body":{"bytes":0,"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","lines":1}},"base_source":"unavailable","base_exact_native":false,"base":null,"base_entity":null,"custom_change_spans":[],"parent_change_spans":[],"conflict_regions":[],"native_history_contract":[]}],"source_discovery":[{"path":"src/XF/Admin/Controller/TemplateController.php","sha256":"73b31a31b0498882cf599b3bb95d00ec42783d921d720dadd5342f7d6716f060","hits":[{"line":13,"text":"use XF\\Job\\TemplateMerge;"},{"line":418,"text":"'autoMerged' => $this->filter('automerged', 'bool'),"},{"line":439,"text":"public function actionMergeOutdated(ParameterBag $params)"},{"line":448,"text":"return $this->error(\\XF::phrase('custom_template_out_of_date_edited_recently_no_merge'));"},{"line":452,"text":"$previousVersion = $historyRepo->getHistoryForMerge($template, $parentTemplate);"},{"line":461,"text":"$merged = $this->filter('merged', 'array-str,no-trim');"},{"line":462,"text":"$final = implode(\"\\n\", $merged);"},{"line":490,"text":"return $this->view('XF:Template\\MergeOutdated', 'template_merge_outdated', $viewParams);"},{"line":494,"text":"public function actionAutoMerge()"},{"line":501,"text":"$this->app->jobManager()->enqueueUnique('autoMerge', TemplateMerge::class, ["},{"line":505,"text":"return $this->redirect($this->buildLink('templates/outdated', null, ['automerged' => 1]));"},{"line":509,"text":"return $this->view('XF:Template\\AutoMerge', 'template_auto_merge');"}]},{"path":"src/XF/Repository/TemplateRepository.php","sha256":"3b772c900f223a5251f3b40ad20cdda6873869a2e61407a27c4c1745e1b0acef","hits":[]},{"path":"src/XF/Job/TemplateMerge.php","sha256":"7cac80d14ba46c6889f99d0603eed60b387bdf527458a15e912bddc0015e3a93","hits":[{"line":11,"text":"class TemplateMerge extends AbstractJob"},{"line":38,"text":"$merged = $this->mergeTemplate($templateId);"},{"line":39,"text":"if ($merged)"},{"line":66,"text":"protected function mergeTemplate($templateId)"},{"line":89,"text":"$previousVersion = $historyRepo->getHistoryForMerge($template, $parentTemplate);"},{"line":97,"text":"$final = $diff->mergeToFinal("}]},{"path":"src/XF/Entity/Template.php","sha256":"22aca4b31ee47840cdae45b7e5051673bea4d2c4179d7198c25fee04ab6625fe","hits":[]}]},{"site":"hkmods.ru","ok":true,"xf_error_rows":0,"board_active":"1","default_style_id":"2","outdated_count_repo":1,"outdated":[{"meta":{"template_id":2021,"parent_version_string":"2.0.0 Alpha","parent_last_edit_date":1691944582,"outdated_by_version":1,"outdated_by_date":0},"style":{"style_id":2,"parent_id":1,"title":"Default style 2","last_modified_date":1789649318},"current":{"class":"XF\\Entity\\Template","template_id":2021,"type":"public","title":"extra.less","style_id":2,"addon_id":"","version_id":0,"version_string":"","last_edit_date":1784195301,"template_body":{"bytes":2422,"sha256":"2339326596eb8f77111df70fa4336809e67615942b4b7b1afb2777d8ee447bd3","lines":131}},"parent":{"class":"XF\\Entity\\Template","template_id":798,"type":"public","title":"extra.less","style_id":0,"addon_id":"XF","version_id":2000010,"version_string":"2.0.0 Alpha","last_edit_date":1691944582,"template_body":{"bytes":0,"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","lines":1}},"master":{"template_id":798,"type":"public","title":"extra.less","style_id":0,"addon_id":"XF","version_id":2000010,"version_string":"2.0.0 Alpha","last_edit_date":1691944582,"template_body":{"bytes":0,"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","lines":1}},"base_source":"unavailable","base_exact_native":false,"base":null,"base_entity":null,"custom_change_spans":[],"parent_change_spans":[],"conflict_regions":[],"native_history_contract":[]}],"source_discovery":[{"path":"src/XF/Admin/Controller/TemplateController.php","sha256":"73b31a31b0498882cf599b3bb95d00ec42783d921d720dadd5342f7d6716f060","hits":[{"line":13,"text":"use XF\\Job\\TemplateMerge;"},{"line":418,"text":"'autoMerged' => $this->filter('automerged', 'bool'),"},{"line":439,"text":"public function actionMergeOutdated(ParameterBag $params)"},{"line":448,"text":"return $this->error(\\XF::phrase('custom_template_out_of_date_edited_recently_no_merge'));"},{"line":452,"text":"$previousVersion = $historyRepo->getHistoryForMerge($template, $parentTemplate);"},{"line":461,"text":"$merged = $this->filter('merged', 'array-str,no-trim');"},{"line":462,"text":"$final = implode(\"\\n\", $merged);"},{"line":490,"text":"return $this->view('XF:Template\\MergeOutdated', 'template_merge_outdated', $viewParams);"},{"line":494,"text":"public function actionAutoMerge()"},{"line":501,"text":"$this->app->jobManager()->enqueueUnique('autoMerge', TemplateMerge::class, ["},{"line":505,"text":"return $this->redirect($this->buildLink('templates/outdated', null, ['automerged' => 1]));"},{"line":509,"text":"return $this->view('XF:Template\\AutoMerge', 'template_auto_merge');"}]},{"path":"src/XF/Repository/TemplateRepository.php","sha256":"3b772c900f223a5251f3b40ad20cdda6873869a2e61407a27c4c1745e1b0acef","hits":[]},{"path":"src/XF/Job/TemplateMerge.php","sha256":"7cac80d14ba46c6889f99d0603eed60b387bdf527458a15e912bddc0015e3a93","hits":[{"line":11,"text":"class TemplateMerge extends AbstractJob"},{"line":38,"text":"$merged = $this->mergeTemplate($templateId);"},{"line":39,"text":"if ($merged)"},{"line":66,"text":"protected function mergeTemplate($templateId)"},{"line":89,"text":"$previousVersion = $historyRepo->getHistoryForMerge($template, $parentTemplate);"},{"line":97,"text":"$final = $diff->mergeToFinal("}]},{"path":"src/XF/Entity/Template.php","sha256":"22aca4b31ee47840cdae45b7e5051673bea4d2c4179d7198c25fee04ab6625fe","hits":[]}]},{"site":"kingofwolk.ru","ok":true,"xf_error_rows":0,"board_active":"1","default_style_id":"2","outdated_count_repo":0,"outdated":[],"source_discovery":[{"path":"src/XF/Admin/Controller/TemplateController.php","sha256":"73b31a31b0498882cf599b3bb95d00ec42783d921d720dadd5342f7d6716f060","hits":[{"line":13,"text":"use XF\\Job\\TemplateMerge;"},{"line":418,"text":"'autoMerged' => $this->filter('automerged', 'bool'),"},{"line":439,"text":"public function actionMergeOutdated(ParameterBag $params)"},{"line":448,"text":"return $this->error(\\XF::phrase('custom_template_out_of_date_edited_recently_no_merge'));"},{"line":452,"text":"$previousVersion = $historyRepo->getHistoryForMerge($template, $parentTemplate);"},{"line":461,"text":"$merged = $this->filter('merged', 'array-str,no-trim');"},{"line":462,"text":"$final = implode(\"\\n\", $merged);"},{"line":490,"text":"return $this->view('XF:Template\\MergeOutdated', 'template_merge_outdated', $viewParams);"},{"line":494,"text":"public function actionAutoMerge()"},{"line":501,"text":"$this->app->jobManager()->enqueueUnique('autoMerge', TemplateMerge::class, ["},{"line":505,"text":"return $this->redirect($this->buildLink('templates/outdated', null, ['automerged' => 1]));"},{"line":509,"text":"return $this->view('XF:Template\\AutoMerge', 'template_auto_merge');"}]},{"path":"src/XF/Repository/TemplateRepository.php","sha256":"3b772c900f223a5251f3b40ad20cdda6873869a2e61407a27c4c1745e1b0acef","hits":[]},{"path":"src/XF/Job/TemplateMerge.php","sha256":"7cac80d14ba46c6889f99d0603eed60b387bdf527458a15e912bddc0015e3a93","hits":[{"line":11,"text":"class TemplateMerge extends AbstractJob"},{"line":38,"text":"$merged = $this->mergeTemplate($templateId);"},{"line":39,"text":"if ($merged)"},{"line":66,"text":"protected function mergeTemplate($templateId)"},{"line":89,"text":"$previousVersion = $historyRepo->getHistoryForMerge($template, $parentTemplate);"},{"line":97,"text":"$final = $diff->mergeToFinal("}]},{"path":"src/XF/Entity/Template.php","sha256":"22aca4b31ee47840cdae45b7e5051673bea4d2c4179d7198c25fee04ab6625fe","hits":[]}]},{"site":"zakrutim.ru","ok":true,"xf_error_rows":0,"board_active":"1","default_style_id":"2","outdated_count_repo":1,"outdated":[{"meta":{"template_id":1921,"parent_version_string":"2.0.0 Alpha","parent_last_edit_date":1692264832,"outdated_by_version":1,"outdated_by_date":0},"style":{"style_id":2,"parent_id":1,"title":"Default style 2","last_modified_date":1789649326},"current":{"class":"XF\\Entity\\Template","template_id":1921,"type":"public","title":"extra.less","style_id":2,"addon_id":"","version_id":0,"version_string":"","last_edit_date":1784195301,"template_body":{"bytes":2435,"sha256":"9662d1b57f5f6fcd2992fd9d150aeb887c242f792eb750cf6cb458d65b99a12d","lines":131}},"parent":{"class":"XF\\Entity\\Template","template_id":803,"type":"public","title":"extra.less","style_id":0,"addon_id":"XF","version_id":2000010,"version_string":"2.0.0 Alpha","last_edit_date":1692264832,"template_body":{"bytes":0,"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","lines":1}},"master":{"template_id":803,"type":"public","title":"extra.less","style_id":0,"addon_id":"XF","version_id":2000010,"version_string":"2.0.0 Alpha","last_edit_date":1692264832,"template_body":{"bytes":0,"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","lines":1}},"base_source":"unavailable","base_exact_native":false,"base":null,"base_entity":null,"custom_change_spans":[],"parent_change_spans":[],"conflict_regions":[],"native_history_contract":[]}],"source_discovery":[{"path":"src/XF/Admin/Controller/TemplateController.php","sha256":"73b31a31b0498882cf599b3bb95d00ec42783d921d720dadd5342f7d6716f060","hits":[{"line":13,"text":"use XF\\Job\\TemplateMerge;"},{"line":418,"text":"'autoMerged' => $this->filter('automerged', 'bool'),"},{"line":439,"text":"public function actionMergeOutdated(ParameterBag $params)"},{"line":448,"text":"return $this->error(\\XF::phrase('custom_template_out_of_date_edited_recently_no_merge'));"},{"line":452,"text":"$previousVersion = $historyRepo->getHistoryForMerge($template, $parentTemplate);"},{"line":461,"text":"$merged = $this->filter('merged', 'array-str,no-trim');"},{"line":462,"text":"$final = implode(\"\\n\", $merged);"},{"line":490,"text":"return $this->view('XF:Template\\MergeOutdated', 'template_merge_outdated', $viewParams);"},{"line":494,"text":"public function actionAutoMerge()"},{"line":501,"text":"$this->app->jobManager()->enqueueUnique('autoMerge', TemplateMerge::class, ["},{"line":505,"text":"return $this->redirect($this->buildLink('templates/outdated', null, ['automerged' => 1]));"},{"line":509,"text":"return $this->view('XF:Template\\AutoMerge', 'template_auto_merge');"}]},{"path":"src/XF/Repository/TemplateRepository.php","sha256":"3b772c900f223a5251f3b40ad20cdda6873869a2e61407a27c4c1745e1b0acef","hits":[]},{"path":"src/XF/Job/TemplateMerge.php","sha256":"7cac80d14ba46c6889f99d0603eed60b387bdf527458a15e912bddc0015e3a93","hits":[{"line":11,"text":"class TemplateMerge extends AbstractJob"},{"line":38,"text":"$merged = $this->mergeTemplate($templateId);"},{"line":39,"text":"if ($merged)"},{"line":66,"text":"protected function mergeTemplate($templateId)"},{"line":89,"text":"$previousVersion = $historyRepo->getHistoryForMerge($template, $parentTemplate);"},{"line":97,"text":"$final = $diff->mergeToFinal("}]},{"path":"src/XF/Entity/Template.php","sha256":"22aca4b31ee47840cdae45b7e5051673bea4d2c4179d7198c25fee04ab6625fe","hits":[]}]},{"site":"newfi.ru","ok":true,"xf_error_rows":0,"board_active":"1","default_style_id":"4","outdated_count_repo":0,"outdated":[],"source_discovery":[{"path":"src/XF/Admin/Controller/TemplateController.php","sha256":"73b31a31b0498882cf599b3bb95d00ec42783d921d720dadd5342f7d6716f060","hits":[{"line":13,"text":"use XF\\Job\\TemplateMerge;"},{"line":418,"text":"'autoMerged' => $this->filter('automerged', 'bool'),"},{"line":439,"text":"public function actionMergeOutdated(ParameterBag $params)"},{"line":448,"text":"return $this->error(\\XF::phrase('custom_template_out_of_date_edited_recently_no_merge'));"},{"line":452,"text":"$previousVersion = $historyRepo->getHistoryForMerge($template, $parentTemplate);"},{"line":461,"text":"$merged = $this->filter('merged', 'array-str,no-trim');"},{"line":462,"text":"$final = implode(\"\\n\", $merged);"},{"line":490,"text":"return $this->view('XF:Template\\MergeOutdated', 'template_merge_outdated', $viewParams);"},{"line":494,"text":"public function actionAutoMerge()"},{"line":501,"text":"$this->app->jobManager()->enqueueUnique('autoMerge', TemplateMerge::class, ["},{"line":505,"text":"return $this->redirect($this->buildLink('templates/outdated', null, ['automerged' => 1]));"},{"line":509,"text":"return $this->view('XF:Template\\AutoMerge', 'template_auto_merge');"}]},{"path":"src/XF/Repository/TemplateRepository.php","sha256":"3b772c900f223a5251f3b40ad20cdda6873869a2e61407a27c4c1745e1b0acef","hits":[]},{"path":"src/XF/Job/TemplateMerge.php","sha256":"7cac80d14ba46c6889f99d0603eed60b387bdf527458a15e912bddc0015e3a93","hits":[{"line":11,"text":"class TemplateMerge extends AbstractJob"},{"line":38,"text":"$merged = $this->mergeTemplate($templateId);"},{"line":39,"text":"if ($merged)"},{"line":66,"text":"protected function mergeTemplate($templateId)"},{"line":89,"text":"$previousVersion = $historyRepo->getHistoryForMerge($template, $parentTemplate);"},{"line":97,"text":"$final = $diff->mergeToFinal("}]},{"path":"src/XF/Entity/Template.php","sha256":"22aca4b31ee47840cdae45b7e5051673bea4d2c4179d7198c25fee04ab6625fe","hits":[]}]}],"http":[{"domain":"codevipe.ru","rc":0,"http_code":"200","stderr":""},{"domain":"dsmods.ru","rc":0,"http_code":"200","stderr":""},{"domain":"gamevipe.ru","rc":0,"http_code":"200","stderr":""},{"domain":"hkmods.ru","rc":0,"http_code":"200","stderr":""},{"domain":"kingofwolk.ru","rc":0,"http_code":"200","stderr":""},{"domain":"zakrutim.ru","rc":0,"http_code":"200","stderr":""},{"domain":"newfi.ru","rc":0,"http_code":"200","stderr":""}],"vm211_excluded":true,"scope":"READ_ONLY_NO_XENFORO_MUTATION"} +TPL495T3R1_DECISION=HOLD_NATIVE_BASE_HISTORY_NOT_EXACT_FOR_ALL +TPL495T3R1_HOLD={"affected":["codevipe.ru","dsmods.ru","gamevipe.ru","hkmods.ru","zakrutim.ru"]} +HOMELAB_RESULT_CONTRACT={"version":1,"command_id":"SUPPORT-260918-XENFORO-FLEET-EXACT-CONFLICT-INVENTORY-495T3R1","status":"FAIL","changes_made":false,"rollback_started":false,"rollback_restored":null} -Quorum information ------------------- -Date: Fri Sep [PRIVATE_IP] 2026 -Quorum provider: corosync_votequorum -Nodes: 3 -Node ID: [PRIVATE_IP] -Ring ID: 1.130 -Quorate: Yes - -Votequorum information ----------------------- -Expected votes: 3 -Highest expected: 3 -Total votes: 3 -Quorum: 2 -Flags: Quorate - -Membership information ----------------------- - Nodeid Votes Name -[PRIVATE_IP] [PRIVATE_IP].11 (local) -[PRIVATE_IP] [PRIVATE_IP].13 -[PRIVATE_IP] [PRIVATE_IP].12 - -Membership information ----------------------- - Nodeid Votes Name - 1 1 pve01 (local) - 2 1 pve03 - 3 1 pve02 -[{"cpu":[PRIVATE_IP]381038,"disk":[PRIVATE_IP],"diskread":[PRIVATE_IP],"diskwrite":[PRIVATE_IP],"id":"lxc/110","maxcpu":1,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"memhost":0,"name":"dns1","netin":[PRIVATE_IP],"netout":[PRIVATE_IP],"node":"pve01","status":"running","template":0,"type":"lxc","uptime":[PRIVATE_IP],"vmid":110},{"cpu":[PRIVATE_IP][PRIVATE_IP],"disk":[PRIVATE_IP],"diskread":[PRIVATE_IP],"diskwrite":[PRIVATE_IP],"id":"lxc/111","maxcpu":1,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"memhost":0,"name":"dns2","netin":[PRIVATE_IP],"netout":[PRIVATE_IP],"node":"pve02","status":"running","template":0,"type":"lxc","uptime":[PRIVATE_IP],"vmid":111},{"cpu":[PRIVATE_IP][PRIVATE_IP],"disk":[PRIVATE_IP],"diskread":[PRIVATE_IP],"diskwrite":[PRIVATE_IP],"id":"lxc/112","maxcpu":1,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"memhost":0,"name":"unbound1","netin":[PRIVATE_IP],"netout":[PRIVATE_IP],"node":"pve01","status":"running","template":0,"type":"lxc","uptime":[PRIVATE_IP],"vmid":112},{"cpu":[PRIVATE_IP]318e-05,"disk":[PRIVATE_IP],"diskread":[PRIVATE_IP],"diskwrite":[PRIVATE_IP],"id":"lxc/113","maxcpu":1,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"memhost":0,"name":"unbound2","netin":[PRIVATE_IP],"netout":[PRIVATE_IP],"node":"pve02","status":"running","template":0,"type":"lxc","uptime":[PRIVATE_IP],"vmid":113},{"cpu":[PRIVATE_IP]67418,"disk":0,"diskread":[PRIVATE_IP],"diskwrite":[PRIVATE_IP],"id":"qemu/130","maxcpu":4,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"memhost":[PRIVATE_IP],"name":"edge-vm","netin":[PRIVATE_IP],"netout":[PRIVATE_IP],"node":"pve03","status":"running","template":0,"type":"qemu","uptime":[PRIVATE_IP],"vmid":130},{"cpu":[PRIVATE_IP]058805,"disk":0,"diskread":[PRIVATE_IP],"diskwrite":[PRIVATE_IP],"id":"qemu/150","maxcpu":4,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"memhost":[PRIVATE_IP],"name":"snikket","netin":[PRIVATE_IP],"netout":[PRIVATE_IP],"node":"pve01","status":"running","template":0,"type":"qemu","uptime":[PRIVATE_IP],"vmid":150},{"cpu":[PRIVATE_IP]14847,"disk":0,"diskread":[PRIVATE_IP],"diskwrite":[PRIVATE_IP],"id":"qemu/160","maxcpu":4,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"memhost":[PRIVATE_IP],"name":"forum-prod","netin":[PRIVATE_IP],"netout":[PRIVATE_IP],"node":"pve02","status":"running","template":0,"type":"qemu","uptime":[PRIVATE_IP],"vmid":160},{"cpu":[PRIVATE_IP]6739,"disk":0,"diskread":[PRIVATE_IP],"diskwrite":[PRIVATE_IP],"id":"qemu/170","maxcpu":4,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"memhost":[PRIVATE_IP],"name":"core-apps","netin":[PRIVATE_IP],"netout":[PRIVATE_IP],"node":"pve01","status":"running","template":0,"type":"qemu","uptime":[PRIVATE_IP],"vmid":170},{"cpu":[PRIVATE_IP]21952,"disk":0,"diskread":[PRIVATE_IP],"diskwrite":[PRIVATE_IP],"id":"qemu/171","maxcpu":4,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"memhost":[PRIVATE_IP],"name":"monitoring","netin":[PRIVATE_IP],"netout":[PRIVATE_IP],"node":"pve01","status":"running","template":0,"type":"qemu","uptime":[PRIVATE_IP],"vmid":171},{"cpu":[PRIVATE_IP]421019,"disk":0,"diskread":[PRIVATE_IP],"diskwrite":[PRIVATE_IP],"id":"qemu/190","maxcpu":4,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"memhost":[PRIVATE_IP],"name":"homelab-ops-worker","netin":[PRIVATE_IP],"netout":[PRIVATE_IP],"node":"pve03","status":"running","template":0,"type":"qemu","uptime":[PRIVATE_IP],"vmid":190},{"cpu":[PRIVATE_IP]372536,"disk":0,"diskread":[PRIVATE_IP],"diskwrite":[PRIVATE_IP],"id":"qemu/210","maxcpu":2,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"memhost":[PRIVATE_IP],"name":"newfi-prod","netin":[PRIVATE_IP],"netout":[PRIVATE_IP],"node":"pve01","status":"running","template":0,"type":"qemu","uptime":944360,"vmid":210},{"cpu":[PRIVATE_IP]684074,"disk":0,"diskread":[PRIVATE_IP],"diskwrite":[PRIVATE_IP],"id":"qemu/211","maxcpu":2,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"memhost":[PRIVATE_IP],"name":"newfi-staging","netin":[PRIVATE_IP],"netout":[PRIVATE_IP],"node":"pve03","status":"running","template":0,"type":"qemu","uptime":[PRIVATE_IP],"vmid":211},{"cpu":0,"disk":0,"diskread":0,"diskwrite":0,"id":"qemu/9130","maxcpu":4,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":0,"memhost":0,"name":"edge-cold-standby","netin":0,"netout":0,"node":"pve02","status":"stopped","template":0,"type":"qemu","uptime":0,"vmid":9130},{"cgroup-mode":2,"cpu":[PRIVATE_IP]16825,"disk":[PRIVATE_IP],"id":"node/pve03","level":"","maxcpu":8,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"node":"pve03","status":"online","type":"node","uptime":[PRIVATE_IP]},{"cgroup-mode":2,"cpu":[PRIVATE_IP]50198,"disk":[PRIVATE_IP],"id":"node/pve01","level":"","maxcpu":24,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"node":"pve01","status":"online","type":"node","uptime":[PRIVATE_IP]},{"cgroup-mode":2,"cpu":[PRIVATE_IP]6631,"disk":[PRIVATE_IP],"id":"node/pve02","level":"","maxcpu":4,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"node":"pve02","status":"online","type":"node","uptime":[PRIVATE_IP]},{"content":"images,rootdir","disk":[PRIVATE_IP],"id":"storage/pve03/local-lvm","maxdisk":[PRIVATE_IP],"node":"pve03","plugintype":"lvmthin","shared":0,"status":"available","storage":"local-lvm","type":"storage"},{"content":"images,rootdir","disk":[PRIVATE_IP],"id":"storage/pve01/local-lvm","maxdisk":[PRIVATE_IP],"node":"pve01","plugintype":"lvmthin","shared":0,"status":"available","storage":"local-lvm","type":"storage"},{"content":"images,rootdir","disk":[PRIVATE_IP],"id":"storage/pve02/local-lvm","maxdisk":[PRIVATE_IP],"node":"pve02","plugintype":"lvmthin","shared":0,"status":"available","storage":"local-lvm","type":"storage"},{"content":"vztmpl,iso,import,backup","disk":[PRIVATE_IP],"id":"storage/pve03/local","maxdisk":[PRIVATE_IP],"node":"pve03","plugintype":"dir","shared":0,"status":"available","storage":"local","type":"storage"},{"content":"vztmpl,iso,import,backup","disk":[PRIVATE_IP],"id":"storage/pve01/local","maxdisk":[PRIVATE_IP],"node":"pve01","plugintype":"dir","shared":0,"status":"available","storage":"local","type":"storage"},{"content":"vztmpl,iso,import,backup","disk":[PRIVATE_IP],"id":"storage/pve02/local","maxdisk":[PRIVATE_IP],"node":"pve02","plugintype":"dir","shared":0,"status":"available","storage":"local","type":"storage"},{"id":"network/pve03/zone/localnetwork","network":"localnetwork","network-type":"zone","node":"pve03","status":"ok","type":"network"},{"id":"network/pve01/zone/localnetwork","network":"localnetwork","network-type":"zone","node":"pve01","status":"ok","type":"network"},{"id":"network/pve02/zone/localnetwork","network":"localnetwork","network-type":"zone","node":"pve02","status":"ok","type":"network"}] -Name Type Status Total (KiB) Used (KiB) Available (KiB) % -local dir active [PRIVATE_IP] [PRIVATE_IP] [PRIVATE_IP] 21.15% -local-lvm lvmthin active [PRIVATE_IP] [PRIVATE_IP] [PRIVATE_IP] 12.96% - UNIT LOAD ACTIVE SUB DESCRIPTION -● homelab-app-cloud-quorum-queue.service loaded failed failed Homelab canonical application cloud quorum backup queue -● homelab-backup-retention-gc.service loaded failed failed Homelab owner-aware cloud retention GC -● homelab-vm-cloud-quorum-queue.service loaded failed failed Homelab canonical VM/CT cloud quorum backup queue - -Legend: LOAD → Reflects whether the unit definition was properly loaded. - ACTIVE → The high-level unit activation state, i.e. generalization of SUB. - SUB → The low-level unit activation state, values depend on unit type. - -3 loaded units listed. -NEXT LEFT LAST PASSED UNIT ACTIVATES -Fri [PRIVATE_IP] 00:17:16 MSK 13s Fri [PRIVATE_IP] 00:16:16 MSK 46s ago homelab-private-vpn-hosts-health.timer homelab-private-vpn-hosts-health.service -Fri [PRIVATE_IP] 00:17:16 MSK 14s Fri [PRIVATE_IP] 00:16:16 MSK 46s ago homelab-router-watchdog.timer homelab-router-watchdog.service -Fri [PRIVATE_IP] 00:18:34 MSK 1min 32s Thu [PRIVATE_IP] 23:47:02 MSK 30min ago homelab-reference-refresh.timer homelab-reference-refresh.service -Fri [PRIVATE_IP] 00:18:59 MSK 1min 56s Fri [PRIVATE_IP] 00:13:47 MSK 3min 14s ago homelab-health-metrics.timer homelab-health-metrics.service -Fri [PRIVATE_IP] 00:21:18 MSK 4min 15s Fri [PRIVATE_IP] 00:11:18 MSK 5min ago skladchik-reports-monitor-supervisor.timer skladchik-reports-monitor-supervisor.service -Fri [PRIVATE_IP] 00:21:22 MSK 4min 19s Fri [PRIVATE_IP] 00:06:22 MSK 10min ago homelab-pve03-staging-capacity-health.timer homelab-pve03-staging-capacity-health.service -Fri [PRIVATE_IP] 00:21:52 MSK 4min 49s Fri [PRIVATE_IP] 00:16:52 MSK 10s ago homelab-smartctl-textfile.timer homelab-smartctl-textfile.service -Fri [PRIVATE_IP] 00:21:52 MSK 4min 49s Fri [PRIVATE_IP] 00:16:52 MSK 10s ago netbird-peers-health.timer netbird-peers-health.service -Fri [PRIVATE_IP] 00:23:57 MSK 6min Thu [PRIVATE_IP] 18:17:57 MSK 5h 59min ago homelab-mailru-trash-gc.timer homelab-mailru-trash-gc.service -Fri [PRIVATE_IP] 00:29:02 MSK 11min Fri [PRIVATE_IP] 00:14:02 MSK 3min 0s ago prometheus-node-exporter-apt.timer prometheus-node-exporter-apt.service -Fri [PRIVATE_IP] 00:30:00 MSK 12min Fri [PRIVATE_IP] 00:15:00 MSK 2min 2s ago homelab-incident-journal.timer homelab-incident-journal.service -Fri [PRIVATE_IP] 00:30:55 MSK 13min Fri [PRIVATE_IP] 00:15:12 MSK 1min 50s ago homelab-forum-snuffleupagus-health.timer homelab-forum-snuffleupagus-health.service -Fri [PRIVATE_IP] 00:31:03 MSK 14min Fri [PRIVATE_IP] 00:16:32 MSK 30s ago homelab-duty-admin-v2.timer homelab-duty-admin-v2.service -Fri [PRIVATE_IP] 00:31:19 MSK 14min Fri [PRIVATE_IP] 00:16:19 MSK 43s ago homelab-disk-space-health.timer homelab-disk-space-health.service -Fri [PRIVATE_IP] 00:31:21 MSK 14min Fri [PRIVATE_IP] 00:15:44 MSK 1min 18s ago homelab-external-probe-vps-health.timer homelab-external-probe-vps-health.service -Fri [PRIVATE_IP] 00:31:44 MSK 14min Fri [PRIVATE_IP] 00:01:58 MSK 15min ago homelab-mkdocs-auto-refresh.timer homelab-mkdocs-auto-refresh.service -Fri [PRIVATE_IP] 00:31:57 MSK 14min Fri [PRIVATE_IP] 00:16:57 MSK 4s ago prometheus-node-exporter-nvme.timer prometheus-node-exporter-nvme.service -Fri [PRIVATE_IP] 00:35:51 MSK 18min Thu [PRIVATE_IP] 00:12:57 MSK 24h ago logrotate.timer logrotate.service -Fri [PRIVATE_IP] 00:36:49 MSK 19min Fri [PRIVATE_IP] 00:05:57 MSK 11min ago homelab-backup-audit.timer homelab-backup-audit.service -Fri [PRIVATE_IP] 03:11:45 MSK 2h 54min Thu [PRIVATE_IP] 11:21:10 MSK 12h ago apt-daily.timer apt-daily.service -Fri [PRIVATE_IP] 03:22:15 MSK 3h 5min Thu [PRIVATE_IP] 03:21:32 MSK 20h ago homelab-backup-retention-gc.timer homelab-backup-retention-gc.service -Fri [PRIVATE_IP] 04:11:15 MSK 3h 54min Thu [PRIVATE_IP] 01:17:32 MSK 22h ago pve-daily-update.timer pve-daily-update.service -Fri [PRIVATE_IP] 04:35:57 MSK 4h 18min Thu [PRIVATE_IP] 22:35:57 MSK 1h 41min ago homelab-vps-identity-audit.timer homelab-vps-identity-audit.service -Fri [PRIVATE_IP] 05:11:24 MSK 4h 54min Thu [PRIVATE_IP] 23:09:16 MSK 1h 7min ago homelab-evidence-root.timer homelab-evidence-root.service -Fri [PRIVATE_IP] 06:03:32 MSK 5h 46min Thu [PRIVATE_IP] 06:08:57 MSK 18h ago apt-daily-upgrade.timer apt-daily-upgrade.service -Fri [PRIVATE_IP] 07:17:58 MSK 7h Thu [PRIVATE_IP] 07:14:42 MSK 17h ago homelab-drift-check.timer homelab-drift-check.service -Fri [PRIVATE_IP] 07:39:21 MSK 7h Thu [PRIVATE_IP] 07:31:16 MSK 16h ago homelab-service-registry-check.timer homelab-service-registry-check.service -Fri [PRIVATE_IP] 07:45:11 MSK 7h Thu [PRIVATE_IP] 07:46:41 MSK 16h ago homelab-dependency-map-check.timer homelab-dependency-map-check.service -Fri [PRIVATE_IP] 07:48:49 MSK 7h Thu [PRIVATE_IP] 07:39:57 MSK 16h ago homelab-alerting-health.timer homelab-alerting-health.service -Fri [PRIVATE_IP] 07:57:58 MSK 7h Thu [PRIVATE_IP] 07:54:11 MSK 16h ago homelab-runbook-generate.timer homelab-runbook-generate.service -Fri [PRIVATE_IP] 07:59:21 MSK 7h Thu [PRIVATE_IP] 07:58:41 MSK 16h ago homelab-duty-admin-report.timer homelab-duty-admin-report.service -Fri [PRIVATE_IP] 08:00:39 MSK 7h Thu [PRIVATE_IP] 07:48:16 MSK 16h ago homelab-desired-state-sync.timer homelab-desired-state-sync.service -Fri [PRIVATE_IP] 08:07:02 MSK 7h Thu [PRIVATE_IP] 08:23:57 MSK 15h ago homelab-kuma-monitor-policy.timer homelab-kuma-monitor-policy.service -Fri [PRIVATE_IP] 08:15:37 MSK 7h Thu [PRIVATE_IP] 08:08:57 MSK 16h ago homelab-overall-health.timer homelab-overall-health.service -Fri [PRIVATE_IP] 08:25:47 MSK 8h Thu [PRIVATE_IP] 08:38:57 MSK 15h ago homelab-capacity-risk.timer homelab-capacity-risk.service -Fri [PRIVATE_IP] 08:29:52 MSK 8h Thu [PRIVATE_IP] 08:16:41 MSK 16h ago homelab-final-readiness-gate.timer homelab-final-readiness-gate.service -Fri [PRIVATE_IP] 08:37:56 MSK 8h Thu [PRIVATE_IP] 08:35:00 MSK 15h ago homelab-secret-exposure-guard.timer homelab-secret-exposure-guard.service -Fri [PRIVATE_IP] 08:48:19 MSK 8h Thu [PRIVATE_IP] 08:44:42 MSK 15h ago homelab-cluster-passport.timer homelab-cluster-passport.service -Fri [PRIVATE_IP] 09:00:09 MSK 8h Thu [PRIVATE_IP] 08:46:15 MSK 15h ago homelab-golden-state-index.timer homelab-golden-state-index.service -Fri [PRIVATE_IP] 09:35:16 MSK 9h Thu [PRIVATE_IP] 05:52:43 MSK 18h ago man-db.timer man-db.service -Fri [PRIVATE_IP] 10:15:00 MSK 9h Thu [PRIVATE_IP] 10:15:11 MSK 14h ago skladchik-reports-monitor-monthly-selftest-watch.timer skladchik-reports-monitor-monthly-selftest-watch.service -Fri [PRIVATE_IP] 16:47:57 MSK 16h Thu [PRIVATE_IP] 16:47:57 MSK 7h ago systemd-tmpfiles-clean.timer systemd-tmpfiles-clean.service -Sat [PRIVATE_IP] 00:00:00 MSK 23h Fri [PRIVATE_IP] 00:00:00 MSK 17min ago dpkg-db-backup.timer dpkg-db-backup.service -Sat [PRIVATE_IP] 00:01:48 MSK 23h Fri [PRIVATE_IP] 00:07:16 MSK 9min ago homelab-evidence-catalog.timer homelab-evidence-catalog.service -Sat [PRIVATE_IP] 00:02:46 MSK 23h Fri [PRIVATE_IP] 00:10:53 MSK 6min ago homelab-quality-gate.timer homelab-quality-gate.service -Sat [PRIVATE_IP] 00:13:58 MSK 23h Fri [PRIVATE_IP] 00:12:32 MSK 4min 30s ago homelab-docker-health.timer homelab-docker-health.service -Sat [PRIVATE_IP] 00:18:29 MSK 24h Fri [PRIVATE_IP] 00:15:12 MSK 1min 50s ago homelab-storage-capacity.timer homelab-storage-capacity.service -Sun [PRIVATE_IP] 03:10:03 MSK 2 days Sun [PRIVATE_IP] 03:10:22 MSK 4 days ago e2scrub_all.timer e2scrub_all.service -Sun [PRIVATE_IP] 03:10:58 MSK 2 days Sun [PRIVATE_IP] 03:10:39 MSK 4 days ago xfs_scrub_all.timer xfs_scrub_all.service -Sun [PRIVATE_IP] 07:40:18 MSK 2 days Sun [PRIVATE_IP] 07:35:56 MSK 4 days ago homelab-rotating-boot-drill.timer homelab-rotating-boot-drill.service -Mon [PRIVATE_IP] 00:04:42 MSK 2 days Mon [PRIVATE_IP] 00:10:39 MSK 4 days ago homelab-secret-sanity.timer homelab-secret-sanity.service -Mon [PRIVATE_IP] 00:09:14 MSK 2 days Mon [PRIVATE_IP] 00:30:56 MSK 3 days ago fstrim.timer fstrim.service -- - Thu [PRIVATE_IP] 22:37:48 MSK 1h 39min ago homelab-backup-v2.timer homelab-backup-v2.service -- - - - prometheus-node-exporter-ipmitool-sensor.timer prometheus-node-exporter-ipmitool-sensor.service -- - - - prometheus-node-exporter-mellanox-hca-temp.timer prometheus-node-exporter-mellanox-hca-temp.service -- - - - prometheus-node-exporter-smartmon.timer prometheus-node-exporter-smartmon.service - -56 timers listed. -RUNTIME_MANIFEST_ID=df[PRIVATE_IP]ac9b5abd[PRIVATE_IP]b[PRIVATE_IP]d89496fb2bde[PRIVATE_IP] -EXPERIMENT_ID=5462ee[PRIVATE_IP]ebe[PRIVATE_IP]feb2ad[PRIVATE_IP]1ad87bbac0b8108 -COLLECTION_START_AT=[PRIVATE_IP]T[PRIVATE_IP]:00 -FIRST_COMPLETE_D1_CLOSE=[PRIVATE_IP]T[PRIVATE_IP]:00 -PRODUCTION_LAUNCH_ALLOWED=False -EXECUTION_AUTHORITY=False -RISK_AUTHORITY=False -STAGE_A_HEALTH=AWAITING_PRIMARY_FINALITY -FORENSIC_PREVIOUS_EPOCH_PRESERVED=YES - -## NEWFI_TASK6_AUTH_CHECKPOINT_V[PRIVATE_IP] -- Scope: historical accepted AUTH test, not a current SMTP connection test. -- Newfi approved SMTP account/sender: aleisaev@yandex.ru. -- Endpoint used by accepted test: smtp.yandex.ru:465 with certificate verification; single PLAIN initial response accepted with code 235. -- Evidence: incident ledger ### NEWFI_TASK6_YANDEX_AUTH_V2_OBSERVATION and ### NEWFI_TASK6_AUTH_PROOF_CLOSE_V1. -- No password file written, no application configuration changed, no mail sent by the accepted AUTH test. -- Persistent transport installation and application delivery are not proven by this checkpoint. Task6 is not complete. -- AUTH challenge and missing-file incidents closed; launch/session incident remains OPEN with original cause unproven. -- This update does not change VM211, VM160, routing, board state or Git. -- Other incidents and infrastructure health were not assessed. - - -## NEWFI_PRIVATE_STRUCTURE92_WRONG_MARKER_SCOPE_[PRIVATE_IP] CLOSURE -- Status: CLOSED -- RCA: NEWFI92 inspected the pve01 NEWFI90 attempt marker, which had not been finalized because the outer shell exited immediately after the guest returned RC3 following its successful rollback. The guest marker contained the true final rollback state. -- Correction: NEWFI93 required both the guest FINISHED/ROLLED_BACK record and a fresh exact demo-state readback before reconciling the outer NEWFI90 marker. NEWFI92 itself never reserved an attempt or mutated state. - - -## NEWFI_PRIVATE_NEWFI95_NESTED_TRIPLE_QUOTE_PARSE_[PRIVATE_IP] -- Status: OPEN -- Command: NEWFI95 -- Symptom: after the content-structure precheck passed, the pve03 Python wrapper failed to parse at the PHP line beginning with $root. No Portal discovery or application mutation was reached. -- RCA: an outer raw triple-single-quoted guest Python payload contained an inner raw triple-single-quoted PHP payload. The inner delimiter terminated the outer Python string, causing PHP source to be parsed as Python. -- Safety: NEWFI95 was read-only, created no attempt marker, and did not reach the intended nested guest execution. Do not replay NEWFI95. - - -## NEWFI_PRIVATE_NEWFI95_NESTED_TRIPLE_QUOTE_PARSE_[PRIVATE_IP] CLOSURE -- Status: CLOSED -- RCA: an inner triple-single-quoted PHP literal terminated the outer triple-single-quoted Python guest payload in NEWFI95. The wrapper therefore failed parsing before the intended Portal discovery executed. -- Correction: NEWFI96 removed the nested Python payload layer entirely and passed one Python program directly to VM211 through qm guest exec stdin. The read-only Portal contract completed with QGA exit 0 and the implementation worktree remained unchanged. OUTPUT_END CHAT_OUTPUT_END