Bug Description
In the All Tasks and Archived views, only the Due soon section is rendered. The This week and Completed task groups are never displayed even when matching tasks exist.
Additionally, extracted tasks can be added twice because addItemsBtn has a duplicate click listener registered outside the existing DOMContentLoaded handler.
Root Cause
Inside js/app.js in renderTasks(), a missing + operator between adjacent renderGroup(...) calls causes JavaScript Automatic Semicolon Insertion (ASI) to split the innerHTML assignment into separate statements.
As a result, only the first group is assigned while the remaining groups are evaluated and discarded.
// Broken behavior
tasksSection.innerHTML = actionBar +
renderGroup('⚠ Due soon', ...);
renderGroup('This week', ...) +
renderGroup('Completed', ...) +
emptyState;
The duplicate event listener issue is caused by an additional addItemsBtn click handler registered at module level while the same logic already exists inside DOMContentLoaded.
Steps To Reproduce
-
Add:
- at least one upcoming task more than 3 days away
- at least one completed task
-
Open the All Tasks view
-
Observe:
- only Due soon is rendered
- This week and Completed sections are missing
-
Extract planner items and click:
-
Observe duplicated task insertion
Expected Behavior
Proposed Fix
- Add the missing
+ operator between adjacent renderGroup(...) calls in renderTasks()
- Remove the duplicate
addItemsBtn click listener registered outside DOMContentLoaded
I would like to work on this issue as a GSSoC 2026 contributor.
Bug Description
In the All Tasks and Archived views, only the Due soon section is rendered. The This week and Completed task groups are never displayed even when matching tasks exist.
Additionally, extracted tasks can be added twice because
addItemsBtnhas a duplicate click listener registered outside the existingDOMContentLoadedhandler.Root Cause
Inside
js/app.jsinrenderTasks(), a missing+operator between adjacentrenderGroup(...)calls causes JavaScript Automatic Semicolon Insertion (ASI) to split theinnerHTMLassignment into separate statements.As a result, only the first group is assigned while the remaining groups are evaluated and discarded.
The duplicate event listener issue is caused by an additional
addItemsBtnclick handler registered at module level while the same logic already exists insideDOMContentLoaded.Steps To Reproduce
Add:
Open the All Tasks view
Observe:
Extract planner items and click:
Observe duplicated task insertion
Expected Behavior
All applicable task groups should render correctly:
Extracted tasks should only be added once per click.
Proposed Fix
+operator between adjacentrenderGroup(...)calls inrenderTasks()addItemsBtnclick listener registered outsideDOMContentLoadedI would like to work on this issue as a GSSoC 2026 contributor.