
外掛標籤
開發者團隊
② 後台搜尋「GlitchPin – Visual Bug Feedback」→ 直接安裝(推薦)
原文外掛簡介
GlitchPin helps visitors and testers report problems without leaving the page. Administrators review reports in the WordPress dashboard.
Floating icon-only bug button with configurable position and color.
PluginPeer QA feedback panel: one message and Save feedback, without a second form.
Capture the visible page, then add a message, select an area, draw, and place numbered markers with notes.
Retry capture or upload PNG, JPEG, or WebP if automatic capture fails; annotated images are stored privately in the database.
PluginPeer-styled report list, category/status filters, date sorting, pagination, and bulk actions.
Five statuses: New, Confirmed, In Progress, Resolved, and Rejected.
Optional administrator email notifications.
Per-visitor and site-wide limits, storage quotas, and daily retention cleanup.
WordPress personal data export/erasure support.
The widget is disabled by default. After activation, open GlitchPin > Settings, enable reporting, and choose who can submit. The default audience is logged-in users. Public visibility of the widget never grants public access to reports or screenshots.
Privacy
Reports remain in this website’s database. No data is sent to PluginPeer and no external JavaScript, fonts, or CDN resources are loaded. Optional notification email uses WordPress wp_mail and the site’s configured mail service. Messages contain the report title, category, date, and private admin link; no image is attached.
Reports contain the feedback message, numbered marker notes, annotated screenshot, page address without query parameters or fragments, and account ID for signed-in reporters. The report title is derived from the first message line. The widget does not ask for email, reproduction steps, DOM element selection, or extended diagnostics. Clicking the bug icon captures the visible page locally. Capture hides form fields, editable content, embedded frames/video, and sections marked data-ppbh-private. Other visible page content may contain personal information. Manual uploads are not automatically redacted. Review the captured image before saving; close the panel without saving if it contains information you do not want to share. Only Save feedback sends the final annotated image and message. DOM markup, cookies, tokens, and network requests are not collected as report data. Older reports and compatible API clients can contain optional email, element geometry, and diagnostics.
Original screenshots are decoded and re-encoded to strip image metadata and appended content. Only the resulting image is retained, outside the Media Library and public uploads filesystem. A capability-checked, nonce-protected administrator endpoint serves images with no-store headers. Images are PNG or JPEG after normalization; WebP inputs are converted to PNG.
Rate limiting stores a keyed hash of an IP address or account ID in an hourly bucket. Raw IP addresses are not stored. Buckets expire after at most two hours and are removed by daily cleanup. Hosting access logs are outside this plugin’s control.
Reports expire after 90 days by default. Choose another period or 0 to retain reports until deletion. Daily WP-Cron cleanup handles up to 200 expired reports per run; low-traffic sites should configure a real cron runner if timely deletion is required. Deleting a report also deletes its image. Deactivation preserves reports. Uninstall removes data only if the administrator enabled that setting first.
Use Settings > Privacy to configure your policy page and review the suggested policy text. Tools > Export Personal Data and Erase Personal Data handle reports matched by submitted email or account email. Screenshot data is included as MIME/base64 text in authorized privacy exports. Reports without either identifier must be handled manually by an administrator.
Development
TypeScript sources are included under src/. Run npm ci and npm run build to rebuild public/assets/reporter.js. No build step or Node.js is required on the production WordPress site. See docs/TECHNICAL.md for architecture, API contracts, testing, and release checks.
