Skip to content

Commit 6d24433

Browse files
committed
Cache-bust extension favicons and bump icon asset version
1 parent dfa2d86 commit 6d24433

10 files changed

Lines changed: 34 additions & 11 deletions

File tree

assets/icons/icon-v2-128.png

14.8 KB
Loading

assets/icons/icon-v2-16.png

882 Bytes
Loading

assets/icons/icon-v2-32.png

2.47 KB
Loading

assets/icons/icon-v2-48.png

4.35 KB
Loading

manifest.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@
22
"manifest_version": 3,
33
"name": "Chrome Activity Reader",
44
"description": "Track tab-level activity across Chrome windows and review what you worked on recently.",
5-
"version": "0.1.0",
5+
"version": "0.1.1",
66
"icons": {
7-
"16": "assets/icons/icon-16.png",
8-
"32": "assets/icons/icon-32.png",
9-
"48": "assets/icons/icon-48.png",
10-
"128": "assets/icons/icon-128.png"
7+
"16": "assets/icons/icon-v2-16.png",
8+
"32": "assets/icons/icon-v2-32.png",
9+
"48": "assets/icons/icon-v2-48.png",
10+
"128": "assets/icons/icon-v2-128.png"
1111
},
1212
"permissions": [
1313
"tabs",

project-history.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -186,6 +186,12 @@ Chronological execution log:
186186
- settings/dashboard round-trip in same tab
187187
- unchanged tab count across round-trip sequence
188188

189+
33. Fixed favicon cache regression in extension tabs:
190+
- introduced cache-busted icon asset set (`icon-v2-*`)
191+
- updated manifest icons and bumped extension version to `0.1.1`
192+
- updated dashboard/panel/settings favicon links and header icon references
193+
- extended smoke assertions to require `icon-v2-32.png` favicon path in both dashboard and settings
194+
189195
## 4. What Were The Decisions That We Took?
190196

191197
### Product/Architecture Decisions
@@ -331,6 +337,10 @@ Primary commits:
331337
- `assets/icons/icon-32.png`
332338
- `assets/icons/icon-48.png`
333339
- `assets/icons/icon-128.png`
340+
- `assets/icons/icon-v2-16.png`
341+
- `assets/icons/icon-v2-32.png`
342+
- `assets/icons/icon-v2-48.png`
343+
- `assets/icons/icon-v2-128.png`
334344
- `assets/fonts/space-grotesk-400.ttf`
335345
- `assets/fonts/space-grotesk-500.ttf`
336346
- `assets/fonts/space-grotesk-700.ttf`

scripts/extension-smoke-test.mjs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ async function run() {
2929

3030
const dashboardPage = await context.newPage();
3131
await dashboardPage.goto(dashboardUrl, { waitUntil: "domcontentloaded" });
32+
const dashboardFaviconHref = await dashboardPage.getAttribute('link[rel="icon"]', "href");
3233

3334
const heading = await dashboardPage.textContent("h1");
3435
const activityListCount = await dashboardPage.locator("#activity-list").count();
@@ -59,6 +60,7 @@ async function run() {
5960
await dashboardPage.waitForURL((url) => url.toString().endsWith("/ui/settings.html"), { timeout: 5_000 });
6061
const settingsHeading = await dashboardPage.textContent("h1");
6162
const settingsOpenedInCurrentTab = dashboardPage.url().endsWith("/ui/settings.html");
63+
const settingsFaviconHref = await dashboardPage.getAttribute('link[rel="icon"]', "href");
6264
const pageCountAfterOpenSettings = context.pages().length;
6365

6466
await dashboardPage.click("#open-side-panel");
@@ -74,6 +76,13 @@ async function run() {
7476

7577
await dashboardPage.click("#open-settings");
7678
await dashboardPage.waitForURL((url) => url.toString().endsWith("/ui/settings.html"), { timeout: 5_000 });
79+
await dashboardPage.waitForFunction(
80+
() =>
81+
document.body?.dataset?.theme === "light" &&
82+
document.querySelector("#theme")?.value === "light",
83+
null,
84+
{ timeout: 5_000 }
85+
);
7786
const settingsTheme = await dashboardPage.getAttribute("body", "data-theme");
7887
const settingsThemeValue = await dashboardPage.inputValue("#theme");
7988
const themeSelectContrast = await dashboardPage.evaluate(() => {
@@ -126,6 +135,8 @@ async function run() {
126135
openPanelOnActionClick: status?.openPanelOnActionClick,
127136
runtimeAfterDashboardSidePanel,
128137
runtimeAfterSettingsSidePanel,
138+
dashboardFaviconHref,
139+
settingsFaviconHref,
129140
settingsHeading,
130141
settingsOpenedInCurrentTab,
131142
pageCountAfterOpenSettings,
@@ -151,6 +162,8 @@ async function run() {
151162
result.runtimeStatusOk !== true ||
152163
result.sidePanelApiAvailable !== true ||
153164
result.openPanelOnActionClick !== true ||
165+
!String(result.dashboardFaviconHref || "").includes("icon-v2-32.png") ||
166+
!String(result.settingsFaviconHref || "").includes("icon-v2-32.png") ||
154167
result.runtimeAfterDashboardSidePanel?.lastOpenSidePanelResult?.ok !== true ||
155168
!["sender_window", "all_windows"].includes(result.runtimeAfterDashboardSidePanel?.lastOpenSidePanelResult?.mode) ||
156169
result.runtimeAfterSettingsSidePanel?.lastOpenSidePanelResult?.ok !== true ||

ui/dashboard.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,15 @@
44
<meta charset="utf-8" />
55
<meta name="viewport" content="width=device-width, initial-scale=1" />
66
<title>Chrome Activity Reader</title>
7-
<link rel="icon" href="../assets/icons/icon-32.png" />
7+
<link rel="icon" href="../assets/icons/icon-v2-32.png" />
88
<link rel="stylesheet" href="./activity.css" />
99
</head>
1010
<body data-surface="full" data-theme="dark">
1111
<main class="shell">
1212
<header class="hero">
1313
<div class="brand">
1414
<div class="brand-mark" aria-hidden="true">
15-
<img src="../assets/icons/icon-48.png" alt="" />
15+
<img src="../assets/icons/icon-v2-48.png" alt="" />
1616
</div>
1717
<div>
1818
<h1>Chrome Activity Reader</h1>

ui/panel.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,15 @@
44
<meta charset="utf-8" />
55
<meta name="viewport" content="width=device-width, initial-scale=1" />
66
<title>Activity Panel</title>
7-
<link rel="icon" href="../assets/icons/icon-32.png" />
7+
<link rel="icon" href="../assets/icons/icon-v2-32.png" />
88
<link rel="stylesheet" href="./activity.css" />
99
</head>
1010
<body data-surface="panel" data-theme="dark">
1111
<main class="shell">
1212
<header class="hero">
1313
<div class="brand">
1414
<div class="brand-mark" aria-hidden="true">
15-
<img src="../assets/icons/icon-48.png" alt="" />
15+
<img src="../assets/icons/icon-v2-48.png" alt="" />
1616
</div>
1717
<div>
1818
<h1>Activity Reader</h1>

ui/settings.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<meta charset="utf-8" />
55
<meta name="viewport" content="width=device-width, initial-scale=1" />
66
<title>Activity Reader Settings</title>
7-
<link rel="icon" href="../assets/icons/icon-32.png" />
7+
<link rel="icon" href="../assets/icons/icon-v2-32.png" />
88
<link rel="stylesheet" href="./activity.css" />
99
<style>
1010
.settings-grid {
@@ -115,7 +115,7 @@
115115
<header class="hero">
116116
<div class="brand">
117117
<div class="brand-mark" aria-hidden="true">
118-
<img src="../assets/icons/icon-48.png" alt="" />
118+
<img src="../assets/icons/icon-v2-48.png" alt="" />
119119
</div>
120120
<div>
121121
<h1>Settings</h1>

0 commit comments

Comments
 (0)