1
0
Files
homelab-public-context/runtime/latest.json
T

39 lines
37 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"schema_version": 1,
"channel": "homelab-runtime",
"command_id": "SUPPORT-260918-GRAM-XF-CODEVIPE-POST-513R3-RECONCILIATION-513R3R1",
"status": "FAIL",
"rc": 3,
"host": "pve01",
"mode": "read-only",
"component": "gram-support-codevipe-post-513r3-reconciliation-ui-source-audit",
"started_at_utc": "2026-09-18T01:21:34Z",
"finished_at_utc": "2026-09-18T01:21:36Z",
"reference_register_checked": true,
"reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66",
"error_register_checked": true,
"error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0",
"command_sha256": "3ca37a22b0da8e6d22c78219d49f91b2547ac41d7ab53e10e5c777796298572c",
"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": "e3c96e1bf1de6dcc1679ff9c1930c56dd4df6b908e08d489cebd0b421eeda746",
"sanitized_output_sha256": "e3c96e1bf1de6dcc1679ff9c1930c56dd4df6b908e08d489cebd0b421eeda746",
"output_truncated_in_json": false,
"full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt",
"output": "GRAM513R3R1_WRAPPER_BEGIN=true\nERROR_REGISTER_CHECK=OK\nREFERENCE_CHECK=OK\nAUTHORITY_CHECK_SCOPE=READABILITY_ONLY_INCIDENTS_NOT_CLOSED\nGRAM513R3R1_SAFE_REPORT={\"artifact_sha256\":\"2e31f89d3626a83c1211910aa6fd279cc04689b75ba822899952865085cf551e\",\"codevipe\":{\"ok\":true,\"state\":{\"addon\":null,\"counts\":{\"xf_content_type_field\":0,\"xf_code_event_listener\":0,\"xf_option\":0,\"xf_option_group\":0,\"xf_permission\":0,\"xf_permission_interface_group\":0,\"xf_phrase\":0,\"xf_route\":0,\"xf_template\":0,\"xf_template_modification\":0},\"support_tables\":[\"xf_gram_support_attachment_meta\",\"xf_gram_support_delivery\",\"xf_gram_support_event\",\"xf_gram_support_message\",\"xf_gram_support_rate_limit\",\"xf_gram_support_ticket\"],\"routes\":[],\"options\":[],\"permission_entries\":[],\"jobs\":[{\"job_id\":4,\"execute_class\":\"XF\\\\Job\\\\Cron\",\"manual_execute\":0},{\"job_id\":50,\"execute_class\":\"XF\\\\Job\\\\UpgradeCheck\",\"manual_execute\":0}],\"job_count\":2,\"support_job_count\":0,\"error_max\":0,\"recent_errors\":[],\"board_active\":\"1\",\"board_url\":\"https://codevipe.ru\"},\"manifest\":{\"file_count\":59,\"combined_sha256\":\"c49c44a866b3e91224cade4c43d9a4594537fc1530ba54333cb959f3afe12a32\",\"addon_files\":51,\"outside_files\":8},\"backup\":{\"exists\":true,\"files\":[\"SEALED\",\"SHA256SUMS\",\"database-pre.sql.gz\",\"prestate.json\",\"support-source-pre.tar.gz\"]},\"effective_prestate\":false},\"http\":{\"home\":{\"rc\":0,\"code\":\"200\",\"stderr_sha256\":null},\"support\":{\"rc\":0,\"code\":\"404\",\"stderr_sha256\":null}},\"fix10_ui_sources\":[{\"path\":\"upload/src/addons/Gram/Support/Attachment/TicketHandler.php\",\"sha256\":\"0def74cda843a56cdea03a8f9c40156a86424de6a09ce64ced655e5f0458361a\",\"hits\":3,\"snippets\":[{\"line\":30,\"text\":\"\\n return (bool)$visitor->user_id\\n && $visitor->hasPermission('gramSupport', 'internalNotes')\\n && (\\n $visitor->hasPermission('gramSupport', 'viewAll')\"},{\"line\":32,\"text\":\" && $visitor->hasPermission('gramSupport', 'internalNotes')\\n && (\\n $visitor->hasPermission('gramSupport', 'viewAll')\\n || $visitor->hasPermission('gramSupport', 'manage')\\n );\"},{\"line\":33,\"text\":\" && (\\n $visitor->hasPermission('gramSupport', 'viewAll')\\n || $visitor->hasPermission('gramSupport', 'manage')\\n );\\n }\"}]},{\"path\":\"upload/src/addons/Gram/Support/Listener/SourcePageContext.php\",\"sha256\":\"25e449317b7b48959aad49e1b73f785c84d0e14bd9d6fa55d7e3cb8ac074b253\",\"hits\":1,\"snippets\":[{\"line\":11,\"text\":\"final class SourcePageContext\\n{\\n private const SESSION_KEY = 'gramSupportSourceContext';\\n private const MAX_AGE = 600;\\n\"}]},{\"path\":\"upload/src/addons/Gram/Support/Notification/AlertConsumer.php\",\"sha256\":\"e22d0cdb0a0806c6a231504409bd17cd781caab0f28181aff7246b0295d8cd98\",\"hits\":2,\"snippets\":[{\"line\":27,\"text\":\" // Never alert a user about a ticket they cannot access.\\n $isOwner = $ticket->user_id && (int)$ticket->user_id === (int)$recipient->user_id;\\n $isStaff = $recipient->hasPermission('gramSupport', 'viewAll')\\n || $recipient->hasPermission('gramSupport', 'manage');\\n\"},{\"line\":28,\"text\":\" $isOwner = $ticket->user_id && (int)$ticket->user_id === (int)$recipient->user_id;\\n $isStaff = $recipient->hasPermission('gramSupport', 'viewAll')\\n || $recipient->hasPermission('gramSupport', 'manage');\\n\\n if (!$isOwner && !$isStaff)\"}]},{\"path\":\"upload/src/addons/Gram/Support/Notification/Dispatcher.php\",\"sha256\":\"a043d94bc91feeed0969ad218566cebac76b2d804e7c69cc2b87b94d42f5bb85\",\"hits\":2,\"snippets\":[{\"line\":58,\"text\":\" }\\n\\n if (!$staff->hasPermission('gramSupport', 'viewAll')\\n && !$staff->hasPermission('gramSupport', 'manage'))\\n {\"},{\"line\":59,\"text\":\"\\n if (!$staff->hasPermission('gramSupport', 'viewAll')\\n && !$staff->hasPermission('gramSupport', 'manage'))\\n {\\n continue;\"}]},{\"path\":\"upload/src/addons/Gram/Support/Pub/Controller/AccountSupport.php\",\"sha256\":\"236e648a240a3bde2721f3d9355ce0c48f81a0b727407e08cbaa563ae2df1dfd\",\"hits\":2,\"snippets\":[{\"line\":12,\"text\":\" {\\n $visitor = \\\\XF::visitor();\\n if (!$visitor->user_id || !$visitor->hasPermission('gramSupport', 'viewOwn'))\\n {\\n return $this->noPermission();\"},{\"line\":31,\"text\":\" {\\n $visitor = \\\\XF::visitor();\\n if (!$visitor->user_id || !$visitor->hasPermission('gramSupport', 'viewOwn'))\\n {\\n return $this->noPermission();\"}]},{\"path\":\"upload/src/addons/Gram/Support/Pub/Controller/Pwa.php\",\"sha256\":\"9e3217d9524349a8137b89d418e4693ca17f8e5f61ba5b563fff747d1014efb3\",\"hits\":2,\"snippets\":[{\"line\":12,\"text\":\"\\n if (!$visitor->user_id\\n || (!$visitor->hasPermission('gramSupport', 'manage')\\n && !$visitor->hasPermission('gramSupport', 'viewAll')))\\n {\"},{\"line\":13,\"text\":\" if (!$visitor->user_id\\n || (!$visitor->hasPermission('gramSupport', 'manage')\\n && !$visitor->hasPermission('gramSupport', 'viewAll')))\\n {\\n throw $this->exception($this->noPermission());\"}]},{\"path\":\"upload/src/addons/Gram/Support/Pub/Controller/StaffSupport.php\",\"sha256\":\"6852bd0061d6e118851673bfd4099e2b22e6291bf09f429820740844996f93f9\",\"hits\":7,\"snippets\":[{\"line\":17,\"text\":\"\\n $allowed = $manage\\n ? $visitor->hasPermission('gramSupport', 'manage')\\n : ($visitor->hasPermission('gramSupport', 'viewAll')\\n || $visitor->hasPermission('gramSupport', 'manage'));\"},{\"line\":18,\"text\":\" $allowed = $manage\\n ? $visitor->hasPermission('gramSupport', 'manage')\\n : ($visitor->hasPermission('gramSupport', 'viewAll')\\n || $visitor->hasPermission('gramSupport', 'manage'));\\n\"},{\"line\":19,\"text\":\" ? $visitor->hasPermission('gramSupport', 'manage')\\n : ($visitor->hasPermission('gramSupport', 'viewAll')\\n || $visitor->hasPermission('gramSupport', 'manage'));\\n\\n if (!$visitor->user_id || !$allowed)\"},{\"line\":71,\"text\":\"\\n if ($isInternal\\n && !\\\\XF::visitor()->hasPermission('gramSupport', 'internalNotes'))\\n {\\n return $this->noPermission();\"},{\"line\":105,\"text\":\" if ($assignedUserId > 0)\\n {\\n if (!\\\\XF::visitor()->hasPermission('gramSupport', 'assign'))\\n {\\n return $this->noPermission();\"},{\"line\":112,\"text\":\" $assigned = \\\\XF::em()->find('XF:User', $assignedUserId);\\n if (!$assigned\\n || (!$assigned->hasPermission('gramSupport', 'viewAll')\\n && !$assigned->hasPermission('gramSupport', 'manage')))\\n {\"},{\"line\":113,\"text\":\" if (!$assigned\\n || (!$assigned->hasPermission('gramSupport', 'viewAll')\\n && !$assigned->hasPermission('gramSupport', 'manage')))\\n {\\n return $this->error(\\\\XF::phrase('gram_support_assignee_invalid'));\"}]},{\"path\":\"upload/src/addons/Gram/Support/Pub/Controller/Support.php\",\"sha256\":\"6cb34b1d27e9f0132263637cefa62fe0e998a9a86620b7ac33199f41ee86f9d4\",\"hits\":2,\"snippets\":[{\"line\":31,\"text\":\" $visitor = \\\\XF::visitor();\\n\\n if ($visitor->user_id && !$visitor->hasPermission('gramSupport', 'create'))\\n {\\n return $this->noPermission();\"},{\"line\":198,\"text\":\" {\\n if ((int)$ticket->user_id !== (int)$visitor->user_id\\n || !$visitor->hasPermission('gramSupport', 'replyOwn'))\\n {\\n return $this->noPermission();\"}]},{\"path\":\"upload/src/addons/Gram/Support/Security/GuestTicketSession.php\",\"sha256\":\"9637043a10b7f2806c50ee9da04ea076d25a6924d7636b0533a2ea59212975e1\",\"hits\":1,\"snippets\":[{\"line\":9,\"text\":\"final class GuestTicketSession\\n{\\n private const KEY = 'gramSupportGuestTickets';\\n\\n public static function grant(Ticket $ticket): void\"}]},{\"path\":\"upload/src/addons/Gram/Support/Security/TicketAccess.php\",\"sha256\":\"f486abd65893052dbaafad550ad0d147ba638661e0e7ed73d7e2b3e046bec4a5\",\"hits\":5,\"snippets\":[{\"line\":12,\"text\":\" public static function canView(Ticket $ticket, User $visitor): bool\\n {\\n if ($visitor->hasPermission('gramSupport', 'viewAll')\\n || $visitor->hasPermission('gramSupport', 'manage'))\\n {\"},{\"line\":13,\"text\":\" {\\n if ($visitor->hasPermission('gramSupport', 'viewAll')\\n || $visitor->hasPermission('gramSupport', 'manage'))\\n {\\n return true;\"},{\"line\":22,\"text\":\" && (int)$ticket->user_id === (int)$visitor->user_id)\\n {\\n return $visitor->hasPermission('gramSupport', 'viewOwn');\\n }\\n\"},{\"line\":35,\"text\":\" public static function canManageAttachments(Ticket $ticket, User $visitor): bool\\n {\\n if ($visitor->hasPermission('gramSupport', 'manage'))\\n {\\n return true;\"},{\"line\":44,\"text\":\" && (int)$ticket->user_id === (int)$visitor->user_id)\\n {\\n return $visitor->hasPermission('gramSupport', 'replyOwn');\\n }\\n\"}]},{\"path\":\"upload/src/addons/Gram/Support/Util/SiteConfig.php\",\"sha256\":\"db246e35b477c55d4fb1d464b0de0829a91e09ed42058bf704d667ae7b23e3b8\",\"hits\":4,\"snippets\":[{\"line\":9,\"text\":\" public static function siteId(): string\\n {\\n $siteId = trim((string)\\\\XF::options()->gramSupportSiteId);\\n if ($siteId === '')\\n {\"},{\"line\":19,\"text\":\" public static function guestTokenTtlSeconds(): int\\n {\\n $days = max(1, min(365, (int)\\\\XF::options()->gramSupportGuestTokenTtlDays));\\n return $days * 86400;\\n }\"},{\"line\":25,\"text\":\" public static function guestRateLimitCount(): int\\n {\\n return max(1, min(100, (int)\\\\XF::options()->gramSupportGuestRateLimitCount));\\n }\\n\"},{\"line\":30,\"text\":\" public static function guestRateLimitWindowSeconds(): int\\n {\\n return max(60, min(86400, (int)\\\\XF::options()->gramSupportGuestRateLimitWindowSeconds));\\n }\\n}\"}]},{\"path\":\"upload/src/addons/Gram/Support/_data/option_groups.xml\",\"sha256\":\"357e532805c40e424fec654349241ecb322e1cb8ee2560f9abb964f10a55cdda\",\"hits\":1,\"snippets\":[{\"line\":3,\"text\":\"<?xml version=\\\"1.0\\\" encoding=\\\"utf-8\\\"?>\\n<option_groups>\\n <group group_id=\\\"gramSupport\\\" display_order=\\\"1000\\\" debug_only=\\\"0\\\"/>\\n</option_groups>\"}]},{\"path\":\"upload/src/addons/Gram/Support/_data/options.xml\",\"sha256\":\"499d0a3b543eb838d5497f2da1b0cd13e5510e9f7e10aded7b06cb422cab8143\",\"hits\":8,\"snippets\":[{\"line\":3,\"text\":\"<?xml version=\\\"1.0\\\" encoding=\\\"utf-8\\\"?>\\n<options>\\n <option option_id=\\\"gramSupportSiteId\\\" edit_format=\\\"textbox\\\" data_type=\\\"string\\\">\\n <default_value></default_value>\\n <relation group_id=\\\"gramSupport\\\" display_order=\\\"10\\\"/>\"},{\"line\":5,\"text\":\" <option option_id=\\\"gramSupportSiteId\\\" edit_format=\\\"textbox\\\" data_type=\\\"string\\\">\\n <default_value></default_value>\\n <relation group_id=\\\"gramSupport\\\" display_order=\\\"10\\\"/>\\n </option>\\n <option option_id=\\\"gramSupportGuestTokenTtlDays\\\" edit_format=\\\"spinbox\\\" data_type=\\\"unsigned_integer\\\">\"},{\"line\":7,\"text\":\" <relation group_id=\\\"gramSupport\\\" display_order=\\\"10\\\"/>\\n </option>\\n <option option_id=\\\"gramSupportGuestTokenTtlDays\\\" edit_format=\\\"spinbox\\\" data_type=\\\"unsigned_integer\\\">\\n <default_value>30</default_value>\\n <relation group_id=\\\"gramSupport\\\" display_order=\\\"20\\\"/>\"},{\"line\":9,\"text\":\" <option option_id=\\\"gramSupportGuestTokenTtlDays\\\" edit_format=\\\"spinbox\\\" data_type=\\\"unsigned_integer\\\">\\n <default_value>30</default_value>\\n <relation group_id=\\\"gramSupport\\\" display_order=\\\"20\\\"/>\\n </option>\\n <option option_id=\\\"gramSupportGuestRateLimitCount\\\" edit_format=\\\"spinbox\\\" data_type=\\\"unsigned_integer\\\">\"},{\"line\":11,\"text\":\" <relation group_id=\\\"gramSupport\\\" display_order=\\\"20\\\"/>\\n </option>\\n <option option_id=\\\"gramSupportGuestRateLimitCount\\\" edit_format=\\\"spinbox\\\" data_type=\\\"unsigned_integer\\\">\\n <default_value>5</default_value>\\n <relation group_id=\\\"gramSupport\\\" display_order=\\\"30\\\"/>\"},{\"line\":13,\"text\":\" <option option_id=\\\"gramSupportGuestRateLimitCount\\\" edit_format=\\\"spinbox\\\" data_type=\\\"unsigned_integer\\\">\\n <default_value>5</default_value>\\n <relation group_id=\\\"gramSupport\\\" display_order=\\\"30\\\"/>\\n </option>\\n <option option_id=\\\"gramSupportGuestRateLimitWindowSeconds\\\" edit_format=\\\"spinbox\\\" data_type=\\\"unsigned_integer\\\">\"},{\"line\":15,\"text\":\" <relation group_id=\\\"gramSupport\\\" display_order=\\\"30\\\"/>\\n </option>\\n <option option_id=\\\"gramSupportGuestRateLimitWindowSeconds\\\" edit_format=\\\"spinbox\\\" data_type=\\\"unsigned_integer\\\">\\n <default_value>3600</default_value>\\n <relation group_id=\\\"gramSupport\\\" display_order=\\\"40\\\"/>\"},{\"line\":17,\"text\":\" <option option_id=\\\"gramSupportGuestRateLimitWindowSeconds\\\" edit_format=\\\"spinbox\\\" data_type=\\\"unsigned_integer\\\">\\n <default_value>3600</default_value>\\n <relation group_id=\\\"gramSupport\\\" display_order=\\\"40\\\"/>\\n </option>\\n</options>\"}]},{\"path\":\"upload/src/addons/Gram/Support/_data/permission_interface_groups.xml\",\"sha256\":\"f54be0d872f43813e0f57d75a73420da70d37091f408d3cbdf9e943d4f67c1ad\",\"hits\":1,\"snippets\":[{\"line\":3,\"text\":\"<?xml version=\\\"1.0\\\" encoding=\\\"utf-8\\\"?>\\n<permission_interface_groups>\\n <interface_group interface_group_id=\\\"gramSupport\\\" display_order=\\\"1000\\\" is_moderator=\\\"0\\\"/>\\n</permission_interface_groups>\"}]},{\"path\":\"upload/src/addons/Gram/Support/_data/permissions.xml\",\"sha256\":\"c0cf9d60702b670355f3f0928e0afde20a5c7becf065536c3487289211a4bbee\",\"hits\":9,\"snippets\":[{\"line\":3,\"text\":\"<?xml version=\\\"1.0\\\" encoding=\\\"utf-8\\\"?>\\n<permissions>\\n <permission permission_group_id=\\\"gramSupport\\\" permission_id=\\\"view\\\" permission_type=\\\"flag\\\" interface_group_id=\\\"gramSupport\\\" display_order=\\\"10\\\" />\\n <permission permission_group_id=\\\"gramSupport\\\" permission_id=\\\"create\\\" permission_type=\\\"flag\\\" interface_group_id=\\\"gramSupport\\\" display_order=\\\"20\\\" />\\n <permission permission_group_id=\\\"gramSupport\\\" permission_id=\\\"viewOwn\\\" permission_type=\\\"flag\\\" interface_group_id=\\\"gramSupport\\\" display_order=\\\"30\\\" />\"},{\"line\":4,\"text\":\"<permissions>\\n <permission permission_group_id=\\\"gramSupport\\\" permission_id=\\\"view\\\" permission_type=\\\"flag\\\" interface_group_id=\\\"gramSupport\\\" display_order=\\\"10\\\" />\\n <permission permission_group_id=\\\"gramSupport\\\" permission_id=\\\"create\\\" permission_type=\\\"flag\\\" interface_group_id=\\\"gramSupport\\\" display_order=\\\"20\\\" />\\n <permission permission_group_id=\\\"gramSupport\\\" permission_id=\\\"viewOwn\\\" permission_type=\\\"flag\\\" interface_group_id=\\\"gramSupport\\\" display_order=\\\"30\\\" />\\n <permission permission_group_id=\\\"gramSupport\\\" permission_id=\\\"replyOwn\\\" permission_type=\\\"flag\\\" interface_group_id=\\\"gramSupport\\\" display_order=\\\"40\\\" />\"},{\"line\":5,\"text\":\" <permission permission_group_id=\\\"gramSupport\\\" permission_id=\\\"view\\\" permission_type=\\\"flag\\\" interface_group_id=\\\"gramSupport\\\" display_order=\\\"10\\\" />\\n <permission permission_group_id=\\\"gramSupport\\\" permission_id=\\\"create\\\" permission_type=\\\"flag\\\" interface_group_id=\\\"gramSupport\\\" display_order=\\\"20\\\" />\\n <permission permission_group_id=\\\"gramSupport\\\" permission_id=\\\"viewOwn\\\" permission_type=\\\"flag\\\" interface_group_id=\\\"gramSupport\\\" display_order=\\\"30\\\" />\\n <permission permission_group_id=\\\"gramSupport\\\" permission_id=\\\"replyOwn\\\" permission_type=\\\"flag\\\" interface_group_id=\\\"gramSupport\\\" display_order=\\\"40\\\" />\\n <permission permission_group_id=\\\"gramSupport\\\" permission_id=\\\"manage\\\" permission_type=\\\"flag\\\" interface_group_id=\\\"gramSupport\\\" display_order=\\\"50\\\" />\"},{\"line\":6,\"text\":\" <permission permission_group_id=\\\"gramSupport\\\" permission_id=\\\"create\\\" permission_type=\\\"flag\\\" interface_group_id=\\\"gramSupport\\\" display_order=\\\"20\\\" />\\n <permission permission_group_id=\\\"gramSupport\\\" permission_id=\\\"viewOwn\\\" permission_type=\\\"flag\\\" interface_group_id=\\\"gramSupport\\\" display_order=\\\"30\\\" />\\n <permission permission_group_id=\\\"gramSupport\\\" permission_id=\\\"replyOwn\\\" permission_type=\\\"flag\\\" interface_group_id=\\\"gramSupport\\\" display_order=\\\"40\\\" />\\n <permission permission_group_id=\\\"gramSupport\\\" permission_id=\\\"manage\\\" permission_type=\\\"flag\\\" interface_group_id=\\\"gramSupport\\\" display_order=\\\"50\\\" />\\n <permission permission_group_id=\\\"gramSupport\\\" permission_id=\\\"assign\\\" permission_type=\\\"flag\\\" interface_group_id=\\\"gramSupport\\\" display_order=\\\"60\\\" />\"},{\"line\":7,\"text\":\" <permission permission_group_id=\\\"gramSupport\\\" permission_id=\\\"viewOwn\\\" permission_type=\\\"flag\\\" interface_group_id=\\\"gramSupport\\\" display_order=\\\"30\\\" />\\n <permission permission_group_id=\\\"gramSupport\\\" permission_id=\\\"replyOwn\\\" permission_type=\\\"flag\\\" interface_group_id=\\\"gramSupport\\\" display_order=\\\"40\\\" />\\n <permission permission_group_id=\\\"gramSupport\\\" permission_id=\\\"manage\\\" permission_type=\\\"flag\\\" interface_group_id=\\\"gramSupport\\\" display_order=\\\"50\\\" />\\n <permission permission_group_id=\\\"gramSupport\\\" permission_id=\\\"assign\\\" permission_type=\\\"flag\\\" interface_group_id=\\\"gramSupport\\\" display_order=\\\"60\\\" />\\n <permission permission_group_id=\\\"gramSupport\\\" permission_id=\\\"viewAll\\\" permission_type=\\\"flag\\\" interface_group_id=\\\"gramSupport\\\" display_order=\\\"70\\\" />\"},{\"line\":8,\"text\":\" <permission permission_group_id=\\\"gramSupport\\\" permission_id=\\\"replyOwn\\\" permission_type=\\\"flag\\\" interface_group_id=\\\"gramSupport\\\" display_order=\\\"40\\\" />\\n <permission permission_group_id=\\\"gramSupport\\\" permission_id=\\\"manage\\\" permission_type=\\\"flag\\\" interface_group_id=\\\"gramSupport\\\" display_order=\\\"50\\\" />\\n <permission permission_group_id=\\\"gramSupport\\\" permission_id=\\\"assign\\\" permission_type=\\\"flag\\\" interface_group_id=\\\"gramSupport\\\" display_order=\\\"60\\\" />\\n <permission permission_group_id=\\\"gramSupport\\\" permission_id=\\\"viewAll\\\" permission_type=\\\"flag\\\" interface_group_id=\\\"gramSupport\\\" display_order=\\\"70\\\" />\\n <permission permission_group_id=\\\"gramSupport\\\" permission_id=\\\"internalNotes\\\" permission_type=\\\"flag\\\" interface_group_id=\\\"gramSupport\\\" display_order=\\\"80\\\" />\"},{\"line\":9,\"text\":\" <permission permission_group_id=\\\"gramSupport\\\" permission_id=\\\"manage\\\" permission_type=\\\"flag\\\" interface_group_id=\\\"gramSupport\\\" display_order=\\\"50\\\" />\\n <permission permission_group_id=\\\"gramSupport\\\" permission_id=\\\"assign\\\" permission_type=\\\"flag\\\" interface_group_id=\\\"gramSupport\\\" display_order=\\\"60\\\" />\\n <permission permission_group_id=\\\"gramSupport\\\" permission_id=\\\"viewAll\\\" permission_type=\\\"flag\\\" interface_group_id=\\\"gramSupport\\\" display_order=\\\"70\\\" />\\n <permission permission_group_id=\\\"gramSupport\\\" permission_id=\\\"internalNotes\\\" permission_type=\\\"flag\\\" interface_group_id=\\\"gramSupport\\\" display_order=\\\"80\\\" />\\n <permission permission_group_id=\\\"gramSupport\\\" permission_id=\\\"viewTechnicalContext\\\" permission_type=\\\"flag\\\" interface_group_id=\\\"gramSupport\\\" display_order=\\\"90\\\" />\"},{\"line\":10,\"text\":\" <permission permission_group_id=\\\"gramSupport\\\" permission_id=\\\"assign\\\" permission_type=\\\"flag\\\" interface_group_id=\\\"gramSupport\\\" display_order=\\\"60\\\" />\\n <permission permission_group_id=\\\"gramSupport\\\" permission_id=\\\"viewAll\\\" permission_type=\\\"flag\\\" interface_group_id=\\\"gramSupport\\\" display_order=\\\"70\\\" />\\n <permission permission_group_id=\\\"gramSupport\\\" permission_id=\\\"internalNotes\\\" permission_type=\\\"flag\\\" interface_group_id=\\\"gramSupport\\\" display_order=\\\"80\\\" />\\n <permission permission_group_id=\\\"gramSupport\\\" permission_id=\\\"viewTechnicalContext\\\" permission_type=\\\"flag\\\" interface_group_id=\\\"gramSupport\\\" display_order=\\\"90\\\" />\\n</permissions>\"},{\"line\":11,\"text\":\" <permission permission_group_id=\\\"gramSupport\\\" permission_id=\\\"viewAll\\\" permission_type=\\\"flag\\\" interface_group_id=\\\"gramSupport\\\" display_order=\\\"70\\\" />\\n <permission permission_group_id=\\\"gramSupport\\\" permission_id=\\\"internalNotes\\\" permission_type=\\\"flag\\\" interface_group_id=\\\"gramSupport\\\" display_order=\\\"80\\\" />\\n <permission permission_group_id=\\\"gramSupport\\\" permission_id=\\\"viewTechnicalContext\\\" permission_type=\\\"flag\\\" interface_group_id=\\\"gramSupport\\\" display_order=\\\"90\\\" />\\n</permissions>\"}]},{\"path\":\"upload/src/addons/Gram/Support/_data/phrases.xml\",\"sha256\":\"ea6e84de301145312758285cfcd63ee4c12b8e921877bcde15c17dd4c115c434\",\"hits\":17,\"snippets\":[{\"line\":40,\"text\":\" <phrase title=\\\"gram_support_email_ticket_event_body_guest\\\" version_id=\\\"1000050\\\" version_string=\\\"1.0.0 Alpha 3 Unified Fix 3\\\">В обращении {public_ref} есть обновление. Откройте страницу доступа: {access_url}</phrase>\\n <phrase title=\\\"gram_support_attachments\\\" version_id=\\\"1000050\\\" version_string=\\\"1.0.0 Alpha 3 Unified Fix 3\\\">Вложения</phrase>\\n <phrase title=\\\"option_group.gramSupport\\\" version_id=\\\"1000050\\\" version_string=\\\"1.0.0 Alpha 3 Unified Fix 3\\\">Gram Support</phrase>\\n <phrase title=\\\"option_group_description.gramSupport\\\" version_id=\\\"1000050\\\" version_string=\\\"1.0.0 Alpha 3 Unified Fix 3\\\">Настройки Gram Support</phrase>\\n <phrase title=\\\"permission_interface.gramSupport\\\" version_id=\\\"1000050\\\" version_string=\\\"1.0.0 Alpha 3 Unified Fix 3\\\">Gram Support</phrase>\"},{\"line\":41,\"text\":\" <phrase title=\\\"gram_support_attachments\\\" version_id=\\\"1000050\\\" version_string=\\\"1.0.0 Alpha 3 Unified Fix 3\\\">Вложения</phrase>\\n <phrase title=\\\"option_group.gramSupport\\\" version_id=\\\"1000050\\\" version_string=\\\"1.0.0 Alpha 3 Unified Fix 3\\\">Gram Support</phrase>\\n <phrase title=\\\"option_group_description.gramSupport\\\" version_id=\\\"1000050\\\" version_string=\\\"1.0.0 Alpha 3 Unified Fix 3\\\">Настройки Gram Support</phrase>\\n <phrase title=\\\"permission_interface.gramSupport\\\" version_id=\\\"1000050\\\" version_string=\\\"1.0.0 Alpha 3 Unified Fix 3\\\">Gram Support</phrase>\\n <phrase title=\\\"option.gramSupportSiteId\\\" version_id=\\\"1000050\\\" version_string=\\\"1.0.0 Alpha 3 Unified Fix 3\\\">ID сайта Gram Support</phrase>\"},{\"line\":42,\"text\":\" <phrase title=\\\"option_group.gramSupport\\\" version_id=\\\"1000050\\\" version_string=\\\"1.0.0 Alpha 3 Unified Fix 3\\\">Gram Support</phrase>\\n <phrase title=\\\"option_group_description.gramSupport\\\" version_id=\\\"1000050\\\" version_string=\\\"1.0.0 Alpha 3 Unified Fix 3\\\">Настройки Gram Support</phrase>\\n <phrase title=\\\"permission_interface.gramSupport\\\" version_id=\\\"1000050\\\" version_string=\\\"1.0.0 Alpha 3 Unified Fix 3\\\">Gram Support</phrase>\\n <phrase title=\\\"option.gramSupportSiteId\\\" version_id=\\\"1000050\\\" version_string=\\\"1.0.0 Alpha 3 Unified Fix 3\\\">ID сайта Gram Support</phrase>\\n <phrase title=\\\"option_explain.gramSupportSiteId\\\" version_id=\\\"1000050\\\" version_string=\\\"1.0.0 Alpha 3 Unified Fix 3\\\">Уникальный серверный идентификатор сайта, например NF или KOW.</phrase>\"},{\"line\":43,\"text\":\" <phrase title=\\\"option_group_description.gramSupport\\\" version_id=\\\"1000050\\\" version_string=\\\"1.0.0 Alpha 3 Unified Fix 3\\\">Настройки Gram Support</phrase>\\n <phrase title=\\\"permission_interface.gramSupport\\\" version_id=\\\"1000050\\\" version_string=\\\"1.0.0 Alpha 3 Unified Fix 3\\\">Gram Support</phrase>\\n <phrase title=\\\"option.gramSupportSiteId\\\" version_id=\\\"1000050\\\" version_string=\\\"1.0.0 Alpha 3 Unified Fix 3\\\">ID сайта Gram Support</phrase>\\n <phrase title=\\\"option_explain.gramSupportSiteId\\\" version_id=\\\"1000050\\\" version_string=\\\"1.0.0 Alpha 3 Unified Fix 3\\\">Уникальный серверный идентификатор сайта, например NF или KOW.</phrase>\\n <phrase title=\\\"option.gramSupportGuestTokenTtlDays\\\" version_id=\\\"1000050\\\" version_string=\\\"1.0.0 Alpha 3 Unified Fix 3\\\">Срок действия гостевого кода, дней</phrase>\"},{\"line\":44,\"text\":\" <phrase title=\\\"permission_interface.gramSupport\\\" version_id=\\\"1000050\\\" version_string=\\\"1.0.0 Alpha 3 Unified Fix 3\\\">Gram Support</phrase>\\n <phrase title=\\\"option.gramSupportSiteId\\\" version_id=\\\"1000050\\\" version_string=\\\"1.0.0 Alpha 3 Unified Fix 3\\\">ID сайта Gram Support</phrase>\\n <phrase title=\\\"option_explain.gramSupportSiteId\\\" version_id=\\\"1000050\\\" version_string=\\\"1.0.0 Alpha 3 Unified Fix 3\\\">Уникальный серверный идентификатор сайта, например NF или KOW.</phrase>\\n <phrase title=\\\"option.gramSupportGuestTokenTtlDays\\\" version_id=\\\"1000050\\\" version_string=\\\"1.0.0 Alpha 3 Unified Fix 3\\\">Срок действия гостевого кода, дней</phrase>\\n <phrase title=\\\"option.gramSupportGuestRateLimitCount\\\" version_id=\\\"1000050\\\" version_string=\\\"1.0.0 Alpha 3 Unified Fix 3\\\">Лимит гостевых обращений за окно</phrase>\"},{\"line\":45,\"text\":\" <phrase title=\\\"option.gramSupportSiteId\\\" version_id=\\\"1000050\\\" version_string=\\\"1.0.0 Alpha 3 Unified Fix 3\\\">ID сайта Gram Support</phrase>\\n <phrase title=\\\"option_explain.gramSupportSiteId\\\" version_id=\\\"1000050\\\" version_string=\\\"1.0.0 Alpha 3 Unified Fix 3\\\">Уникальный серверный идентификатор сайта, например NF или KOW.</phrase>\\n <phrase title=\\\"option.gramSupportGuestTokenTtlDays\\\" version_id=\\\"1000050\\\" version_string=\\\"1.0.0 Alpha 3 Unified Fix 3\\\">Срок действия гостевого кода, дней</phrase>\\n <phrase title=\\\"option.gramSupportGuestRateLimitCount\\\" version_id=\\\"1000050\\\" version_string=\\\"1.0.0 Alpha 3 Unified Fix 3\\\">Лимит гостевых обращений за окно</phrase>\\n <phrase title=\\\"option.gramSupportGuestRateLimitWindowSeconds\\\" version_id=\\\"1000050\\\" version_string=\\\"1.0.0 Alpha 3 Unified Fix 3\\\">Окно лимита гостевых обращений, секунд</phrase>\"},{\"line\":46,\"text\":\" <phrase title=\\\"option_explain.gramSupportSiteId\\\" version_id=\\\"1000050\\\" version_string=\\\"1.0.0 Alpha 3 Unified Fix 3\\\">Уникальный серверный идентификатор сайта, например NF или KOW.</phrase>\\n <phrase title=\\\"option.gramSupportGuestTokenTtlDays\\\" version_id=\\\"1000050\\\" version_string=\\\"1.0.0 Alpha 3 Unified Fix 3\\\">Срок действия гостевого кода, дней</phrase>\\n <phrase title=\\\"option.gramSupportGuestRateLimitCount\\\" version_id=\\\"1000050\\\" version_string=\\\"1.0.0 Alpha 3 Unified Fix 3\\\">Лимит гостевых обращений за окно</phrase>\\n <phrase title=\\\"option.gramSupportGuestRateLimitWindowSeconds\\\" version_id=\\\"1000050\\\" version_string=\\\"1.0.0 Alpha 3 Unified Fix 3\\\">Окно лимита гостевых обращений, секунд</phrase>\\n <phrase title=\\\"permission.gramSupport_view\\\" version_id=\\\"1000050\\\" version_string=\\\"1.0.0 Alpha 3 Unified Fix 3\\\">Просмотр поддержки</phrase>\"},{\"line\":47,\"text\":\" <phrase title=\\\"option.gramSupportGuestTokenTtlDays\\\" version_id=\\\"1000050\\\" version_string=\\\"1.0.0 Alpha 3 Unified Fix 3\\\">Срок действия гостевого кода, дней</phrase>\\n <phrase title=\\\"option.gramSupportGuestRateLimitCount\\\" version_id=\\\"1000050\\\" version_string=\\\"1.0.0 Alpha 3 Unified Fix 3\\\">Лимит гостевых обращений за окно</phrase>\\n <phrase title=\\\"option.gramSupportGuestRateLimitWindowSeconds\\\" version_id=\\\"1000050\\\" version_string=\\\"1.0.0 Alpha 3 Unified Fix 3\\\">Окно лимита гостевых обращений, секунд</phrase>\\n <phrase title=\\\"permission.gramSupport_view\\\" version_id=\\\"1000050\\\" version_string=\\\"1.0.0 Alpha 3 Unified Fix 3\\\">Просмотр поддержки</phrase>\\n <phrase title=\\\"permission.gramSupport_create\\\" version_id=\\\"1000050\\\" version_string=\\\"1.0.0 Alpha 3 Unified Fix 3\\\">Создание обращений</phrase>\"},{\"line\":48,\"text\":\" <phrase title=\\\"option.gramSupportGuestRateLimitCount\\\" version_id=\\\"1000050\\\" version_string=\\\"1.0.0 Alpha 3 Unified Fix 3\\\">Лимит гостевых обращений за окно</phrase>\\n <phrase title=\\\"option.gramSupportGuestRateLimitWindowSeconds\\\" version_id=\\\"1000050\\\" version_string=\\\"1.0.0 Alpha 3 Unified Fix 3\\\">Окно лимита гостевых обращений, секунд</phrase>\\n <phrase title=\\\"permission.gramSupport_view\\\" version_id=\\\"1000050\\\" version_string=\\\"1.0.0 Alpha 3 Unified Fix 3\\\">Просмотр поддержки</phrase>\\n <phrase title=\\\"permission.gramSupport_create\\\" version_id=\\\"1000050\\\" version_string=\\\"1.0.0 Alpha 3 Unified Fix 3\\\">Создание обращений</phrase>\\n <phrase title=\\\"permission.gramSupport_viewOwn\\\" version_id=\\\"1000050\\\" version_string=\\\"1.0.0 Alpha 3 Unified Fix 3\\\">Просмотр своих обращений</phrase>\"},{\"line\":49,\"text\":\" <phrase title=\\\"option.gramSupportGuestRateLimitWindowSeconds\\\" version_id=\\\"1000050\\\" version_string=\\\"1.0.0 Alpha 3 Unified Fix 3\\\">Окно лимита гостевых обращений, секунд</phrase>\\n <phrase title=\\\"permission.gramSupport_view\\\" version_id=\\\"1000050\\\" version_string=\\\"1.0.0 Alpha 3 Unified Fix 3\\\">Просмотр поддержки</phrase>\\n <phrase title=\\\"permission.gramSupport_create\\\" version_id=\\\"1000050\\\" version_string=\\\"1.0.0 Alpha 3 Unified Fix 3\\\">Создание обращений</phrase>\\n <phrase title=\\\"permission.gramSupport_viewOwn\\\" version_id=\\\"1000050\\\" version_string=\\\"1.0.0 Alpha 3 Unified Fix 3\\\">Просмотр своих обращений</phrase>\\n <phrase title=\\\"permission.gramSupport_replyOwn\\\" version_id=\\\"1000050\\\" version_string=\\\"1.0.0 Alpha 3 Unified Fix 3\\\">Ответ в своих обращениях</phrase>\"}]},{\"path\":\"upload/src/addons/Gram/Support/_data/template_modifications.xml\",\"sha256\":\"04f338a8107a80bd3c17b6f6888faea596a5057140556ce6f4f1673d2034628b\",\"hits\":4,\"snippets\":[{\"line\":3,\"text\":\"<?xml version='1.0' encoding='utf-8'?>\\n<template_modifications>\\n <modification type=\\\"public\\\" template=\\\"PAGE_CONTAINER\\\" modification_key=\\\"gram_support_launcher\\\" description=\\\"Gram Support launcher\\\" execution_order=\\\"100\\\" enabled=\\\"1\\\" action=\\\"str_replace\\\">\\n <find>&lt;div class=\\\"p-footer-row-opposite\\\"&gt;</find>\\n <replace>&lt;xf:include template=\\\"gram_support_launcher\\\" /&gt;\"},{\"line\":4,\"text\":\"<template_modifications>\\n <modification type=\\\"public\\\" template=\\\"PAGE_CONTAINER\\\" modification_key=\\\"gram_support_launcher\\\" description=\\\"Gram Support launcher\\\" execution_order=\\\"100\\\" enabled=\\\"1\\\" action=\\\"str_replace\\\">\\n <find>&lt;div class=\\\"p-footer-row-opposite\\\"&gt;</find>\\n <replace>&lt;xf:include template=\\\"gram_support_launcher\\\" /&gt;\\n&lt;div class=\\\"p-footer-row-opposite\\\"&gt;</replace>\"},{\"line\":5,\"text\":\" <modification type=\\\"public\\\" template=\\\"PAGE_CONTAINER\\\" modification_key=\\\"gram_support_launcher\\\" description=\\\"Gram Support launcher\\\" execution_order=\\\"100\\\" enabled=\\\"1\\\" action=\\\"str_replace\\\">\\n <find>&lt;div class=\\\"p-footer-row-opposite\\\"&gt;</find>\\n <replace>&lt;xf:include template=\\\"gram_support_launcher\\\" /&gt;\\n&lt;div class=\\\"p-footer-row-opposite\\\"&gt;</replace>\\n </modification>\"},{\"line\":6,\"text\":\" <find>&lt;div class=\\\"p-footer-row-opposite\\\"&gt;</find>\\n <replace>&lt;xf:include template=\\\"gram_support_launcher\\\" /&gt;\\n&lt;div class=\\\"p-footer-row-opposite\\\"&gt;</replace>\\n </modification>\\n</template_modifications>\"}]},{\"path\":\"upload/src/addons/Gram/Support/_data/templates.xml\",\"sha256\":\"d719aeb2586cf76679d956b50556de65ea6d510b3891ff5437fe8c96a86ecdcf\",\"hits\":61,\"snippets\":[{\"line\":9,\"text\":\"&lt;/xf:macro&gt;\\n</template>\\n <template type=\\\"public\\\" title=\\\"gram_support.less\\\" version_id=\\\"1000100\\\" version_string=\\\"1.0.0 Alpha 3 Unified Fix 8\\\">.gramSupport-launcher\\n{\\n\\tposition: fixed;\"},{\"line\":19,\"text\":\"}\\n\\n.gramSupport-messageMeta\\n{\\n\\tfont-size: 12px;\"},{\"line\":26,\"text\":\"}\\n\\n.gramSupport-message--internal\\n{\\n\\tborder-left: 4px solid currentColor;\"},{\"line\":34,\"text\":\"@media (max-width: 650px)\\n{\\n\\t.gramSupport-launcher\\n\\t{\\n\\t\\tright: 12px;\"},{\"line\":42,\"text\":\"}\\n\\n.gramSupport-messageBody\\n{\\n\\twhite-space: pre-wrap;\"},{\"line\":48,\"text\":\"}\\n\\n/* gram-support-footer-center-v1 */\\n.gramSupport-launcher\\n{\"},{\"line\":49,\"text\":\"\\n/* gram-support-footer-center-v1 */\\n.gramSupport-launcher\\n{\\n position: static;\"},{\"line\":63,\"text\":\"}\\n\\n.gramSupport-launcher .button.button--primary\\n{\\n position: relative;\"},{\"line\":83,\"text\":\" box-shadow: inset 0 0 0 1px rgba(255, 246, 210, .12), 0 0 22px rgba(220, 166, 49, .38), 0 9px 26px rgba(0, 0, 0, .30);\\n text-shadow: 0 1px 1px rgba(0, 0, 0, .45);\\n animation: gramSupportFooterShimmer 4.8s ease-in-out infinite;\\n transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;\\n}\"},{\"line\":87,\"text\":\"}\\n\\n.gramSupport-launcher .button.button--primary:hover,\\n.gramSupport-launcher .button.button--primary:focus-visible\\n{\"}]}],\"screenshot_requirement\":{\"target\":\"button centered in gap between left footer block and right footer links\",\"vertical\":\"same baseline/visual center as footer text\",\"source_image\":\"user screenshot\"}}\nGRAM513R3R1_DECISION=HOLD_PARTIAL_STATE_AFTER_513R3\nHOMELAB_RESULT_CONTRACT={\"version\":1,\"command_id\":\"SUPPORT-260918-GRAM-XF-CODEVIPE-POST-513R3-RECONCILIATION-513R3R1\",\"status\":\"FAIL\",\"changes_made\":false,\"rollback_started\":false,\"rollback_restored\":null}\n"
}