Shields Status page lists nothing, reload page, sites are then displayed correctly


Description of the issue: Shields Status page lists nothing, reload page, sites are then displayed correctly
How can this issue be reproduced?

  1. Go to any website and click Brave icon top right and disable shields for this site.

  2. Click brave browser Settings->Privacy_and_Security->Site_and_Shields_Settings->Shields_Status . Nothing. No website with shields-down are listed.

  3. Click to Reload the page

  4. Now all the websites with Shields disabled are correctly listed.

  5. Completely reproducible.

  6. Seriously – Automated Tests??

Expected result: Sites having shields disabled are correctly displayed

Brave Version( check About Brave): Brave 1.93.134 (Official Build) (arm64)

Additional Information: MacOS 26.5.2

@nnrelay

UPDATED, August 21 …

Re your issue title: “Shields Status page lists nothing, reload page, sites are then displayed correctly”

Clarification of your reproducable steps:

Go to any website and click Brave icon top right and disable shields for this site. Click brave browser Settings > Privacy_and_Security > Site_and_Shields_Settings > Shields_Status. No website with shields-down are listed. Click to Reload the page …

Why the List Appears Empty Initially

The Shields Status page does not always update in real-time when you toggle the Shield icon in the address bar. The list of sites with “Shields Down” is populated from a local database that may not refresh automatically upon your return to the settings page.

  • The Reload Fix: Clicking the Reload button on the brave://settings/content/braveShieldspage forces the browser to re-query this database, at which point the site you just modified appears correctly in the list.

  • Not a Functional Failure: This is purely a display bug in the settings UI; the Shields are actually disabled for the site immediately, even if the list doesn’t show it until refreshed.

Recommended Workarounds

If the list remains empty even after reloading, or if you want to ensure the settings are applied correctly:

  1. Manual Refresh: Always hit Reload (or press F5) on the brave://settings/content/braveShieldspage after making changes to Shields for any site.

  2. Clear Site Data: If a site behaves erratically despite showing “Shields Down,” go to Settings > Privacy and security > Clear browsing data, select Advanced, check Site and Shields Settings, and clear data for All time.

  3. Check for Updates: Ensure you are on the latest version of Brave, as developers frequently patch UI rendering bugs in the brave://settings pages.

** AI-generated answer. Please verify critical facts.

Ok, I spent time this morning testing each of these in order below:

According to Brave Search (Answer with AI):
This behavior typically indicates a corrupted or broken content filter list
within Brave Shields, specifically the EasyList Cookie filter, which was the
cause of a widespread incident in January 2024 where sites would not load or
load as blank text until Shields were disabled and reloaded.

To resolve this, you should:

Navigate to Brave Shields settings and locate the Content Filtering section.

Disable the “EasyList Cookie” filter (or any custom third-party filters you have added).

Restart the browser to ensure the changes take effect.

Nope, problem persists, completely reproducible.

If the issue persists, it may be due to a corrupted browser profile caused by a
power failure or crash. In such cases, removing the Brave profile folder and
restarting the browser can restore functionality.

Removed my (Default) profile and re-created it – lots of work – .
Nope, problem persists.

If you are using custom
adblock rules or third-party DNS blockers like AdGuard or Pi-hole, these can
also conflict with Shields; try disabling them to isolate the problem.

Nope I’m not. NA.

