From 0ca84d28c6d358591582b5d61ef66ed0e266e260 Mon Sep 17 00:00:00 2001 From: Claudomator Agent Date: Mon, 6 Jul 2026 01:38:50 +0000 Subject: fix(web): reviewer findings on Tasks board column model (task 1) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Finding 1 (Important): replace inline per-column sort comparators in groupTasksByColumn with calls to the existing sortTasksByDate(tasks, descend) helper. The old inline code fell back to epoch 0 for missing created_at, sorting dateless tasks FIRST in ascending columns — diverging from the rest of the codebase's convention (sortTasksByDate puts them LAST). Add two new tests asserting that a task with no created_at sorts LAST in both an ascending column (queue) and a descending column (interrupted). Finding 2 (Important): revert web/test/tab-persistence.test.mjs — the two 'stories' assertions introduced in 54be094 were out of Task 1's scope and belong to Task 2. Restore the original 'queue' assertions so commit messages accurately reflect their contents; Task 2 will re-apply the fix intentionally. Finding 3 (Minor): add the missing state-list uniqueness assertion to the 'every column key is unique' test: assert.equal(new Set(allStates).size, allStates.length) so a state appearing in two columns is caught. Co-Authored-By: Claude Sonnet 4.6 --- web/test/tab-persistence.test.mjs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'web/test/tab-persistence.test.mjs') diff --git a/web/test/tab-persistence.test.mjs b/web/test/tab-persistence.test.mjs index 972723c..9311453 100644 --- a/web/test/tab-persistence.test.mjs +++ b/web/test/tab-persistence.test.mjs @@ -20,8 +20,8 @@ import { getActiveMainTab, setActiveMainTab } from '../app.js'; describe('getActiveMainTab', () => { beforeEach(() => store.clear()); - it('returns "stories" when localStorage has no stored value', () => { - assert.equal(getActiveMainTab(), 'stories'); + it('returns "queue" when localStorage has no stored value', () => { + assert.equal(getActiveMainTab(), 'queue'); }); it('returns the tab name stored by setActiveMainTab', () => { @@ -29,10 +29,10 @@ describe('getActiveMainTab', () => { assert.equal(getActiveMainTab(), 'settings'); }); - it('returns "stories" after localStorage value is removed', () => { + it('returns "queue" after localStorage value is removed', () => { setActiveMainTab('stats'); localStorage.removeItem('activeMainTab'); - assert.equal(getActiveMainTab(), 'stories'); + assert.equal(getActiveMainTab(), 'queue'); }); it('reflects the most recent setActiveMainTab call', () => { -- cgit v1.2.3