From bde2fc14c7c85d1c7fdb0e6b761459c1875d8e46 Mon Sep 17 00:00:00 2001 From: "kihong.kim" Date: Sun, 1 Feb 2026 01:17:48 +0900 Subject: [PATCH] Fix: Show only incomplete todos due today or later (exclude overdue items) --- backend/routes/todos.js | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/backend/routes/todos.js b/backend/routes/todos.js index 71cc11b..0b8141f 100644 --- a/backend/routes/todos.js +++ b/backend/routes/todos.js @@ -37,17 +37,16 @@ router.get("/", async (req, res) => { router.get("/today", async (req, res) => { try { - const { start, end } = getDayRange(); - // Include: - // 1. Tasks due today - // 2. Overdue tasks (due before today) that are not completed - // 3. Tasks with no due date that are not completed + const { start } = getDayRange(); + // Show incomplete todos that are: + // 1. Due today or later (not overdue) + // 2. Have no due date set const todos = await Todo.find({ + completed: false, $or: [ - { dueDate: { $gte: start, $lte: end } }, - { dueDate: { $lt: start }, completed: false }, - { dueDate: { $exists: false }, completed: false }, - { dueDate: null, completed: false } + { dueDate: { $gte: start } }, + { dueDate: { $exists: false } }, + { dueDate: null } ] }).sort({ dueDate: 1,