-
Notifications
You must be signed in to change notification settings - Fork 35
Feature: Add historical statistics for PRT and Script Blocking #1146
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…l into feat/merge-script-protection
Change name of probabilistic reveal token to ipProxy.
…nt domain setting in incognito mode
… ProbabilisticRevealTokens component for improved domain visibility
…mproved highlighting and script blocking integration
…eader' for improved data accuracy
…ens' to 'Masked Domain List' for consistency
…onent for improved group management
…okens - Introduced a new Script Blocking context and provider to manage unique response domains. - Created a new Script Blocking page with a table displaying blocked domains and their statuses. - Refactored the Probabilistic Reveal Tokens context and provider to remove unused properties and improve state management. - Updated the devtools sidebar to include a new Script Blocking tab. - Removed deprecated IP Proxy context and related files. - Enhanced the overall structure and organization of state providers for better maintainability.
…eLabs/ps-analysis-tool into feat/merge-script-protection
…eLabs/ps-analysis-tool into feat/merge-script-protection
… to integrate tabs and update stats display
… item titles in Glossary, update StatItem type for optional fields, integrate Glossary and Panel in MDLTable with tabs, and simplify Legend styling.
…ry data structure
…ent with DraggableTray and manage collapse state
…class assignment and update colors for mdl table highlight
…cy and update SessionInsights to use memoized stats and matrixData
… use 'count' instead of 'centerCount', integrate useMemo for performance optimization, and replace CirclePieChart with CookiesLandingWrapper for improved layout.
…eLabs/ps-analysis-tool into feat/merge-script-protection
…of base64 encoding
mohdsayed
reviewed
Sep 30, 2025
...n/src/view/devtools/pages/privacyProtection/ipProtection/probabilisticRevealTokens/index.tsx
Outdated
Show resolved
Hide resolved
mohdsayed
reviewed
Sep 30, 2025
mohdsayed
reviewed
Sep 30, 2025
...src/view/devtools/pages/privateAdvertising/protectedAudience/explorableExplanation/panel.tsx
Show resolved
Hide resolved
mohdsayed
approved these changes
Sep 30, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good, just a few questions.
mayan-000
approved these changes
Oct 1, 2025
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This pull request introduces a major overhaul of the IP Protection and Script Blocking features within the extension. It introduces comprehensive statistics, integrates the Masked Domain List (MDL) for richer context, and completely revamps the UI for better observability and user experience.
Key enhancements include:
MdlCommonPanel
) has been created to present this data, featuring statistical dashboards, advanced filtering, and a consistent user experience across the IP Protection and Script Blocking tabs.Relevant Technical Choices
PRTStore
now fetches the Masked Domain List directly from the official repository upon initialization. This data is parsed and stored in memory to enrich the UI with domain owner and script blocking scope details.chrome.storage.sync
for the "Global" view and updated in the service worker as new domains or tokens are observed.MdlCommonPanel
): To avoid code duplication and ensure a consistent UX, a new reusableMdlCommonPanel
component was created. This component abstracts the common layout of a stats header, a resizable table, and a JSON/detail viewer, and is now used by both the PRT and Script Blocking tables.PRTStore
, moving it from the more genericDataStore
. This improves separation of concerns and co-locates state with the logic that manages it.Tabs
component was refactored. Instead of using a localuseState
for the expanded group, it now uses a centralizedactiveGroup
state managed by theTabsProvider
context. This simplifies event handling, especially for keyboard navigation, and makes the component's state more predictable.ReactP5Wrapper
, a dependency for the explorable explanations, is a heavy component. It is now loaded asynchronously usingReact.lazy
andSuspense
to improve the initial load time and responsiveness of the DevTools panel.vite.extension.config.mts
file was significantly refactored. The previous implementation used multiple functions and conditional blocks. The new approach uses a more declarative, loop-based system to build all scripts and UI targets, making the process cleaner, more readable, and easier to maintain.Testing Instructions
IP Proxying (PRT) Tab
PRT with signal
vs.PRT with no Signal
), and by Decrypted status (True
vs.False
).Masked Domain List Tab
General Verification
Additional Information:
This PR represents a significant functional and visual upgrade for the IP Protection feature suite. The introduction of statistics and MDL integration provides developers with much deeper insights into how these privacy technologies are operating on their sites.
Screenshot/Screencast
Screen.Recording.2025-09-16.at.14.47.25.mov
Checklist
- [ ] This code is covered by unit tests to verify that it works as intended.NA