39 lines
15 KiB
JSON
39 lines
15 KiB
JSON
{
|
|
"schema_version": 1,
|
|
"channel": "homelab-runtime",
|
|
"command_id": "SUPPORT-260918-XF-FOOTER-CONTACT-AUTHORITY-RCA-READONLY-516R7R1",
|
|
"status": "OK",
|
|
"rc": 0,
|
|
"host": "pve01",
|
|
"mode": "read-only",
|
|
"component": "xf-footer-contact-authority-rca-readonly",
|
|
"started_at_utc": "2026-09-18T07:12:09Z",
|
|
"finished_at_utc": "2026-09-18T07:12:12Z",
|
|
"reference_register_checked": true,
|
|
"reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66",
|
|
"error_register_checked": true,
|
|
"error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0",
|
|
"command_sha256": "1129a2d1448dc618f502c6713adc667d2bf388e6aa838339d2c7cb7afaa8eed4",
|
|
"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": 0,
|
|
"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": "b92a6df4c700763673a3fb7a736cebeec911fa52a96d28758b5aa4c707309c06",
|
|
"sanitized_output_sha256": "b92a6df4c700763673a3fb7a736cebeec911fa52a96d28758b5aa4c707309c06",
|
|
"output_truncated_in_json": false,
|
|
"full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt",
|
|
"output": "GRAM516R7R1_SAFE_REPORT={\"err_truncated\":false,\"guest\":{\"error\":null,\"gram_file_count\":51,\"gram_tree_matches_expected\":true,\"gram_tree_sha256\":\"514d9085ca6c3f81c77fe188131190bc20776ec86a2e114325881f5fd442fa2d\",\"ok\":true,\"probe_rc\":0,\"probe_stderr_bytes\":0,\"probe_stderr_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"runtime\":{\"contact_templates\":[{\"addon_id\":\"XF\",\"has_contact_us\":false,\"has_misc_contact\":true,\"sha256\":\"c0748707ca3c51856aef4a79f984ba7108acddb4516272de8e7b5ed3e21d7082\",\"snippet\":\"<xf:radiorow name=\\\"{$inputName}[type]\\\" value=\\\"{$option.option_value.type}\\\"\\n\\tlabel=\\\"{$option.title}\\\"\\n\\thint=\\\"{$hintHtml}\\\"\\n\\texplain=\\\"{$explainHtml}\\\"\\n\\thtml=\\\"{$listedHtml}\\\"\\n\\trowclass=\\\"{$rowClass}\\\">\\n\\n\\t<xf:option value=\\\"\\\" label=\\\"{{ phrase('no_contact_url') }}\\\" />\\n\\n\\t<xf:option value=\\\"default\\\" label=\\\"{{ phrase('default_url:') }} {{ link_type('public', 'canonical:misc/contact') }}\\\" />\\n\\n\\t<xf:option value=\\\"custom\\\" label=\\\"{{ phrase('custom_url') }}\\\">\\n\\t\\t<xf:textbox name=\\\"{$inputName}[custom]\\\" value=\\\"{$option.option_value.custom}\\\" />\\n\\t\\t<xf:dependent>\\n\\t\\t\\t<xf:checkbox standalone=\\\"true\\\">\\n\\t\\t\\t\\t<xf:option name=\\\"{$inputName}[overlay]\\\" selected=\\\"{$option.option_value.overlay}\\\" label=\\\"{{ phrase('open_in_overlay') }}\\\" />\\n\\t\\t\\t</xf:checkbox>\\n\\t\\t</xf:dependent>\\n\\t</xf:option>\\n</xf:radiorow>\\n\\n\\n\\n\",\"style_id\":0,\"title\":\"option_template_contactUrl\",\"type\":\"admin\"},{\"addon_id\":\"XF\",\"has_contact_us\":true,\"has_misc_contact\":true,\"sha256\":\"79897af848b2de192611484993fe260bffb8a855bc206b13bca33c00723cfcd7\",\"snippet\":\"'board_title': $xf.options.boardTitle}) }}</p>\\n\\n<table border=\\\"0\\\" width=\\\"100%\\\" cellpadding=\\\"0\\\" cellspacing=\\\"0\\\">\\n<tr>\\n\\t<td><b>{{ phrase('purchased_item') }}</b></td>\\n\\t<td align=\\\"right\\\"><b>{{ phrase('price') }}</b></td>\\n</tr>\\n<tr>\\n\\t<td><a href=\\\"{{ link('canonical:account/upgrades') }}\\\">{$purchasable.title}</a></td>\\n\\t<td align=\\\"right\\\">{{ $purchasable.purchasable.getCostPhraseForPurchaseRequest($purchaseRequest) }}</td>\\n</tr>\\n</table>\\n\\n<p><a href=\\\"{{ link('canonical:account/upgrades') }}\\\" class=\\\"button\\\">{{ phrase('manage_your_account_upgrades') }}</a></p>\\n\\n<xf:if is=\\\"$xf.toUser.canUseContactForm()\\\">\\n\\t<p>{{ phrase('thank_you_for_your_purchase_questions_contact_us', {'contacturl': link('canonical:misc/contact') }) }}</p>\\n<xf:else />\\n\\t<p>{{ phrase('thank_you_for_your_purchase') }}</p>\\n</xf:if>\",\"style_id\":0,\"title\":\"payment_received_receipt_user_upgrade\",\"type\":\"email\"},{\"addon_id\":\"XF\",\"has_contact_us\":true,\"has_misc_contact\":true,\"sha256\":\"507c4eb7cc3f04676df8f83fb98208d8a29d9f478509b509bd3fed62cf6a179e\",\"snippet\":\"<mail:subject>{{ phrase('payment_updated_for_your_account_upgrade_at_x', {'board_title': $xf.options.boardTitle}) }}</mail:subject>\\n\\n<p>{{ phrase('thank_you_for_updating_payment_for_account_upgrade_at_x', {'board_url': $xf.options.boardUrl, 'board_title': $xf.options.boardTitle}) }}</p>\\n\\n<p><a href=\\\"{{ link('canonical:account/upgrades') }}\\\" class=\\\"button\\\">{{ phrase('manage_your_account_upgrades') }}</a></p>\\n\\n<xf:if is=\\\"$xf.toUser.canUseContactForm()\\\">\\n\\t<p>{{ phrase('thank_you_for_your_purchase_questions_contact_us', {'contacturl': link('canonical:misc/contact') }) }}</p>\\n<xf:else />\\n\\t<p>{{ phrase('thank_you_for_your_purchase') }}</p>\\n</xf:if>\",\"style_id\":0,\"title\":\"payment_update_confirmation_user_upgrade\",\"type\":\"email\"},{\"addon_id\":\"XF\",\"has_contact_us\":true,\"has_misc_contact\":false,\"sha256\":\"61e21108a8e66fb6021693c66f0fb7679a259115e95da2527efd7e4a2afb9180\",\"snippet\":\"\\t\\t\\t\\t\\t\\t\\t<xf:if is=\\\"$xf.visitor.canChangeLanguage()\\\">\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<li><a href=\\\"{{ link('misc/language') }}\\\" data-xf-click=\\\"overlay\\\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tdata-xf-init=\\\"tooltip\\\" title=\\\"{{ phrase('language_chooser')|for_attr }}\\\" rel=\\\"nofollow\\\">\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<xf:fa icon=\\\"fa-globe\\\" /> {$xf.language.title}</a></li>\\n\\t\\t\\t\\t\\t\\t\\t\\t</xf:if>\\n\\t\\t\\t\\t\\t\\t\\t</xf:contentcheck>\\n\\t\\t\\t\\t\\t\\t</ul>\\n\\t\\t\\t\\t\\t</div>\\n\\t\\t\\t\\t</xf:if>\\n\\t\\t\\t\\t<div class=\\\"p-footer-row-opposite\\\">\\n\\t\\t\\t\\t\\t<ul class=\\\"p-footer-linkList\\\">\\n\\t\\t\\t\\t\\t\\t<xf:if is=\\\"$xf.visitor.canUseContactForm()\\\">\\n\\t\\t\\t\\t\\t\\t\\t<xf:if is=\\\"$xf.contactUrl\\\">\\n\\t\\t\\t\\t\\t\\t\\t\\t<li><a href=\\\"{$xf.contactUrl}\\\" data-xf-click=\\\"{{ ($xf.options.contactUrl.overlay OR $xf.options.contactUrl.type == 'default') ? 'overlay' : '' }}\\\">{{ phrase('contact_us') }}</a></li>\\n\\t\\t\\t\\t\\t\\t\\t</xf:if>\\n\\t\\t\\t\\t\\t\\t</xf:if>\\n\\n\\t\\t\\t\\t\\t\\t<xf:if is=\\\"$xf.tosUrl\\\">\\n\\t\\t\\t\\t\\t\\t\\t<li><a href=\\\"{$xf.tosUrl}\\\">{{ phrase('terms_and_rules') }}</a></li>\\n\\t\\t\\t\\t\\t\\t</xf:if>\\n\\n\\t\\t\\t\\t\\t\\t<xf:if is=\\\"$xf.privacyPolicyUrl\\\">\\n\\t\\t\\t\\t\\t\\t\\t<li><a href=\\\"{$xf.privacyPolicyUrl}\\\">{{ phrase('privacy_policy') }}</a></li>\\n\\t\\t\\t\\t\\t\\t</xf:if>\\n\\n\\t\\t\\t\\t\\t\\t<xf:if is=\\\"$xf.helpPageCount\\\">\\n\\t\\t\\t\\t\\t\\t\\t<li><a href=\\\"{{ link('help') }}\\\">{{ phrase('help') }}</a></li>\\n\\t\\t\\t\\t\\t\\t</xf:if>\\n\\n\\t\\t\\t\\t\\t\\t<xf:if is=\\\"$xf.homePageUrl\\\">\\n\\t\\t\\t\\t\\t\\t\\t<li><a href=\\\"{$xf.homePageUrl}\\\">{{ phrase('home') }}</a></li>\\n\\t\\t\\t\\t\\t\\t</xf:if>\\n\\n\\t\\t\\t\\t\\t\\t<li><a href=\\\"{{ link('forums/index.rss', '-') }}\\\" target=\\\"_blank\\\" class=\\\"p-footer-rssLink\\\" title=\\\"{{ phrase('rss')|for_attr }}\\\"><span aria-hidd\",\"style_id\":0,\"title\":\"PAGE_CONTAINER\",\"type\":\"public\"},{\"addon_id\":\"XF\",\"has_contact_us\":true,\"has_misc_contact\":true,\"sha256\":\"6e53a32ca5a5d7a11d78d9c4717a42c006d2df5443d3166b4e3527ee6a37804d\",\"snippet\":\"<xf:title>{{ phrase('contact_us') }}</xf:title>\\n\\n<xf:form action=\\\"{{ link('misc/contact') }}\\\" class=\\\"block\\\" ajax=\\\"true\\\" data-force-flash-message=\\\"true\\\">\\n\\t<div class=\\\"block-container\\\">\\n\\t\\t<div class=\\\"block-body\\\">\\n\\t\\t\\t<xf:if is=\\\"!$xf.visitor.user_id\\\">\\n\\t\\t\\t\\t<xf:textboxrow name=\\\"username\\\" autocomplete=\\\"username\\\" autofocus=\\\"autofocus\\\" maxlength=\\\"{{ max_length($xf.visitor, 'username') }}\\\"\\n\\t\\t\\t\\t\\tlabel=\\\"{{ phrase('your_name') }}\\\" required=\\\"required\\\" hint=\\\"{{ phrase('required') }}\\\" />\\n\\n\\t\\t\\t\\t<xf:textboxrow type=\\\"email\\\" name=\\\"email\\\" autocomplete=\\\"email\\\" maxlength=\\\"{{ max_length($xf.visitor, 'email') }}\\\"\\n\\t\\t\\t\\t\\tlabel=\\\"{{ phrase('your_email_address') }}\\\" required=\\\"required\\\" hint=\\\"{{ phrase('required') }}\\\" />\\n\\t\\t\\t<xf:else />\\n\\t\\t\\t\\t<xf:formrow label=\\\"{{ phrase('your_name') }}\\\">{$xf.visitor.username}</xf:formrow>\\n\\t\\t\\t\\t<xf:if is=\\\"$xf.visitor.email\\\">\\n\\n\\t\\t\\t\\t\\t<xf:formrow label=\\\"{{ phrase('your_email_address') }}\\\">{$xf.visitor.email|email_display}</xf:formrow>\\n\\n\\t\\t\\t\\t<xf:else />\\n\\n\\t\\t\\t\\t\\t<xf:textboxrow type=\\\"email\\\" name=\\\"email\\\" autocomplete=\\\"email\\\"\\n\\t\\t\\t\\t\\t\\tlabel=\\\"{{ phrase('your_email_address') }}\\\" required=\\\"required\\\" hint=\\\"{{ phrase('required') }}\\\" />\\n\\n\\t\\t\\t\\t</xf:if>\\n\\t\\t\\t</xf:if>\\n\\n\\t\\t\\t<xf:captcharow label=\\\"{{ phrase('verification') }}\\\" hint=\\\"{{ phrase('required') }}\\\" force=\\\"{$forceCaptcha}\\\" context=\\\"xf_contact_form\\\" />\\n\\n\\t\\t\\t<xf:textboxrow name=\\\"subject\\\"\\n\\t\\t\\t\\tlabel=\\\"{{ phrase('subject') }}\\\" required=\\\"required\\\" hint=\\\"{{ phrase('require\",\"style_id\":0,\"title\":\"contact_form\",\"type\":\"public\"}],\"error\":null,\"error_count\":0,\"error_max\":0,\"ok\":true,\"option_candidates\":[{\"option_id\":\"boardUrl\",\"value_bytes\":19,\"value_empty\":false,\"value_sha256\":\"5ed6b37fb88d539b4d27ab2a5c86f579774793fbc7e3234b1b3e16c9ca22857d\",\"value_truthy\":true},{\"option_id\":\"boardUrlCanonical\",\"value_bytes\":1,\"value_empty\":false,\"value_sha256\":\"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b\",\"value_truthy\":true},{\"option_id\":\"contactEmailAddress\",\"value_bytes\":18,\"value_empty\":false,\"value_sha256\":\"0d4cf60ca8cd53a12ad50dc5419d3c9c32192f0852000eb10051fbdef52b04bf\",\"value_truthy\":true},{\"option_id\":\"contactEmailSenderHeader\",\"value_bytes\":1,\"value_empty\":false,\"value_sha256\":\"5feceb66ffc86f38d952786c6d696c79c2dbc239dd4e91b46729d73a27fb57e9\",\"value_truthy\":true},{\"option_id\":\"contactUrl\",\"value_bytes\":49,\"value_empty\":false,\"value_sha256\":\"2ed478abb1b690f7ea33fbdd83d78bfb5ea266b214037c9c7cf58662428e06fb\",\"value_truthy\":true}],\"page_container\":[{\"addon_id\":\"XF\",\"bytes\":15382,\"contact_us_snippet\":null,\"has_contact_url\":false,\"has_contact_url_snake\":false,\"has_contact_us\":false,\"has_misc_contact\":false,\"misc_contact_snippet\":null,\"sha256\":\"df3b8df2a77e0099313f1bfe370c6e17fc9217dac9d9d6bb599f2fde4587bab0\",\"style_id\":0,\"type\":\"admin\"},{\"addon_id\":\"XF\",\"bytes\":37088,\"contact_us_snippet\":\"\\t\\t\\t\\t\\t\\t\\t<xf:if is=\\\"$xf.visitor.canChangeLanguage()\\\">\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<li><a href=\\\"{{ link('misc/language') }}\\\" data-xf-click=\\\"overlay\\\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tdata-xf-init=\\\"tooltip\\\" title=\\\"{{ phrase('language_chooser')|for_attr }}\\\" rel=\\\"nofollow\\\">\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<xf:fa icon=\\\"fa-globe\\\" /> {$xf.language.title}</a></li>\\n\\t\\t\\t\\t\\t\\t\\t\\t</xf:if>\\n\\t\\t\\t\\t\\t\\t\\t</xf:contentcheck>\\n\\t\\t\\t\\t\\t\\t</ul>\\n\\t\\t\\t\\t\\t</div>\\n\\t\\t\\t\\t</xf:if>\\n\\t\\t\\t\\t<div class=\\\"p-footer-row-opposite\\\">\\n\\t\\t\\t\\t\\t<ul class=\\\"p-footer-linkList\\\">\\n\\t\\t\\t\\t\\t\\t<xf:if is=\\\"$xf.visitor.canUseContactForm()\\\">\\n\\t\\t\\t\\t\\t\\t\\t<xf:if is=\\\"$xf.contactUrl\\\">\\n\\t\\t\\t\\t\\t\\t\\t\\t<li><a href=\\\"{$xf.contactUrl}\\\" data-xf-click=\\\"{{ ($xf.options.contactUrl.overlay OR $xf.options.contactUrl.type == 'default') ? 'overlay' : '' }}\\\">{{ phrase('contact_us') }}</a></li>\\n\\t\\t\\t\\t\\t\\t\\t</xf:if>\\n\\t\\t\\t\\t\\t\\t</xf:if>\\n\\n\\t\\t\\t\\t\\t\\t<xf:if is=\\\"$xf.tosUrl\\\">\\n\\t\\t\\t\\t\\t\\t\\t<li><a href=\\\"{$xf.tosUrl}\\\">{{ phrase('terms_and_rules') }}</a></li>\\n\\t\\t\\t\\t\\t\\t</xf:if>\\n\\n\\t\\t\\t\\t\\t\\t<xf:if is=\\\"$xf.privacyPolicyUrl\\\">\\n\\t\\t\\t\\t\\t\\t\\t<li><a href=\\\"{$xf.privacyPolicyUrl}\\\">{{ phrase('privacy_policy') }}</a></li>\\n\\t\\t\\t\\t\\t\\t</xf:if>\\n\\n\\t\\t\\t\\t\\t\\t<xf:if is=\\\"$xf.helpPageCount\\\">\\n\\t\\t\\t\\t\\t\\t\\t<li><a href=\\\"{{ link('help') }}\\\">{{ phrase('help') }}</a></li>\\n\\t\\t\\t\\t\\t\\t</xf:if>\\n\\n\\t\\t\\t\\t\\t\\t<xf:if is=\\\"$xf.homePageUrl\\\">\\n\\t\\t\\t\\t\\t\\t\\t<li><a href=\\\"{$xf.homePageUrl}\\\">{{ phrase('home') }}</a></li>\\n\\t\\t\\t\\t\\t\\t</xf:if>\\n\\n\\t\\t\\t\\t\\t\\t<li><a href=\\\"{{ link('forums/index.rss', '-') }}\\\" target=\\\"_blank\\\" class=\\\"p-footer-rssLink\\\" title=\\\"{{ phrase('rss')|for_attr }}\\\"><span aria-hidd\",\"has_contact_url\":true,\"has_contact_url_snake\":false,\"has_contact_us\":true,\"has_misc_contact\":false,\"misc_contact_snippet\":null,\"sha256\":\"61e21108a8e66fb6021693c66f0fb7679a259115e95da2527efd7e4a2afb9180\",\"style_id\":0,\"type\":\"public\"}],\"registry_option_candidates\":[{\"option_id\":\"boardUrl\",\"value_bytes\":19,\"value_empty\":false,\"value_sha256\":\"5ed6b37fb88d539b4d27ab2a5c86f579774793fbc7e3234b1b3e16c9ca22857d\",\"value_truthy\":true},{\"option_id\":\"boardUrlCanonical\",\"value_bytes\":1,\"value_empty\":false,\"value_sha256\":\"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b\",\"value_truthy\":true},{\"option_id\":\"contactEmailAddress\",\"value_bytes\":18,\"value_empty\":false,\"value_sha256\":\"0d4cf60ca8cd53a12ad50dc5419d3c9c32192f0852000eb10051fbdef52b04bf\",\"value_truthy\":true},{\"option_id\":\"contactEmailSenderHeader\",\"value_bytes\":0,\"value_empty\":true,\"value_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"value_truthy\":false},{\"option_id\":\"contactUrl\",\"value_bytes\":49,\"value_empty\":false,\"value_sha256\":\"2ed478abb1b690f7ea33fbdd83d78bfb5ea266b214037c9c7cf58662428e06fb\",\"value_truthy\":true}],\"runtime_contactUrl_error\":\"ErrorException: [E_WARNING] Array to string conversion\",\"runtime_contactUrl_supported\":false,\"template_modifications\":[],\"xf_option_columns\":[\"option_id\",\"option_value\",\"default_value\",\"edit_format\",\"edit_format_params\",\"data_type\",\"sub_options\",\"validation_class\",\"validation_method\",\"advanced\",\"addon_id\"],\"xf_template_columns\":[\"template_id\",\"type\",\"title\",\"style_id\",\"template\",\"template_parsed\",\"addon_id\",\"version_id\",\"version_string\",\"last_edit_date\"]}},\"guest_stderr_present\":false,\"inner_rc\":0,\"ok\":true,\"out_truncated\":false,\"transport_rc\":0,\"transport_stderr_bytes\":0,\"transport_stderr_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"}\nGRAM516R7R1_DECISION=PASS_FOOTER_CONTACT_AUTHORITY_EVIDENCE_CAPTURED\nGRAM516R7R1_NEXT_GATE=BUILD_EXACT_FOOTER_CONTACT_REMOVAL\nHOMELAB_RESULT_CONTRACT={\"version\":1,\"command_id\":\"SUPPORT-260918-XF-FOOTER-CONTACT-AUTHORITY-RCA-READONLY-516R7R1\",\"status\":\"OK\",\"changes_made\":false,\"rollback_started\":false,\"rollback_restored\":null}\n"
|
|
}
|