According to Brave Search (Answer with AI): The behavior you are
describing—where the Shields Status page (brave://settings/content/braveShields)
appears empty until you manually reload it after disabling Shields on a site—is
a known interface lag or caching issue in recent versions of Brave.

It’s a known issue - ok great.

Why the List Appears Empty Initially
The Shields Status page does not always update in real-time when you toggle the
Shield icon in the address bar. The list of sites with “Shields Down” is
populated from a local database that may not refresh automatically upon your
return to the settings page.

Problem is easily reproducible by restarting Brave then go to that settings page – its wrong
until you manually Reload the page.

The Reload Fix: Clicking the Reload button on the
brave://settings/content/braveShieldspage forces the browser to re-query this
database, at which point the site you just modified appears correctly in the
list.

Yep.

Not a Functional Failure: This is purely a display bug in the settings UI; the
Shields are actually disabled for the site immediately, even if the list doesn’t
show it until refreshed.

Recent Context & Related Issues
This UI lag has been noted alongside other Shields-related inconsistencies in
2025 and 2026:

Misleading,
It’s not a “lag” – it never displays the list of Shields-Disabled sites
until you manually Reload the page. It’s not like wait a while and it’s ok.

GitHub Issue #50596 (Oct 2025): Users reported that “Shields Down entries… no
longer appear until a new one is added,” confirming that the list fails to
populate dynamically without a manual refresh or a new entry trigger.

Again Nope: I disable Shields for a site, Shields Down display is empty, go disable
another site, Shields Down displays still empty, repeat. It’s not until I
manually Reload the page that it’s good.

--

The bigger meta issue: Where are the automated tests?

I’ve been running Brave Browser on my Mac and iPhone for like 8 years
and every couple of months I encounter yet another completely-reproducible
Shields or cookie clearing bug that should have been caught by an automated test.
So why do these bugs keep getting released?
Each taking multiple months to get fixed .
For a privacy-focused browser – which is why I run Brave – you’d think
the development and release process would include automated tests.
But apparently not. Which makes no sense.
I’m remembering the clear-all-state-on-browser-exit feature which was broken for months!?

@nnrelay

Re your:

Shields or cookie clearing bug that should have been caught by an automated test.

So why do these bugs keep getting released?


Re: “During a Brave Browser build, what automated performance tests are run?”

According to Brave Search (Answer with AI):

During a Brave Browser build, automated performance testing is primarily handled by the BLaDE (Brave Lab Device Evaluations) testbed and internal CI scripts that execute C++ unit tests and browser tests related to performance metrics.

The automated suite typically includes:

  • Brave Unit Tests: Compiled C++ tests (brave_unit_tests and brave_components_unittests) that verify specific functions, including ad-blocking logic and privacy feature integrity.

  • Browser Tests: Executables (brave_browser_tests) that run in a full browser context to test services like ad blocking, HTTPS redirects, and content settings.

  • Performance Benchmarks: Tests utilizing tools like Lighthouse, Speedometer, JetStream, and MotionMark to measure page load times, JavaScript execution speed, and graphics rendering efficiency.

  • Resource Monitoring: Automated scripts that track CPU utilization, memory usage (PSS), battery consumption, and network bandwidth via BLaDE or ADB (Android Debug Bridge) simulations to ensure efficiency gains are maintained.

  • Upstream Chromium Tests: Brave runs most tests from the upstream Chromium project in its CI pipeline, filtering out known failures caused by Brave-specific modifications.

** AI-generated answer. Please verify critical facts.



Re: “Are performance tests run AFTER the build?”

According to Brave Search (Answer with AI):

Yes, performance tests in the Brave Browser build pipeline are typically run after the browser binary has been successfully compiled.

Build and Test Sequence

The standard Continuous Integration (CI) workflow follows this order:

  1. Compilation: The source code is fetched, dependencies are installed, and the browser binary is built (e.g., via npm run build).

  2. Unit & Browser Tests: Immediate functional verification occurs using brave_unit_tests and brave_browser_tests to ensure core logic and services work.

  3. Artifact Creation: Once tests pass, build artifacts (installers, APKs, DMGs) are generated and uploaded.

  4. Performance Benchmarking: Automated performance suites (such as Speedometer, JetStream, or custom BLaDE workloads) are executed against the newly created build artifacts. This ensures that metrics like page load speed, memory usage, and battery consumption reflect the actual performance of the compiled binary.

** AI-generated answer. Please verify critical facts.



Re: How does Brave Support monitor performance bugs and issues - and is there a database or table against which, a Brave Build is tested for actually fixing issues?

According to Brave Search (Answer with AI):

Brave Software monitors performance bugs and validates fixes through a combination of automated regression detection, public issue tracking, and a dedicated internal dashboard.

Performance Bug Monitoring and Tracking

Performance issues are primarily tracked and managed via GitHub, where the engineering team maintains specific labels and tracking issues.

  • GitHub Issue Tracking: Performance regressions and bugs are logged as issues in the brave-browser repository. These are often tagged with labels like [Perf] or performance. Specific “tracking issues” (e.g., “Critical performance tracking issue”) aggregate related sub-tickets to monitor broader problems like startup slowness or high CPU usage during specific tasks.

  • Automated Regression Alerts: The CI pipeline automatically detects performance deviations. When a build shows a statistically significant regression (e.g., a >5% increase in CPU time or memory usage) compared to the baseline, an alert is generated. These alerts often include detailed metrics (median values, relative change percentages) and are linked directly to GitHub issues for investigation.

  • BLaDE Testbed: The BLaDE (Brave Lab Device Evaluations) system continuously evaluates new development builds on real mobile devices (Android and iOS). It simulates user workloads to measure battery consumption, CPU utilization, and network traffic. If a new build fails to meet established efficiency thresholds, it is flagged before release.

** AI-generated answer. Please verify critical facts.



Re: Are members of the Brave Community - who report bugs and issues - effectively part of Qualitative Analysis (aka “lab rats”)?

According to Brave Search (Answer with AI):

Yes, members of the Brave Community who report bugs and issues effectively function as a massive, distributed Qualitative Analysis team, often described as “lab rats” in the software testing industry.

The Role of Community Feedback

While automated tests (like BLaDE) handle quantitative metrics (speed, memory), the community provides the qualitative data that automated scripts cannot generate:

  • Real-World Scenario Testing: Automated tests run on controlled, synthetic workloads. Community members use Brave Browser in unpredictable, complex “real-world” environments (specific hardware combinations, unique extension stacks, niche websites) that internal labs cannot fully replicate.

  • Subjective Experience & UX: Users report on “feel” issues—such as UI awkwardness, readability problems, or workflow friction—which are qualitative judgments impossible for a script to measure.

  • Edge Case Discovery: Detailed community reports (like the “Crash Report NONSTOP” threads on GitHub) often uncover systemic issues triggered by specific sequences of actions that automated regression tests miss.

** AI-generated answer. Please verify critical facts.



Re: Is it important to provide Crash Report numbers to Brave Support?

According to Brave Search (Answer with AI):

Yes, providing Crash Report numbers (IDs) to Brave Support is critical for resolving stability issues.

Why the ID is Essential

Without the specific Crash Report ID, support engineers and developers cannot effectively diagnose the root cause of a crash.

  • Linking to Symbolicated Data: When a crash occurs, the browser generates a raw memory dump. The Crash Report ID allows the Brave team to link your specific incident to their internal symbolicated crash reports. This process translates cryptic memory addresses (e.g., 0x00007ff) into readable function names and line numbers in the source code, pinpointing exactly which feature or process failed.

  • Pattern Recognition: Support teams aggregate IDs to identify if a crash is an isolated incident or a widespread regression affecting many users in a specific build. This helps prioritize fixes for high-impact bugs.

  • Verification of Upload: A report is only useful if it has been successfully uploaded. The presence of an “Uploaded Crash Report ID” (which typically ends in 000000) confirms the data is on Brave’s servers. Local IDs (which do not end in zeros) indicate the report is stuck on your device and invisible to support.

** AI-generated answer. Please verify critical facts.

I really hate the AI replies. I can feed text into a GPT myself. This subtracts value.

I didn’t ask any of the questions that the stupid AI responses respond.

I’m reporting a frigging bug. Why do I bother?

@nnrelay

Your: Go to any website and click Brave icon top right and disable shields for this site. Click brave browser Settings->Privacy_and_Security->Site_and_Shields_Settings->Shields_Status ← No website with shields down are listed. You have to reload that (Brave settings) Shields Status page.

Expected?

Answer: YES

The Brave Browser Settings page for Shields Status is NOT dynamic.

While the visited webpage for which Site-Specific Shields are adjusted, is dynamically affected.

Unlike the Site-Specific Shields panel (which updates in real-time as you browse), the Brave Settings page does not use a live listener to detect changes made to the content_settings database while the tab is open.

Therefore, any modifications made to Shield Settings, is not reflected in the Shields Status list until you manually reload the Brave Settings (Shields Status) page - in order to trigger a fresh query of the stored preferences.

This is intended behavior to optimize performance, as constantly polling the database for changes across all stored sites could impact browser responsiveness.

A human reply – Thank you.

Expected? YES

None of the prior (AI) replies to my bug report said this.

This behavior is quite unintuitive.