=== Reviso – Client Feedback & Approvals ===
Contributors: benelwoods
Tags: client feedback, website feedback, visual feedback, annotations, approvals
Requires at least: 6.4
Tested up to: 7.1
Requires PHP: 8.1
Stable tag: 1.6.3
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Visual client & website feedback for WordPress: pin comments, suggest edits, collect approvals & sign-off. Bricks, Elementor, Gutenberg.

== Description ==

**Reviso** turns WordPress into a true client-collaboration tool. Reviewers (clients, teammates, stakeholders) leave pinned feedback directly on your live pages, no logins, no email chains, no PDF round-trips. It's **native to the Bricks and Elementor builders and the Gutenberg block editor**, and works on any WordPress theme or site.

Reviso is a visual feedback and website proofing tool for WordPress: clients annotate any element with a pinned comment, you action it inside your builder, and you close each round with a recorded sign-off, which cuts revision rounds.

For wording changes, reviewers can go further than commenting. **Suggest mode** is tracked changes for websites: they propose the new wording in place on the live page, and you accept or reject it in one click, so you never have to work out what "can we reword this?" actually meant.

Because every pin captures an automatic screenshot plus the page, browser, operating system and screen size, the same review link doubles as a lightweight bug report and QA channel for launch snags, without sending anything to a third-party service.

= What's in the free version =

* **Pinned comments** on any element: desktop, tablet, or mobile
* **Threaded replies** so a back-and-forth doesn't sprawl across messages
* **Status tracking**: open, in progress, resolved, with filters
* **Single-page review links**: share one page at a time with anyone, no login required
* **Works in maintenance & coming-soon mode:** review links open the real page for invited clients even while Bricks or Elementor maintenance mode is on, so you can collect feedback before launch without taking the site public
* **Admin-bar quick-review**: spin up a review for the current page (or whole site, Pro) from the Reviso icon on the front-end admin bar
* **Client approvals**: reviewers can mark a page as approved (own admin tab, Reviso → Approvals)
* **Email notifications** when someone leaves a comment, replies, or approves a page, with optional burst-coalescing so a flurry of comments arrives as a single email
* **Builder-native UI**: the comment overlay adopts the look of Bricks, Elementor or the block editor so it never feels bolted on
* **Element-anchored pins** that survive page edits (three fallback strategies: DOM, content, position)
* **Suggest mode**: reviewers propose replacement wording directly on the page, like a tracked change, and you accept or reject each one (applying an accepted edit inside Bricks is Pro)
* **Internal comments**: pin private team-only notes on any page, including archives, listings and search results, and share a thread with the client only when you choose
* **Emoji reactions** on any comment, so "yes, agreed" doesn't need a whole reply
* **Optional reviewer email**: clients can leave feedback with just a name
* **Feedback dashboard**: every pinned comment across the whole site in one list
* **Automatic screenshots** with page, browser, OS and viewport context attached to each pin
* **Cache-proof review links**: reviewer sessions bypass W3 Total Cache, WP Rocket, LiteSpeed, WP Super Cache, Cache Enabler and SiteGround Optimizer, so a share link never shows a stale page
* **Review drafts and unpublished pages** through a private link before anything goes live
* **Close on finish**: a review can stop taking new comments once the client marks it done, with one-click reopen

= Available with the Pro addon =

