{"id":344060,"date":"2026-08-13T07:40:18","date_gmt":"2026-08-13T07:40:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/ichipen-page-fix-request\/"},"modified":"2026-08-13T07:40:04","modified_gmt":"2026-08-13T07:40:04","slug":"ichipen-page-fix-request","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/ichipen-page-fix-request\/","author":23536614,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.3.1","stable_tag":"1.3.1","tested":"7.0.4","requires":"6.4","requires_php":"8.1","requires_plugins":null,"header_name":"Ichipen Page Fix Request","header_author":"ichipen","header_description":"Let logged-in staff send a one-click fix request for the page they are viewing - with pasted or captured screenshots and file attachments - delivered by email, POSTed to your own HTTPS endpoint, or opened as a GitHub issue. Submissions are never stored.","assets_banners_color":"27699d","last_updated":"2026-08-13 07:40:04","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/www.ichipen.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":20,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.3.1":{"tag":"1.3.1","author":"ichipen","date":"2026-08-13 07:40:04"}},"upgrade_notice":{"1.3.1":"<p>All globals move to the <code>ichipafi<\/code> prefix, so <code>pfr_*<\/code> filters must be renamed in any custom integration. Adds an &quot;External services&quot; section to the readme.<\/p>","1.3.0":"<p>Adds GitHub issue delivery, page screenshot capture, GitHub image embedding and file attachments. Delivery becomes per-channel toggles; existing email\/API setups keep working unchanged.<\/p>","1.2.0":"<p>Adds inline screenshot pasting into the request body, embedded inline in the email and included in the API payload. Images are never stored.<\/p>","1.1.0":"<p>Adds optional API delivery to your own HTTPS endpoint. Email remains the default; no external calls unless you configure it.<\/p>","1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3644527,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3644527,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3644527,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3644527,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.3.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3644527,"resolution":"1","location":"assets","locale":"","width":2560,"height":1600},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3644527,"resolution":"2","location":"assets","locale":"","width":2560,"height":1600},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3644527,"resolution":"3","location":"assets","locale":"","width":2560,"height":3312}},"screenshots":{"1":"The floating \"Request a fix for this page\" button on the front end.","2":"The request panel with type selector and details field.","3":"The Settings &gt; Fix Request configuration screen."}},"plugin_section":[],"plugin_tags":[267,108,275469,732,11420],"plugin_category":[41,42,52],"plugin_contributors":[275470],"plugin_business_model":[],"class_list":["post-344060","plugin","type-plugin","status-publish","hentry","plugin_tags-email","plugin_tags-feedback","plugin_tags-fix-request","plugin_tags-maintenance","plugin_tags-staff","plugin_category-communication","plugin_category-contact-forms","plugin_category-performance","plugin_contributors-ichipen","plugin_committers-ichipen"],"banners":{"banner":"https:\/\/ps.w.org\/ichipen-page-fix-request\/assets\/banner-772x250.png?rev=3644527","banner_2x":"https:\/\/ps.w.org\/ichipen-page-fix-request\/assets\/banner-1544x500.png?rev=3644527","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/ichipen-page-fix-request\/assets\/icon-128x128.png?rev=3644527","icon_2x":"https:\/\/ps.w.org\/ichipen-page-fix-request\/assets\/icon-256x256.png?rev=3644527","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/ichipen-page-fix-request\/assets\/screenshot-1.png?rev=3644527","caption":"The floating \"Request a fix for this page\" button on the front end."},{"src":"https:\/\/ps.w.org\/ichipen-page-fix-request\/assets\/screenshot-2.png?rev=3644527","caption":"The request panel with type selector and details field."},{"src":"https:\/\/ps.w.org\/ichipen-page-fix-request\/assets\/screenshot-3.png?rev=3644527","caption":"The Settings &gt; Fix Request configuration screen."}],"raw_content":"<!--section=description-->\n<p>Ichipen Page Fix Request adds a small floating button to the front end for logged-in\nstaff. With one click they can open a panel and report a problem with the page\nthey are currently viewing. By default the request is emailed to a configured\naddress and no third-party service is contacted. Submissions are never stored\n(only a single settings option is kept).<\/p>\n\n<p>It is designed to consolidate scattered request channels (LINE, phone, chat)\ninto a single, low-cost flow.<\/p>\n\n<p><strong>Sending to your own system (API delivery)<\/strong><\/p>\n\n<p>Instead of (or in addition to) email, you can have each submission POSTed as JSON\nto an HTTPS endpoint that you configure under Settings &gt; Fix Request. This is\noptional and off by default - no data leaves the site unless you set it up. When\nenabled, the request is sent with an <code>Authorization: Bearer<\/code> token you provide,\nand the JSON includes the request type and message, the page title and URL, the\nsubmitter's WordPress user ID, display name and email, the site name and URL, and a timestamp. The\ndata goes only to the endpoint you configure and to no other third party.<\/p>\n\n<p><strong>Opening a GitHub issue (GitHub delivery)<\/strong><\/p>\n\n<p>You can also have each submission opened as an issue in a GitHub repository you\nconfigure under Settings &gt; Fix Request. This is optional and off by default. The\nissue title is built from the request type and page title; the Markdown body\nholds the same details as the email (type, page, URL, submitter and date) plus\nthe message, and pasted screenshots are shown as <code>[Image N]<\/code> placeholders.\nAuthenticate with a <strong>fine-grained personal access token<\/strong> limited to the target\nrepository with <strong>read and write access to Issues<\/strong>; the token is stored in its\nown non-autoloaded option, separate from the other settings. Requests go only to\n    api.github.com over HTTPS.<\/p>\n\n<p>Optionally, you can also embed the pasted images in the issue. When enabled, each\nimage is committed to a dedicated asset branch (default <code>fix-request-assets<\/code>,\ncreated automatically if missing) via the GitHub Contents API and shown in the\nbody - inline for public repositories, or as a link for private ones (whose raw\nURLs do not render for other members). Those <code>raw.githubusercontent.com<\/code> \/\n    github.com addresses are only written into the issue text as Markdown links;\nyour WordPress site never loads anything from them. This requires the token to\nadditionally have <strong>read and write access to Contents<\/strong>. If an upload fails the\nissue is still created, with the affected image degraded to a text note.<\/p>\n\n<p><strong>Privacy note:<\/strong> with image embedding enabled, screenshots are committed to your\nrepository and therefore stored permanently in its Git history. Leave embedding\noff (the default) if you do not want that.<\/p>\n\n<p><strong>Design principles<\/strong><\/p>\n\n<ul>\n<li>Zero third-party dependencies (no CMB2, ACF, jQuery or external APIs).<\/li>\n<li>No submission data is stored (only a single settings option is saved).<\/li>\n<li>Privacy friendly by default: nothing leaves the site unless you enable API delivery to your own endpoint.<\/li>\n<li>Drop-in: works immediately. If no recipient is set, it falls back to the site admin email.<\/li>\n<li>Everything is overridable with filters, so a host platform can integrate it with its own settings layer.<\/li>\n<\/ul>\n\n<p><strong>Features<\/strong><\/p>\n\n<ul>\n<li>Floating \"Request a fix\" button shown only to permitted, logged-in users on the front end. Nothing (HTML or assets) is output for everyone else.<\/li>\n<li>Panel with a request type selector, a details field, a send button and a status indicator. Opens\/closes on click and closes on Esc.<\/li>\n<li>Paste screenshots from the clipboard (Ctrl\/Cmd + V) straight into the details field; they appear inline where you paste them. Images are embedded inline in the email (and included in the API payload) and never stored on the server or in the media library.<\/li>\n<li>The current page URL and title are attached automatically.<\/li>\n<li>The email contains: type, page (title), URL, requester name and email, timestamp and the request details. Reply-To is set to the requester. When screenshots are pasted, the email is sent as HTML with the images embedded inline (with a plain-text alternative).<\/li>\n<li>Optional API delivery: POST each submission as JSON (with a bearer token) to your own HTTPS endpoint - email only, API only, or both. The payload includes the plain-text message, an HTML version (message_html) and any pasted images base64-encoded under images[] (each images[].cid matches the cid: reference in message_html).<\/li>\n<li>Optional GitHub delivery: open each submission as an issue in a repository you configure (title, Markdown body and optional labels), using a fine-grained access token with Issues write access. Independent of email and API - enable any combination. Pasted images can optionally be committed to an asset branch (Contents API) and embedded in the issue - inline for public repos, linked for private ones.<\/li>\n<li>Optional file attachments: attach non-image files (PDF, log, CSV, JSON, ZIP, ... by default) alongside the message. Files are validated by extension AND real MIME type (a renamed .php\/.svg\/.exe is rejected), held in memory only, and delivered as email attachments, base64 in the API payload (files[]), and - when image embedding is on - committed to the GitHub asset branch and linked from the issue. Default limit 5 files, 5 MB each (configurable via ichipafi_file_limits).<\/li>\n<li>Per-user rate limiting to prevent rapid repeat submissions (15 seconds by default).<\/li>\n<li>\"Settings\" link on the Plugins screen for quick access to the configuration page.<\/li>\n<\/ul>\n\n<p><strong>Filters for host integration<\/strong><\/p>\n\n<ul>\n<li><code>ichipafi_recipient<\/code> - override the notification recipient.<\/li>\n<li><code>ichipafi_can_display<\/code> - override whether the widget is shown\/submission is allowed (bool).<\/li>\n<li><code>ichipafi_categories<\/code> - override the request type list (key =&gt; label array).<\/li>\n<li><code>ichipafi_mail_subject<\/code> - override the email subject.<\/li>\n<li><code>ichipafi_mail_body<\/code> - override the plain-text email body (also used as the HTML email's plain-text alternative).<\/li>\n<li><code>ichipafi_mail_html_body<\/code> - override the HTML email body (used when screenshots are attached).<\/li>\n<li><code>ichipafi_mail_headers<\/code> - override the email headers.<\/li>\n<li><code>ichipafi_image_limits<\/code> - override the inline-image limits (max count, max bytes, allowed MIME types); set max_count to 0 to disable image pasting.<\/li>\n<li><code>ichipafi_file_limits<\/code> - override the file-attachment limits (max count, max bytes, and the extension =&gt; accepted MIME types whitelist); set max_count to 0 to disable attachments.<\/li>\n<li><code>ichipafi_delivery<\/code> - override the delivery method ('email', 'api' or 'both').<\/li>\n<li><code>ichipafi_api_url<\/code> - override the API endpoint URL.<\/li>\n<li><code>ichipafi_api_token<\/code> - override the API bearer token.<\/li>\n<li><code>ichipafi_api_headers<\/code> - override the API request headers.<\/li>\n<li><code>ichipafi_api_payload<\/code> - override the JSON payload sent to the API.<\/li>\n<li><code>ichipafi_api_args<\/code> - override the wp_remote_post() arguments.<\/li>\n<li><code>ichipafi_api_success<\/code> - override whether an API response counts as success.<\/li>\n<li><code>ichipafi_github_owner<\/code> \/ <code>ichipafi_github_repo<\/code> - override the GitHub repository owner\/name.<\/li>\n<li><code>ichipafi_github_token<\/code> - override the GitHub access token.<\/li>\n<li><code>ichipafi_github_labels<\/code> - override the labels applied to created issues.<\/li>\n<li><code>ichipafi_github_attach_enabled<\/code> - override whether images are committed and embedded (bool).<\/li>\n<li><code>ichipafi_github_branch<\/code> - override the branch that committed assets are pushed to.<\/li>\n<li><code>ichipafi_github_body<\/code> - override the Markdown issue body.<\/li>\n<li><code>ichipafi_github_payload<\/code> - override the issue payload (title\/body\/labels) sent to GitHub.<\/li>\n<li><code>ichipafi_github_headers<\/code> - override the GitHub request headers.<\/li>\n<li><code>ichipafi_github_args<\/code> - override the wp_remote_post() arguments.<\/li>\n<li><code>ichipafi_github_success<\/code> - override whether a GitHub response counts as success.<\/li>\n<li><code>ichipafi_rate_limit<\/code> - override the rate-limit window in seconds.<\/li>\n<\/ul>\n\n<p>Example: supply the recipient from your own settings system.<\/p>\n\n<pre><code>add_filter( 'ichipafi_recipient', function () { return 'team@example.com'; } );\n<\/code><\/pre>\n\n<h3>External services<\/h3>\n\n<p>With its default configuration this plugin contacts no external service at all:\nrequests are delivered with WordPress' own <code>wp_mail()<\/code>. All CSS, JavaScript and\nimages used by the plugin ship inside the plugin folder; nothing is loaded from a\nremote server. The two optional delivery channels below are off until a site\nadministrator turns them on, and each one is described here so you know exactly\nwhat is sent, when, and to whom.<\/p>\n\n<p><strong>1. GitHub (optional - only when \"GitHub\" delivery is enabled)<\/strong><\/p>\n\n<p>What it is: GitHub is a source-code hosting service operated by GitHub, Inc. This\nplugin uses its REST API so that each fix request can be filed as an issue in a\nrepository that you own and configure under Settings &gt; Fix Request. An account\nwith GitHub is required to use this channel: you must own or have write access to\nthe target repository and create a fine-grained personal access token for it.\nNothing is sent to GitHub unless you enable the GitHub channel and supply both a\nrepository and that token.<\/p>\n\n<p>Where it connects: <code>https:\/\/api.github.com<\/code> (the REST API). No other GitHub host\nis contacted by your site. When image embedding is enabled, the created issue\ncontains links to <code>https:\/\/raw.githubusercontent.com<\/code> or <code>https:\/\/github.com<\/code>;\nthose are addresses inside the issue text that GitHub itself resolves when a\nperson views the issue - your WordPress site never requests them.<\/p>\n\n<p>What is sent, and when: each time a permitted logged-in user submits a fix\nrequest while the GitHub channel is enabled, your site sends to\n    api.github.com the request type, the title and URL of the page being reported,\nthe submitter's WordPress display name and email address, the submission date and\ntime, and the message text. Before creating the issue the plugin also reads the\nrepository's visibility and default branch, and reads or creates the asset\nbranch. If - and only if - you additionally tick \"Commit pasted images to the\nrepository and embed them in the issue\", any pasted screenshots and attached\nfiles are also uploaded to that repository through the GitHub Contents API, which\nstores them permanently in the repository's Git history.<\/p>\n\n<p>Service terms: GitHub Terms of Service -\nhttps:\/\/docs.github.com\/en\/site-policy\/github-terms\/github-terms-of-service -\nand GitHub Privacy Statement -\nhttps:\/\/docs.github.com\/en\/site-policy\/privacy-policies\/github-privacy-statement<\/p>\n\n<p><strong>2. Your own HTTPS endpoint (optional - only when \"API\" delivery is enabled)<\/strong><\/p>\n\n<p>What it is: not a third-party service chosen by this plugin, but any HTTPS\nendpoint that you enter yourself under Settings &gt; Fix Request - typically your own\nhelpdesk, ticket system or internal API. Nothing is sent unless you enable the API\nchannel and enter an endpoint URL.<\/p>\n\n<p>What is sent, and when: each time a permitted logged-in user submits a fix\nrequest while the API channel is enabled, the submission is POSTed as JSON to\nexactly the URL you configured (and to no other host), with the bearer token you\nsupply in an <code>Authorization<\/code> header. The payload contains the request type, the\nmessage in plain text and HTML, the page title and URL, the submitter's WordPress\nuser ID, display name and email address, the site name and URL, a timestamp, and\nany pasted screenshots and attached files base64-encoded.<\/p>\n\n<p>Service terms: because you choose the destination, the applicable terms and\nprivacy policy are those of the operator of that endpoint.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>ichipen-page-fix-request<\/code> folder to <code>\/wp-content\/plugins\/<\/code>, or install the plugin through the Plugins screen.<\/li>\n<li>Activate the plugin through the \"Plugins\" screen in WordPress.<\/li>\n<li>Go to <strong>Settings &gt; Fix Request<\/strong> to enable one or more delivery channels (email, API and\/or GitHub), set the recipient email, API endpoint or GitHub repository, the button label, audience and request types.<\/li>\n<li>If you do not set a recipient, requests are sent to the site admin email automatically.<\/li>\n<li>For GitHub delivery, enter the repository as <code>owner\/repo<\/code>, optionally add labels, and paste a fine-grained personal access token scoped to that repository with read and write access to Issues. To also embed pasted images, enable \"Commit pasted images...\", set an asset branch, and grant the token read and write access to Contents (images are then stored permanently in the repository's Git history).<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"who%20can%20see%20the%20button%3F\"><h3>Who can see the button?<\/h3><\/dt>\n<dd><p>Only logged-in users who match the configured audience. By default every\nlogged-in user can see it; you can restrict it to selected roles. Logged-out\nvisitors never receive any HTML or assets.<\/p><\/dd>\n<dt id=\"where%20are%20the%20requests%20stored%3F\"><h3>Where are the requests stored?<\/h3><\/dt>\n<dd><p>Submissions are not stored at all. Each request is delivered immediately - by\nemail via <code>wp_mail()<\/code> and\/or POSTed to the HTTPS endpoint you configure\n(depending on your delivery setting) - and is then discarded. Pasted screenshots\nand file attachments are held in memory only for the duration of the request and\nare never written to disk or added to the media library. The plugin creates no custom database tables;\nit only saves its own settings, which are removed on uninstall.<\/p><\/dd>\n<dt id=\"what%20personal%20data%20does%20it%20handle%3F\"><h3>What personal data does it handle?<\/h3><\/dt>\n<dd><p>When a logged-in user submits a request, their display name and account email are\nincluded in the notification email (set as Reply-To), together with the page URL,\ntitle and timestamp. This is sent only to the configured recipient through your\nsite's own mailer (<code>wp_mail()<\/code>), or - if you enable API delivery - to the HTTPS\nendpoint you configure. The plugin never stores this data.<\/p><\/dd>\n<dt id=\"can%20i%20change%20where%20the%20emails%20go%20without%20using%20the%20settings%20screen%3F\"><h3>Can I change where the emails go without using the settings screen?<\/h3><\/dt>\n<dd><p>Yes. Add a filter on <code>ichipafi_recipient<\/code> (and\/or the other <code>ichipafi_*<\/code> filters) from\nyour theme or a host plugin to integrate with your own configuration system.<\/p><\/dd>\n<dt id=\"is%20any%20data%20sent%20to%20an%20external%20service%3F\"><h3>Is any data sent to an external service?<\/h3><\/dt>\n<dd><p>Not by default - the plugin uses WordPress' own <code>wp_mail()<\/code> to send the\nnotification, and it loads no remote scripts, styles or images. Two optional\nchannels can send data out once you turn them on: API delivery POSTs each\nsubmission to the HTTPS endpoint you configure (and to no other host), and GitHub\ndelivery files each submission as an issue on <code>api.github.com<\/code>. Both are described\nin full, with the relevant terms of service and privacy policy, under \"External\nservices\" above.<\/p><\/dd>\n<dt id=\"what%20files%20can%20be%20attached%2C%20and%20are%20there%20size%20limits%3F\"><h3>What files can be attached, and are there size limits?<\/h3><\/dt>\n<dd><p>By default up to 5 files of 5 MB each, with extensions pdf, txt, log, md, csv,\njson and zip. Executable or scriptable types (.php, .phtml, .svg, .exe, ...) are\nrejected, and every file's real content is checked against its extension so a\nrenamed file is refused. Attachments are held in memory and never written to disk\nor the media library. Because they are uploaded through admin-ajax.php, the total\nrequest must also fit within your server's PHP <code>upload_max_filesize<\/code> and\n    post_max_size limits - raise those if you increase the per-file limit via the\n    ichipafi_file_limits filter.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.3.1<\/h4>\n\n<ul>\n<li>Rename every global to the unique <code>ichipafi<\/code> prefix (functions, classes, constants, options, transients, the AJAX action and nonce, script\/style handles and the localised script object). The filters documented above are now <code>ichipafi_recipient<\/code>, <code>ichipafi_can_display<\/code> and so on; the old <code>pfr_*<\/code> names are gone.<\/li>\n<li>Document the external services the optional delivery channels use, with links to their terms of service and privacy policy - see \"External services\".<\/li>\n<li>Stop bundling translation files. Translations are provided through translate.wordpress.org instead.<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>Delivery is now a set of independent channel toggles (Email, API, GitHub) instead of a single method, so any combination can be enabled. Existing installs and the ichipafi_delivery filter keep working unchanged.<\/li>\n<li>Add GitHub delivery: open each submission as an issue in a repository you configure (title, Markdown body, optional labels), authenticated with a fine-grained access token. New filters: ichipafi_github_owner, ichipafi_github_repo, ichipafi_github_token, ichipafi_github_labels, ichipafi_github_body, ichipafi_github_payload, ichipafi_github_headers, ichipafi_github_args, ichipafi_github_success.<\/li>\n<li>Add optional GitHub image embedding: pasted images are committed to an asset branch via the Contents API and shown in the issue - inline for public repositories, linked for private ones - with graceful fallback to a text note on failure. Images committed this way are stored permanently in the repository's Git history. New filters: ichipafi_github_attach_enabled, ichipafi_github_branch.<\/li>\n<li>Add \"Capture this page\": grab the current tab with the browser's getDisplayMedia() and attach it as a screenshot (no external libraries). The plugin's own panel is excluded from the shot; unsupported browsers simply hide the button.<\/li>\n<li>Add file attachments: attach non-image files (PDF, log, CSV, JSON, ZIP, ... by default) validated by extension and real MIME type, delivered as email attachments, base64 in the API payload (files[]), and GitHub commit links. New filter: ichipafi_file_limits.<\/li>\n<li>New per-channel delivery action: ichipafi_delivery_result, and channel filters ichipafi_channels, ichipafi_available_channels.<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Add inline screenshot pasting: paste images from the clipboard (Ctrl\/Cmd + V) directly into the details field. Images appear inline where pasted, are embedded inline in the email (HTML with a plain-text alternative) and included in the API payload as base64. Images are never stored on the server or in the media library.<\/li>\n<li>API payload additions: message_html and an images[] array (base64; each images[].cid matches the cid: reference in message_html). The existing fields are unchanged.<\/li>\n<li>New filters: ichipafi_mail_html_body, ichipafi_image_limits.<\/li>\n<li>Limits: up to 3 images, 2 MB each, PNG\/JPEG\/GIF\/WebP (configurable via ichipafi_image_limits).<\/li>\n<li>Add a \"Settings\" link to the plugin's row on the Plugins screen.<\/li>\n<li>Fix: saving the settings could replace the entire request-types list with a single \"Array\" entry. The settings sanitizer is now idempotent (WordPress runs it twice when the option is first created), and the request-types list falls back to the defaults if it is ever stored empty.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Add optional API delivery: POST submissions as JSON (Authorization: Bearer) to your own HTTPS endpoint, selectable as email, API or both.<\/li>\n<li>New filters: ichipafi_delivery, ichipafi_api_url, ichipafi_api_token, ichipafi_api_headers, ichipafi_api_payload, ichipafi_api_args, ichipafi_api_success.<\/li>\n<li>Remove the manual load_plugin_textdomain() call (translations load automatically on WordPress.org).<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Let logged-in staff report page problems in one click - by email, to your HTTPS endpoint, or as a GitHub issue. Nothing is stored.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/344060","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=344060"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/ichipen"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=344060"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=344060"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=344060"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=344060"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=344060"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=344060"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}