CHAT_OUTPUT_BEGIN
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
REFERENCE_REGISTER_CHECK=OK
REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66
ERROR_REGISTER_CHECK=OK
ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0
COMMAND_SHA256=3ca37a22b0da8e6d22c78219d49f91b2547ac41d7ab53e10e5c777796298572c
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=e3c96e1bf1de6dcc1679ff9c1930c56dd4df6b908e08d489cebd0b421eeda746
SANITIZED_OUTPUT_SHA256=e3c96e1bf1de6dcc1679ff9c1930c56dd4df6b908e08d489cebd0b421eeda746
OUTPUT_BEGIN
GRAM513R3R1_WRAPPER_BEGIN=true
ERROR_REGISTER_CHECK=OK
REFERENCE_CHECK=OK
AUTHORITY_CHECK_SCOPE=READABILITY_ONLY_INCIDENTS_NOT_CLOSED
GRAM513R3R1_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"}}
GRAM513R3R1_DECISION=HOLD_PARTIAL_STATE_AFTER_513R3
HOMELAB_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}

OUTPUT_END
CHAT_OUTPUT_END