[Reviso Pro](https://getreviso.io/pricing/?utm_source=wporg&utm_medium=readme&utm_campaign=plugin_listing) extends the free plugin with:

* **Multi-page Reviews**: bundle a whole site (or any subset of items) into one shareable Review, covering any post type and templates
* **Email-restricted Reviews**: each invitee gets a private magic link, with four roles (Viewer / Reviewer / Approver / Lead)
* **Apply suggested edits in Bricks**: accept a reviewer's proposed wording and Reviso writes it to the page, taking a revertable snapshot first and purging common page caches so it shows immediately
* **AI**: automatic comment triage (bug / design / copy / content) and AI-summarised feedback rollups
* **Reviso Cloud (Beta)**: manage feedback and approvals across all your sites from one dashboard, and optionally connect your own AI assistant to help action it
* **White-label**: your agency branding on the review portal, with light + dark logos that auto-pick the right variant for each surface (portal, builder splash, email header)
* **Integrations**: Slack, Discord, and generic webhooks (Zapier/Make → ClickUp, Trello, Jira, …)
* **Email digests**: optional weekly summaries
* **Advanced notifications**: multi-recipient delivery, From/Reply-To control, printable approval certificates
* **Audit log** + per-reviewer revoke
* **Concurrent reviews** with configurable expiry, including a no-end-date option

The Pro addon requires this free plugin to be installed.

= Privacy & data =

Reviso stores comment data **on your own WordPress site**. We don't see your reviewers' feedback unless you opt in to Reviso Cloud's AI features (Beta), which relay the items the assistant acts on to getreviso.io (see External services below). Optional anonymous telemetry (off by default) is opt-in. Full details in our [privacy policy](https://getreviso.io/privacy-policy/).

= External services =

This plugin can connect to external services run by us (Reviso, getreviso.io). Each is opt-in and described below.

**Anonymous usage telemetry (opt-in).** When, and only when, you switch telemetry on in Settings → Reviso, the plugin sends a small weekly ping to `https://getreviso.io`. It contains version numbers, which features are enabled, and a random install ID, and never contains your pages, your reviewers' comments, email addresses, or any personal data. If you installed Reviso by searching inside your WordPress admin, it also includes the search phrase you used (for example "client feedback"), so we can see how people find the plugin; it is recorded once at activation, capped at 60 characters, and is blank if you activated Reviso from your plugins list. It is used to prioritise fixes and features. You can turn it off again at any time, which stops all pings. Terms: https://getreviso.io/terms-of-service/ , Privacy policy: https://getreviso.io/privacy-policy/

**Reviso Cloud (opt-in, Beta).** An optional hosted service that connects your site to a Reviso Cloud account so you can manage feedback across all your sites from one dashboard and, in Beta, let an AI assistant you authorise help action that feedback. It does nothing unless an administrator connects the site under Settings → Reviso → Reviso Cloud, and you can disconnect at any time.

* **Baseline sync.** While connected, the site sends usage metadata to `https://getreviso.io`: your site name and address, the account email, your licence tier, and review titles and counts. This alone never sends your feedback content, screenshots, or reviewer details.
* **AI assistant (Beta).** If you use the Reviso Cloud AI tools on a connected site, the specific comments, screenshots, page structure, and reviewer names for the items the assistant reads are sent to `https://getreviso.io` and relayed to the AI agent you connect; with your permission the agent can also write changes back (post replies, resolve comments, edit page content). Only what the assistant acts on is transmitted, and only while you use it.

Terms: https://getreviso.io/terms-of-service/ , Privacy policy: https://getreviso.io/privacy-policy/

== Installation ==

1. Upload the plugin or install from the WordPress.org repository.
2. Activate **Reviso – Client Feedback & Approvals**.
3. Open any page in Bricks, Elementor or the block editor, and the Reviso comment overlay appears (bottom-right in the builder).
4. (Optional) Install [Reviso Pro](https://getreviso.io/pricing/?utm_source=wporg&utm_medium=readme&utm_campaign=plugin_listing) to unlock multi-page Reviews and the rest of the paid feature set.

== Frequently Asked Questions ==

= Does this require a license key? =

No, the free plugin is fully functional. A license key is only needed if you also install the [Pro addon](https://getreviso.io/pricing/?utm_source=wporg&utm_medium=readme&utm_campaign=plugin_listing).

= Do my reviewers need a WordPress account? =

No. Share a review link and your reviewer comments as themselves. Reviso captures their name and email when they leave their first comment.

= Which page builders does Reviso work with? =

Reviso is native to the Bricks and Elementor builders and the Gutenberg block editor, and it works on any WordPress theme or site. Pins anchor to each builder's elements (Bricks `brxe-*` IDs, Elementor element IDs, Gutenberg block IDs), with content and position fallbacks so they survive page edits.

= Can I share a page while my site is in maintenance or coming-soon mode? =

Yes. A valid review link opens the page for your invited client even while Bricks or Elementor maintenance mode is on, with no login. The site stays hidden from everyone else, and revoked, expired or out-of-scope links still see the maintenance screen.

= Can clients suggest wording changes instead of just commenting? =

Yes. Suggest mode is tracked changes for websites: a reviewer selects the text on the live page and types what it should say instead, and you accept or reject the suggestion in one click. Suggesting is free on unlimited sites; with Pro, accepting an edit applies it to the page in Bricks and takes a revertable snapshot first.

= Can I use Reviso for bug reports and launch QA? =

Yes. Every pinned comment automatically captures a screenshot plus the page URL, browser, operating system and screen size, so a client or tester reporting a broken layout gives you the context you need without a separate bug tracker. Reviews can be set to close once the round is finished, and everything stays in your own database.

= Is Reviso a website proofing tool? =

Yes, for live web pages. Reviewers proof the real page in the browser rather than a PDF or a flattened screenshot, on desktop, tablet or mobile, then approve it with a timestamped record (a PDF sign-off certificate is included in Pro). Reviso proofs live web pages, not static images or print artwork.

= Where is my data stored? =

In your own WordPress database (`wp_reviso_*` tables). Reviso doesn't transmit your feedback anywhere unless you opt in to Reviso Cloud's AI features (Beta), which relay the items the assistant acts on to getreviso.io (see External services). The optional anonymous telemetry ping never contains comment content or PII (only version numbers + feature-enabled flags).

== Screenshots ==

1. Pinned client feedback, native inside the Bricks builder, themed to match.
2. Native in Elementor too, the comment panel adopts Elementor's theme.
3. And native in the Gutenberg block editor.
4. The Feedback dashboard, every comment pinned across your whole site, on any builder, with one-click resolve.
5. Up and running in minutes, pin feedback, share a no-login review link, resolve, and capture a signed sign-off.

== Changelog ==

= 1.6.3 =
* Fix: Show invitee fields when creating email-restricted reviews and reject submissions without a valid invitee.
* Fixed: selected archives stay included when a category becomes empty or a save omits archive selections. Deliberately clearing a selection still works.
* Fixed: archive-only and mixed page/archive reviews now open their full checklist. Single-page review links also work with WordPress's default Plain permalinks.
* Fixed: an error response from the trial service no longer ends an active trial early. The original expiry still applies.
* Fixed: comment pins could pile up in one spot when the thing they pointed at was not on screen (an inactive slide, a closed tab or accordion, or something hidden at that screen size). Pins now stay where you left them.
* Fixed: suggested edits could show no pin and no screenshot, so a suggestion whose text had since moved or changed gave you nothing to go on. Suggestions now capture a screenshot and remember where they were made, the same way comments do.
* Fixed: the feedback panel could end up off screen and out of reach after resizing the browser window, worst of all when minimised. It now moves back into view on its own.
* Fixed: "Accept & apply" refused ordinary text containing a non-breaking space, an ampersand or a curly quote, and told you the original had changed when it had not; it also showed clients confusing builder wording when a suggestion could not be applied automatically. Ordinary sentences now apply, and clients see plain, honest wording instead.
* Fixed: accepting a suggested edit inside the Bricks builder now updates the page you are editing, so saving afterwards can no longer put the old text back.
* Improved: when a suggestion cannot be applied because the text lives in a shared Bricks template, Reviso now names that template instead of saying auto-apply is unavailable.
* Fixed: New text suggestions on unstyled Bricks elements can now be applied.
* Fixed: opening a comment left on mobile or tablet could pin the Bricks canvas at that width without telling Bricks, so its own viewport switcher could not put it back. Reviso now drives Bricks' switcher more reliably, and always hands control back the moment you use it.
* Improved: reply notifications show the conversation, not just the reply, with the new replies marked, and never include your team's internal notes.
* Improved: comment emails now say which part of the page a comment was left on, and open straight on that comment instead of just the page.
* Improved: the "ready for your review" email now counts only the comments your client actually left on that review, not your team's own notes or another review sharing the same page.
* Fixed: comments left on an element with no text and no id (a section, container, image or divider) could show as "Element removed" to your client even though the element was still there. Reviso now falls back to where the element sits on the page.
* Fixed: comments made from inside the builder could disappear from the comment list while their pins still showed on the page, and expanding a thread to read replies could stop new comments arriving until you refreshed. Both now work as expected.
* Fixed: suggesting an edit could strip links and bold text out of the page, either by clicking away without changing anything or by later rejecting the suggestion. The original formatting is now restored.
* Fixed: switching to Browse mode to read the page with feedback still marked on it used to remove every pin. Pins now stay visible in Browse mode.
* Fixed: a temporary outage of our licence server could lock a paying Pro site out of its own reviews. A licence check now only acts on a real answer from the server, not a timeout or an error page.
* Fixed: approval certificates always said "Reviso" in the footer, even on white-labelled sites. They now show your own brand when white label is on.
* Fixed: reverting an approval now puts the page back into review everywhere it appears, and approving a page shared by two clients no longer records your approval on the other client's review.
* Fixed: revoking one quick-share link could log out every other reviewer with an active session on the same page. Revoking a link now only affects reviewers who no longer need it.
* Security: guests can now only read, comment on, reply to and apply suggestions within the review they were actually invited to, including email-restricted reviews.

= 1.6.2 and earlier =


Every earlier release is listed in full at https://getreviso.io/changelog/. This
section keeps the current release only, because wordpress.org limits it to 5,000
characters and would otherwise cut the oldest entries off without saying so.

== Upgrade Notice ==

Older versions: see the full changelog at https://getreviso.io/changelog/?utm_source=wporg&utm_medium=readme&utm_campaign=plugin_listing
