History: Updates Icons on macOS - #2886
Merged
Merged
Conversation
daxtheduck
previously approved these changes
Jul 21, 2026
Contributor
There was a problem hiding this comment.
Injected PR Evaluation: Web Compatibility & Security
PR: History: Updates Icons on macOS (#2886)
Scope: special-pages/pages/history/ only — Sidebar.js + 6 static SVG assets. No injected/, messaging/, or runtime API override changes.
Web Compatibility Assessment
| File | Lines | Severity | Finding |
|---|---|---|---|
| (all) | — | info | Changes are confined to the first-party History special page embedded in DDG browsers. This code is not injected into third-party web pages, so API surface fidelity, prototype chain integrity, third-party script detection, and stack-trace exemption concerns do not apply. |
Sidebar.js |
122–123, 144 | info | Icon selection uses static module-scope path literals (icons/*-rebranding.svg). No page-derived or user-controlled data flows into src, so there is no URL-construction or DOM-injection risk from this change. |
Sidebar.js |
122–123 | info | Platform gating via usePlatformName() === 'macos' matches existing History page patterns (App.jsx, SearchForm.js, selection/link handlers). Non-macOS platforms continue using the original iconMap unchanged. |
Sidebar.js |
144 | info | <img> elements lack alt text. This is pre-existing for legacy icons; decorative sidebar icons could use alt="" for a11y, but this is not introduced by this PR. |
Sidebar.js |
122–123 | warning | Rebrand icons are gated by platform name only, not a remote-config/feature flag (contrast NTP's newTabPageRebranding). Icons cannot be remotely disabled without a deploy. Acceptable for first-party UI, but limits rollout control if visual regressions appear. |
public/icons/*.svg |
all | info | Static bundled assets with hardcoded fills/paths. No external references, scripts, or event handlers. |
No web compatibility errors identified.
Security Assessment
| File | Lines | Severity | Finding |
|---|---|---|---|
| (all) | — | info | No changes to captured-globals.js, message bridge, messaging transports, postMessage, or content-scope initialization. Hostile-page threat models (global capture bypass, nativeData leakage, origin validation, iframe sandboxing) are not in scope. |
Sidebar.js |
35–47, 123, 144 | info | Icon paths are compile-time constants. SVG assets are first-party static files — no eval, dynamic code execution, CSS injection from user input, or network fetches to third parties. |
Sidebar.js |
122–123 | info | usePlatformName() reads from SettingsContext (native-provided platform name), not page-controlled globals. No new messaging schemas or outbound notify/request calls. |
No security findings.
Risk Level
Low Risk — Special-pages-only visual asset swap with a macOS platform gate; no injected runtime, API overrides, or messaging changes.
Recommendations
- (info) Consider adding a macOS integration test (or screenshot test) asserting rebranding icon
srcvalues render for sidebar items — similar to NTP rebrand icon coverage in #2877. - (info) If History rebrand should follow the same rollout model as NTP, consider a
historyPageRebrandingsettings flag instead of hardcodedplatformName === 'macos'. - (info) Optional a11y: add
alt=""to decorative sidebar<img>icons (pre-existing gap, not blocking).
Sent by Cursor Automation: Web compat and sec
Contributor
[Beta] Generated file diffTime updated: Tue, 21 Jul 2026 20:52:57 GMT AppleFile has changed IntegrationFile has changed WindowsFile has changed New Files
❌ File only exists in new changeset |
daxtheduck
dismissed
their stale review
July 21, 2026 20:51
Dismissing stale approval — new commits pushed, awaiting Cursor re-review.
daxtheduck
approved these changes
Jul 21, 2026
jleandroperez
enabled auto-merge
July 21, 2026 20:56
Draft
8 tasks
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
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.


Asana Task/Github Issue:
Description
This PR updates the History Special Page's sidebar icons on macOS, so that we display the (new + rebranded) assets.
Testing Steps
Checklist
Please tick all that apply:
Note
Low Risk
Platform-gated visual asset swap in the History sidebar with no logic or data-handling changes.
Overview
On macOS, the History special page sidebar now uses new rebranded SVG assets for each date/range filter instead of the legacy icons.
Sidebar.jsadds arebrandingIconMapparallel to the existingiconMapand selects it whenusePlatformName()returnsmacos; other platforms are unchanged. Six new files underpublic/icons/(*-rebranding.svg) supply the updated artwork.Reviewed by Cursor Bugbot for commit 17e14ee. Bugbot is set up for automated code reviews on this repo. Configure here.