Action | Type | Resolved On |
|---|---|---|
| Correct Levels | Fixing | 2026-01-14 |
Items in the project status view were being displayed in incorrect columns. For example, “Watching.im” configured as level 2 (Coding) in the database was appearing under the Learning column instead of the Coding column.
The issue occurred because:
backlog function returned items ordered by level but didn’t include level informationsrc/lib/monthly.ts:
works[i].level = result.data[i].level to include level information in returned dataresult.data[i].level as the index instead of loop variable isrc/components/planner/benben/Project.astro:
data prop to rawData to distinguish from organized dataorganizedData array initialized with 4 empty slots (one per level)rawData into correct position based on its level propertyaverage function from data:[any] to data:any[]Now items are correctly placed in columns according to their database level:
A related issue was found in the detailed kanban view (/benben/projects/benben/[category]) where story names were appearing in incorrect categories even though tasks were correctly filtered.
The Problem:
In the focus() function within src/lib/monthly.ts, backlog stories were being returned in an array ordered by level, but then assigned to categories by array position rather than by their actual level value. This caused a mismatch between:
For example, if the database had:
The focus() function would return ["learning-task", "watching.im"] (ordered by level), and “learning-task” would incorrectly appear as the story name in the Learning tab (stories[0]) instead of in its correct category.
The Solution:
Modified the focus() function in src/lib/monthly.ts:218-245 to:
["", "", "", ""]stories[level] = result.data[i].story// Before (buggy):
let stories: string[] = [];
for (let i = 0; i < result.data.length; i++) {
stories.push(result.data[i].story);
}
// After (fixed):
let stories: string[] = ["", "", "", ""];
for (let i = 0; i < result.data.length; i++) {
const level = result.data[i].level;
if (level >= 0 && level <= 3) {
stories[level] = result.data[i].story;
}
}
This ensures that in the detailed kanban view, story names are correctly displayed in their corresponding category tabs.