=== Gaemster FormWatch ===
Contributors: gaemster
Tags: contact form, email, monitoring, form submissions, mail log
Requires at least: 5.9
Tested up to: 7.0
Requires PHP: 7.4
Stable tag: 0.2.4
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Catch form and mail failures before they go unnoticed. Privacy-first monitoring for WordPress forms and email, with failure alerts. Free on any number of sites, no account required.

== Description ==

Contact forms fail quietly. A mail setting changes, a host blocks outgoing mail, a plugin update breaks a form, and you only find out when a customer says "I never heard back."

Gaemster FormWatch watches the two places that fail most often and tells you when WordPress reports a problem. It is free, it is not a trial, and you can install it on as many sites as you like. Everything it does runs locally inside your own WordPress site.

**What it does**

* Watches WordPress mail and records when a message could not be handed to your mailer.
* Recognizes form submissions from Contact Form 7, WPForms, Elementor Forms, Gravity Forms, Fluent Forms and Formidable Forms. Tested on real sites with Contact Form 7, WPForms, Fluent Forms and Formidable Forms. Elementor Forms and Gravity Forms are recognized from their documentation and have not been tested yet.
* Emails you when a failure is recorded (at most one email per hour), and shows a notice in your WordPress admin so you still see it if mail is down.
* Keeps a Flight Recorder of recent events, including WordPress, plugin and theme updates, so you can see what changed before something broke.
* Shows a Lead Loss Risk status based on the last 7 days.
* Runs a manual mail-path test on demand.
* Exports the event log as CSV and clears it with one click.

**Privacy first**

FormWatch never reads or stores what people type into your forms. It records only operational details: the time, which plugin, the form title and whether it worked. Email addresses in error messages are removed before anything is saved. Nothing is sent to Gaemster or any third party, and no account is needed.

**What FormWatch does not do (yet)**

* It does not confirm that an email reached an inbox. It confirms that WordPress handed it to your mailer.
* It does not submit test forms in a browser.
* It does not send alerts from outside your site. Failure alerts go through your site's own WordPress mail, so they cannot reach you if mail is completely down. That is why FormWatch also shows an admin notice.
* It relies on the documented hooks of each supported form plugin. Elementor Forms (Pro) and Gravity Forms are not tested yet. Only Contact Form 7 reports a failed form email per form. For the others, FormWatch records that a submission was received. Please report any plugin that behaves differently.

Documentation: https://gaemster.com/docs/formwatch/

== Installation ==

1. Upload the `gaemster-formwatch` folder to `/wp-content/plugins/`, or install the zip from Plugins > Add New > Upload Plugin.
2. Activate the plugin.
3. Open FormWatch in the admin menu and run the mail-path test.
4. Check that failure alerts are going to the right address.

== Frequently Asked Questions ==

= Is FormWatch really free? =

Yes. FormWatch is free forever, with no trial and no account. You can install it on as many WordPress sites as you like, and every monitoring feature described here works locally on each one. Nothing is locked behind payment, and no feature stops working after a period of time or a number of sites.

= Does FormWatch contact Gaemster or send my data anywhere? =

No. FormWatch makes no connection to Gaemster or any other server. Everything is stored in your own WordPress database. If optional online services are offered in the future, they will only connect if you choose to set them up.

= Does FormWatch store my customers' messages? =

No. It never reads form field values. It stores the time, source, form title and result only.

= Does it confirm that email was delivered to the inbox? =

No. It confirms that WordPress handed the message to your mailer. Check the inbox to confirm delivery, and use an SMTP service for the most reliable delivery.

= Which form plugins are supported? =

FormWatch recognizes Contact Form 7, WPForms, Elementor Forms, Gravity Forms, Fluent Forms and Formidable Forms. It has been tested with Contact Form 7, WPForms, Fluent Forms and Formidable Forms. Elementor Forms and Gravity Forms are recognized from their documentation and have not been tested yet, so please report anything that behaves differently. WordPress mail is monitored whether or not you use any of them.

= What happens if my mail is completely down? =

FormWatch cannot email you about it, because alerts use the same mail system. It shows a notice on every admin screen for administrators and retries the alert a few times.

= Where is the data stored and how long is it kept? =

In your WordPress database, for 14, 30 or 90 days (your choice). Deleting the plugin removes all of it.

= Does it slow my site down? =

FormWatch saves its data in one batch at the end of a request, and only when something happened. Routine successful mail is counted, not logged line by line.

= Does it work on multisite? =

It runs per site. Network-wide reporting is not included.

== Screenshots ==

1. The dashboard with status, key numbers and the Flight Recorder.
2. Failure alert settings.
3. The mobile layout.

== Changelog ==

= 0.2.4 =
* Changed: a failed form email is now counted as one problem, not two (the form and the mail system both report it).
* Changed: plugin installs now name the plugin, and a change announced twice is logged once.
* Changed: Formidable Forms and Elementor Forms submissions now show the form's name when the plugin provides it.
* Clarified: which form plugins have been tested.

= 0.2.3 =
* Clarified: FormWatch is free forever, works on any number of sites, needs no account and makes no connection to Gaemster. Wording only, no feature or data changes.

= 0.2.2 =
* Added: Docs link on the Plugins screen and the dashboard, pointing to gaemster.com/docs/formwatch/.

= 0.2.1 =
* Changed: clearer wording. FormWatch now says it recognizes submissions from supported form plugins and reports what WordPress reports, instead of promising everything works.
* Changed: plugin and support links point to the new FormWatch page.
* Added: a note that FormWatch Free is free and not a trial.

= 0.2.0 =
* New: email alerts when a mail or form failure is recorded, with a one-per-hour limit and retry.
* New: admin notice on every screen for unreviewed problems in the last 24 hours.
* New: Mark as reviewed, Export CSV, Clear log and a retention setting.
* New: dashboard rebuilt for phones and tablets.
* New: translation-ready, with uninstall cleanup.
* Fixed: the mail-path test now shows the result.
* Fixed: old failures no longer keep the status on "attention" forever. Status uses the last 7 days and resets when reviewed.
* Fixed: a new site no longer says "healthy" before any activity is recorded.
* Fixed: email addresses inside mail error messages are no longer stored.
* Fixed: routine successful mail no longer fills the event log and pushes out problems.
* Fixed: card layout no longer collides with a WordPress core style.
* Fixed: update events now say what was updated.

= 0.1.0 =
* First staging build.

== Upgrade Notice ==

= 0.2.4 =
Small fixes and clearer logs. No data changes.

= 0.2.3 =
Wording only. No data changes.

= 0.2.2 =
Adds documentation links. No data changes.

= 0.2.1 =
Wording and link updates only. No data changes.

= 0.2.0 =
Adds failure alerts and a mobile-friendly dashboard. Existing events are converted and email addresses in old messages are removed.
