Feedback and Issue Reporting
When an advertisement slips through, a website layout breaks, or a video player fails to load, reporting the issue helps the maintainer reproduce and fix the problem without requiring you to inspect page source code.
Choosing the Right Channel#
Nvirya AdGuard provides built-in reporting in About → Community & Support:
| Goal | Where to Go | What to Expect |
|---|---|---|
| Report a bug (missed ad, broken layout, video player issue, false positive, slowdown) | Tap Feedback in About → Community & Support and choose Missed ad, Broken page layout, Video playback issue, or Other | Sends a one-way diagnostic report to the maintainer's Discord webhook; does not open a live chat thread |
| Suggest a feature | Tap Feedback in About → Community & Support and choose Feature suggestion | Sends your text suggestion, script version (v11.7.0), and platform category (iOS / iPadOS or Android / Desktop) to the maintainer |
| Ask a general support question or get two-way help | Tap Telegram (https://t.me/nvirya) or Discord in About → Community & Support | Opens a direct community/author channel where you can receive replies |
Rate Limit: To prevent accidental duplicate submissions, the built-in Send Feedback tool enforces a 30-second cooldown per hostname (
nvirya_x_last_report). If you submit again within 30 seconds on the same site, a toast displays:Please wait {sec}s before sending more feedback.
What Data Is Collected in a Bug Report#
When you select Missed ad, Broken page layout, Video playback issue, or Other in the Send Feedback modal and tap Submit, submitReport() constructs a JSON payload and sends it via HTTP POST (GM_xmlhttpRequest or fetch) to the project's configured Discord webhook.
Every bug report includes the following exact fields:
- Website Hostname (
Domain): The currentlocation.hostname(for example,news.example.com). - Script Version (
Version):v11.7.0. - Selected Issue Category (
Reason):Missed ad,Broken layout,Player issue, orOther. - Sanitized Page URL (
URL (Sanitized)): Generated bygetSanitizedUrl()(truncated to 1,000 characters):- Removes the URL
#hashfragment completely. - Scans all URL query parameter names (
?key=value). Any parameter whose key matches/auth|token|session|key|pass|code|secret|credential|email|user/ihas its value replaced with[REDACTED].
- Removes the URL
- Optional User Notes (
Note): Any text you type into the Details (optional): box (truncated to 1,000 characters), or(Không có)if left blank. - Blocking Statistics:
- Session:
stats.session.ads,stats.session.hidden, andstats.session.popups. - Lifetime:
stats.lifetime.adsandstats.lifetime.hidden.
- Session:
- Recent Filter Logs: The last 4 entries from the in-memory
logRingbuffer ([LEVEL] type: message extra, truncated to 900 characters). - Browser User-Agent: Your browser's
navigator.userAgentstring (truncated to 200 characters) so the maintainer knows which browser and operating system version exhibited the issue.
What is sent for a Feature Suggestion#
When you select Feature suggestion (Feature request), a description is required (Please enter a brief description first if empty). The script sends only:
- Your suggestion text (up to 1,000 characters)
- Script version (
v11.7.0) - Device platform (
iOS / iPadOSorAndroid / Desktop)
It does not send the current website hostname, page URL, blocking statistics, logs, or full User-Agent.
Privacy Boundaries: What to Review Before Submitting#
Nvirya AdGuard does not claim that bug reports are completely anonymous or guaranteed free of sensitive context:
- Webhook transport: Reports are transmitted over HTTPS to a Discord webhook configured in the script, which means the report payload is processed through Discord's infrastructure (
discord.com/discordapp.com). - Limits of automatic URL sanitization: While
getSanitizedUrl()redacts query parameter values whose names contain words liketoken,session,auth,key,pass,code,secret,email, oruser, it cannot know if a website embeds private identifiers directly in the URL path (for example,https://example.com/account/orders/987654) or uses non-standard query keys (such as?id=12345). - Recent logs: The last 4 log entries may contain URLs of blocked ad requests or redirect targets triggered on the current page.
Before tapping Submit on a bug report:
- Check whether you are on a private, logged-in account page, private document URL, or internal company portal. If the URL path itself is private, do not submit an automated bug report from that page.
- Never paste passwords, session cookies, personal contact information, or private tokens into the Details (optional): text box.
Inspecting diagnostics manually (Copy Diagnostics)#
If you want to see your diagnostic state before sharing anything, open About → Diagnostics → Copy Diagnostics ("Copy system & filter logs to clipboard"). This copies a plain-text summary generated by collectDebugInfo()—including version, hostname, URL without query parameters, active toggles, session/lifetime stats, decision counters, anti-adblock diagnostics, and the last 15 log entries—directly to your clipboard so you can review or edit it before pasting it into Telegram or Discord.
How to Write a Useful Report (No Technical Jargon Required)#
You do not need to know HTML, CSS, or JavaScript to submit a helpful report. Because the script automatically attaches the URL, version, stats, and recent logs, a single plain-English sentence in the Details (optional): box is enough:
- Missed advertisements (
Missed ad): State where the ad is and when it appears.- Good example: "A sticky banner stays at the bottom of the screen when reading an article."
- Good example: "Tapping the play button opens a new tab to a gambling site."
- Broken page layouts (
Broken page layout): State what part of the page is missing or unclickable, and whether pausing Nvirya AdGuard fixes it.- Good example: "The article images are blank when the script is on, but load normally when I tap Pause for This Session."
- Good example: "Page cannot scroll after the newsletter popup closes."
- Video player issues (
Video playback issue): State whether the video fails to start, buffers endlessly, or plays an unskipped ad.- Good example: "Video stays on a black loading spinner unless I turn off Media Guard."
- False-positive blocking (
Broken page layoutorOther): Mention which button, login popup, or download link was blocked.- Good example: "The 'Download APK' button at the bottom of the post does nothing when tapped."
- Performance problems (
Other): Mention what action makes the page lag.- Good example: "Scrolling down the search results stutters heavily on Android until I pause protection."