Skip to content

Commit 5ba01b2

Browse files
committed
Remove redundant Most recent view filter
1 parent da8a60e commit 5ba01b2

9 files changed

Lines changed: 10 additions & 27 deletions

README.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ For complete project history, architecture decisions, execution timeline, built/
1313
- View filters:
1414
- `Meaningful` (default): focused time `> 10s`
1515
- `All tabs`: includes `never focused` entries
16-
- `Most recent`: recency-first ordering
1716
- Time range filters: `1h`, `4h`, `24h`, `7d`
1817
- Global side panel UI (dark mode default) with:
1918
- Search
@@ -36,7 +35,7 @@ For complete project history, architecture decisions, execution timeline, built/
3635
## Use
3736

3837
1. Click extension icon to open the side panel.
39-
2. Use `Meaningful / All tabs / Most recent` filters.
38+
2. Use `Meaningful / All tabs` filters.
4039
3. Click `Expand` in side panel to open full dashboard tab.
4140
4. Open Options/Settings to manage privacy and theme.
4241

@@ -66,7 +65,7 @@ For complete project history, architecture decisions, execution timeline, built/
6665

6766
Includes:
6867
- Unit tests for session engine transitions, activity aggregation, and retention boundaries.
69-
- Playwright tests for meaningful/all/recent views, ranking, and focus/open behavior.
68+
- Playwright tests for meaningful/all views, ranking, and focus/open behavior.
7069
- Real-extension flow-matrix checks for navigation/state transitions:
7170
- `Dashboard -> Settings` same-tab navigation
7271
- `Settings -> Dashboard` same-tab navigation

docs/testing/manual-acceptance-checklist.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,12 +39,10 @@ Expected:
3939
4. In panel/dashboard, switch between:
4040
- `Meaningful`
4141
- `All tabs`
42-
- `Most recent`
4342

4443
Expected:
4544
- `Meaningful` only shows entries with focused time >10s.
4645
- `All tabs` includes `never focused` entries.
47-
- `Most recent` orders newest activity first.
4846

4947
## 5. Range + Search
5048

@@ -109,6 +107,6 @@ Accepted when all are true:
109107
- Side panel workflow behaves as designed.
110108
- All-tab tracking includes `never focused` entries.
111109
- Meaningful filter threshold (`>10s`) works.
112-
- Most recent filter and range controls work.
110+
- Meaningful/all view filters and range controls work.
113111
- Theme synchronization works across views.
114112
- Automated tests pass (`npm run test:all` and `npm run test:smoke:extension`).

docs/testing/validation-evidence-2026-02-26.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ This evidence corresponds to the updated build with:
88

99
- all-web-tab lifecycle tracking
1010
- focused-time aggregation
11-
- `Meaningful / All tabs / Most recent` filters
11+
- `Meaningful / All tabs / Most recent` filters (historical at run time; `Most recent` was later removed as redundant)
1212
- side panel + expand-to-full dashboard flow
1313
- shared dark/light theme setting (dark default)
1414

project-history.md

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ Chronological execution log:
155155
- Run ID: `20260226-191647`
156156
- Artifacts: `artifacts/validation/20260226-191647/`
157157

158-
29. Enhanced validation loop to capture end-state screenshots and metrics for all view filters (`Meaningful`, `All tabs`, `Most recent`), then reran headed validation:
158+
29. Enhanced validation loop to capture end-state screenshots and metrics for all view filters available at that time (`Meaningful`, `All tabs`, `Most recent`), then reran headed validation:
159159
- Run ID: `20260226-192909`
160160
- All tabs proof: `count=6`, `never-focused=4`
161161
- Artifacts: `artifacts/validation/20260226-192909/`
@@ -223,7 +223,7 @@ Chronological execution log:
223223
4. **Retention default:** 30 days.
224224
5. **Privacy stance:** Local-only storage; no cloud sync in MVP.
225225
6. **UI model:** Global side panel + full dashboard + settings.
226-
7. **Default work view:** `Meaningful` (`focused time > 10s`) with toggles for `All tabs` and `Most recent`.
226+
7. **Default work view:** `Meaningful` (`focused time > 10s`) with toggle for `All tabs`.
227227
8. **Theme policy:** Dark mode default with one shared setting across side panel/full dashboard.
228228
9. **Action-click reliability:** Enable native side-panel open-on-action-click and treat fallback-only behavior as a test smell.
229229
10. **Flow reliability:** Treat navigation/side-panel interactions as state transitions and test them with transition-matrix automation.
@@ -260,7 +260,6 @@ This delivered a runnable end-to-end MVP skeleton quickly.
260260
- Filtered activity views:
261261
- `Meaningful` (default, focused time >10s)
262262
- `All tabs` (includes `never focused`)
263-
- `Most recent` (recency-first)
264263
- Time filters:
265264
- 1h / 4h / 1d / 7d
266265
- Search by title/domain/url.
@@ -428,7 +427,7 @@ Primary commits:
428427
This project has moved from concept to a tested, upgraded MVP with:
429428
- all-tab web activity capture plus focused-time aggregation,
430429
- side panel and full-dashboard workflows,
431-
- meaningful/all/recent filtering model,
430+
- meaningful/all filtering model,
432431
- dark-first themed UI with shared theme settings,
433432
- privacy-first local storage,
434433
- automated and manual verification paths,

