=== Wolfiz Visual Feedback ===
Contributors: wolfiz215
Donate link: https://wolfiz.com/
Tags: visual feedback, bug reporting, website feedback, annotations, collaboration
Requires at least: 6.0
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 1.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Collect visual website feedback directly on WordPress pages using comments, pins, screenshots, replies, attachments, and an organized admin inbox.

== Description ==

Wolfiz Visual Feedback is a visual feedback and bug reporting plugin for WordPress that helps website owners, developers, designers, reviewers, and clients communicate directly on website pages.

Authorized users can open a page, click the feedback button, select a location on the page, and submit a visual comment. Each comment is connected to its location on the page and can include an automatically captured screenshot and an optional image attachment.

Feedback is managed from a dedicated WordPress admin inbox where team members can review comments, reply to feedback, update status and priority, and remove completed feedback.

= Key Features =

* Add visual comments directly on website pages.
* Display numbered feedback pins at the selected page location.
* Automatically capture the visible browser area when feedback is submitted.
* Add optional JPG, JPEG, PNG, or WebP image attachments.
* Reply to feedback from both the frontend and WordPress admin area.
* Manage all feedback from a dedicated admin inbox.
* Update feedback status including Open, In Progress, Resolved, and Closed.
* Assign feedback priority for easier issue management.
* Display reporter information, timestamps, page details, screenshots, attachments, and replies.
* Automatically remove stored screenshots when related feedback is deleted.
* Support dedicated feedback permissions for authorized WordPress users.
* Store feedback data locally within the WordPress installation.

= Visual Feedback =

Wolfiz Visual Feedback allows authorized users to place feedback directly on a website page.

When a user selects a location, the plugin stores the page information and annotation coordinates so the feedback pin can be displayed again when the page is revisited.

= Automatic Screenshots =

When feedback is submitted, Wolfiz Visual Feedback can automatically capture the current browser viewport.

Automatic screenshots are stored inside the WordPress uploads directory and are associated with the relevant feedback record.

They are not added to the WordPress Media Library.

= Image Attachments =

Users can optionally attach an image while submitting feedback.

Supported image formats include:

* JPG
* JPEG
* PNG
* WebP

Manual image attachments are stored using the WordPress Media Library.

= Replies =

Feedback conversations can include replies from authorized users.

Replies can be viewed with the original feedback and are available from both the frontend interface and the WordPress admin inbox.

= Admin Inbox =

The Wolfiz Visual Feedback admin inbox provides a central location for managing website feedback.

Administrators can review feedback details, screenshots, attachments, replies, status, priority, reporter information, and the page where the feedback was submitted.

== Installation ==

1. Upload the `wolfiz-visual-feedback` plugin folder to the `/wp-content/plugins/` directory, or install the plugin using the WordPress plugin uploader.
2. Activate Wolfiz Visual Feedback from the WordPress Plugins screen.
3. Open the Wolfiz Visual Feedback section from the WordPress admin menu.
4. Administrators can use frontend comments automatically. Activation also creates a Comment Reviewer role; assign that role to reviewers through the WordPress Users screen. The plugin does not currently provide a settings or permissions configuration form.
5. Visit the frontend of the website while logged in as an authorized user.
6. Use the feedback button to submit visual comments.

== Bundled Library ==

html2canvas 1.4.1 by Niklas von Hertzen is bundled locally at public/js/vendor/html2canvas.min.js to capture the visible page in the user's browser. It is distributed under the MIT license; the full notice is included in public/js/vendor/html2canvas.LICENSE.txt. Existing notices for code bundled within the library are retained.

Readable source: https://github.com/niklasvh/html2canvas/tree/v1.4.1/src
Source and build configuration: https://github.com/niklasvh/html2canvas/tree/v1.4.1
Build scripts and dependencies: https://github.com/niklasvh/html2canvas/blob/v1.4.1/package.json

To build the upstream library, clone https://github.com/niklasvh/html2canvas.git, check out tag v1.4.1, run npm install, then npm run build. The upstream build produces dist/html2canvas.min.js using TypeScript, Rollup, and UglifyJS. These tools are needed only to build the library, not to use this plugin.

The plugin loads the bundled file locally. It does not download html2canvas from a CDN at runtime.

== External Services ==

= Gravatar =

Wolfiz Visual Feedback may use the Gravatar service to display profile avatars for WordPress users in the feedback interface and admin inbox.

When an avatar is requested, WordPress may send a hashed version of the user's email address and related request information to Gravatar in order to retrieve the associated profile image.

Gravatar is operated by Automattic.

Terms of Service: https://automattic.com/terms-of-service/
Privacy Policy: https://automattic.com/privacy/

== Frequently Asked Questions ==

= What does Wolfiz Visual Feedback do? =

Wolfiz Visual Feedback allows authorized WordPress users to submit visual feedback directly on website pages using positioned comments, screenshots, attachments, and replies.

= Are screenshots uploaded to the WordPress Media Library? =

No. Automatic feedback screenshots are stored separately inside the WordPress uploads directory.

= Are manual image attachments stored in the Media Library? =

Yes. Images manually attached to feedback are stored using the WordPress Media Library.

= Which image formats are supported for attachments? =

Wolfiz Visual Feedback supports JPG, JPEG, PNG, and WebP image attachments.

= Can users reply to feedback? =

Yes. Authorized users can reply to feedback and continue the discussion around a reported issue.

= Can feedback status be changed? =

Yes. Feedback can be organized using statuses such as Open, In Progress, Resolved, and Closed.

= Can feedback priority be managed? =

Yes. Feedback items can be assigned a priority to help teams organize and review issues.

= What happens when feedback is deleted? =

The feedback record and its related replies are removed. Associated automatic screenshot files are also deleted. Any associated manual Media Library attachment is removed according to the plugin's deletion process.

= Does Wolfiz Visual Feedback require an external service to store or manage feedback? =

No. Feedback data, screenshots, attachments, and replies are stored and managed within the WordPress installation.

The plugin may use Gravatar, an external service operated by Automattic, only to display user profile avatars. Gravatar is not required for storing or managing feedback.

== Screenshots ==

1. Frontend visual feedback button and page annotation interface.
2. Feedback composer with visual comment and attachment options.
3. Numbered feedback pins displayed on the website page.
4. Feedback conversation with replies.
5. Wolfiz Visual Feedback admin inbox.
6. Detailed feedback view with automatic screenshot and user attachment.
7. Feedback status and priority management.

== Changelog ==

= 1.0.0 =
* Initial public release.
* Added frontend visual feedback and page annotations.
* Added persistent numbered feedback pins.
* Added automatic viewport screenshot capture.
* Added optional image attachments.
* Added frontend and admin replies.
* Added dedicated WordPress admin inbox.
* Added feedback status and priority management.
* Added authorized user capability support.
* Added screenshot and attachment cleanup when feedback is deleted.

== Upgrade Notice ==

= 1.0.0 =
Initial release of Wolfiz Visual Feedback.