scripts/extension-smoke-test.mjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@ async function run() {
205205
result.dashboardHeading !== "Chrome Activity Reader" ||
206206
!result.activityListPresent ||
207207
!result.defaultViewActive ||
208-
result.panelViewToggleCount < 3 ||
208+
result.panelViewToggleCount < 2 ||
209209
!result.actionClickSimulation?.ok ||
210210
!["panel_focused_window", "panel_all_windows", "dashboard_fallback"].includes(result.actionClickSimulation?.mode) ||
211211
result.runtimeStatusOk !== true ||

scripts/long-duration-extension-validation.mjs

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -246,13 +246,6 @@ async function run() {
246246
fullPage: true
247247
});
248248

249-
await dashboardPage.click('[data-view="recent"]');
250-
await dashboardPage.waitForTimeout(300);
251-
await dashboardPage.screenshot({
252-
path: path.join(screenshotsDir, "99-dashboard-final-recent-7d.png"),
253-
fullPage: true
254-
});
255-
256249
const finalSummary = await dashboardPage.evaluate(async (settingsPageUrl) => {
257250
const clickView = async (view) => {
258251
const button = document.querySelector(`[data-view="${view}"]`);
@@ -271,14 +264,12 @@ async function run() {
271264

272265
const meaningful = await clickView("meaningful");
273266
const allTabs = await clickView("all");
274-
const recent = await clickView("recent");
275267
const runtime = await chrome.runtime.sendMessage({ type: "get-runtime-status" });
276268
const browserTabs = await chrome.tabs.query({});
277269

278270
return {
279271
meaningful,
280272
allTabs,
281-
recent,
282273
runtime,
283274
allTabCount: browserTabs.length,
284275
settingsPageUrl
@@ -317,8 +308,6 @@ async function run() {
317308
`- All tabs total: ${finalSummary.allTabs.summaryTotal}`,
318309
`- All tabs duration: ${finalSummary.allTabs.summaryDuration}`,
319310
`- All tabs never-focused: ${finalSummary.allTabs.summaryNeverFocused}`,
320-
`- Most recent count (7d): ${finalSummary.recent.count}`,
321-
`- Most recent total: ${finalSummary.recent.summaryTotal}`,
322311
`- Runtime status OK: ${Boolean(finalSummary.runtime?.ok)}`,
323312
`- Runtime paused: ${String(finalSummary.runtime?.paused)}`,
324313
`- Runtime retentionDays: ${String(finalSummary.runtime?.retentionDays)}`,

tests/e2e/dashboard.spec.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,7 @@ test("all tabs view includes never-focused and focuses existing tab", async ({ p
214214
expect(calls.some((item) => item.api === "tabs.update")).toBeTruthy();
215215
});
216216

217-
test("most recent view handles navigation actions and routes settings through runtime", async ({ page }) => {
217+
test("all tabs view handles navigation actions and routes settings through runtime", async ({ page }) => {
218218
const now = Date.now();
219219
const activities = [
220220
makeActivity({
@@ -236,7 +236,7 @@ test("most recent view handles navigation actions and routes settings through ru
236236
window.__queryResult = [];
237237
});
238238

239-
await page.click('[data-view="recent"]');
239+
await page.click('[data-view="all"]');
240240
await page.click(".activity-button");
241241
await page.click("#open-settings");
242242
await page.click("#open-side-panel");

ui/dashboard.html

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ <h1>Chrome Activity Reader</h1>
3030
<div class="control-group" role="tablist" aria-label="Activity view">
3131
<button type="button" class="chip active" data-view="meaningful">Meaningful</button>
3232
<button type="button" class="chip" data-view="all">All tabs</button>
33-
<button type="button" class="chip" data-view="recent">Most recent</button>
3433
</div>
3534

3635
<div class="control-group" role="tablist" aria-label="Time range">

ui/panel.html

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ <h1>Activity Reader</h1>
3030
<div class="control-group" role="tablist" aria-label="Activity view">
3131
<button type="button" class="chip active" data-view="meaningful">Meaningful</button>
3232
<button type="button" class="chip" data-view="all">All tabs</button>
33-
<button type="button" class="chip" data-view="recent">Most recent</button>
3433
</div>
3534

3635
<div class="control-group" role="tablist" aria-label="Time range">

0 commit comments

Comments
 (0)