Skip to main content

Upcoming View

This document explains how the Upcoming view works in tududi. For technical implementation details, see /backend/modules/tasks/queries/query-builders.js and /backend/modules/tasks/recurringTaskService.js.


Overview​

The Upcoming view is a forward-looking calendar that shows tasks scheduled for the next 7 days, organized by date. It differs from the Today view by showing all upcoming work rather than just today's active tasks.

Key characteristics:

  • Shows tasks due in the next 7 days
  • Grouped by day of the week
  • Displays recurring task occurrences
  • Includes deferred tasks when they become available
  • Shows upcoming projects

URL: /upcoming


Basic Rules​

  1. Time range is 7 days ahead

    • Starts today at midnight (your timezone)
    • Ends 7 days from now at 11:59 PM (your timezone)
  2. Grouped by day, not by status or project

    • Tasks organized into columns/sections by due date
    • Labels: "Today", "Tomorrow", "Monday, March 17", etc.
    • Tasks without due dates appear in "No Due Date" section
  3. All tasks are loaded at once

    • No "Load More" or pagination
    • Shows complete 7-day view
  4. Recurring tasks show as multiple occurrences

    • Each occurrence appears on its due date
    • Same task can appear on multiple days
    • These are "virtual" previews generated on-the-fly
  5. Cannot create new tasks from Upcoming view

    • "New Task" button is hidden
    • Create tasks from Inbox, Today, or specific projects instead

What Tasks Appear in Upcoming​

Tasks Included​

A task appears in Upcoming if it matches any of these conditions:

  1. Regular tasks with due dates

    • Due date falls within the next 7 days
    • Not marked as completed (unless viewing completed tasks)
  2. Tasks becoming available from deferral

    • "Defer Until" date falls within the next 7 days
    • Shows when the task becomes actionable, not when it's due
  3. Recurring task occurrences

    • All occurrences of recurring tasks in the next 7 days
    • Generated automatically from the recurring pattern
    • Each occurrence appears on its scheduled date
  4. Tasks without due dates

    • Appear in "No Due Date" section
    • Only if they match other filters (status, etc.)

Tasks Excluded​

Tasks that don't appear:

  1. Overdue tasks (due before today)

    • Past-due non-recurring tasks don't appear
    • Exception: Recurring tasks continue showing future occurrences
  2. Future tasks (due more than 7 days ahead)

    • Only shows the next 7-day window
    • Tasks due next month won't appear
  3. Completed tasks (by default)

    • Unless you select "Completed" status filter
    • Can toggle between Active/Completed/All
  4. Subtasks

    • Only parent tasks appear
    • Subtasks are shown within their parent task details

How Recurring Tasks Work in Upcoming​

Virtual Occurrences​

Recurring tasks appear as virtual occurrences - previews of future instances:

  1. Each occurrence gets its own date

    • A daily task appears 7 times (once per day)
    • A weekly task appears 1-2 times (depending on the week)
    • A monthly task appears 0-1 times (if it falls within 7 days)
  2. Occurrences are generated automatically

    • Based on the recurring pattern (daily, weekly, monthly, etc.)
    • Respects the recurrence interval (every 2 days, every 3 weeks, etc.)
    • Stops at the recurrence end date (if set)
  3. Each occurrence can be acted on independently

    • Click to view details
    • Mark as complete
    • Edit the parent task (affects all future occurrences)

Recurrence Patterns​

Patterns shown in Upcoming:

  • Daily: Every N days

    • Example: Every 2 days shows on Day 1, Day 3, Day 5, Day 7
  • Weekly: Every N weeks on specific day(s)

    • Example: Every Monday shows next Monday (and following Monday if within 7 days)
    • Example: Mon+Wed+Fri shows 3 occurrences per week
  • Monthly: Every N months on specific day

    • Example: 15th of every month (only appears if within 7 days)
  • Monthly Weekday: Every N months on specific weekday

    • Example: 2nd Thursday of every month
  • Monthly Last Day: Last day of every month

Overdue Recurring Tasks​

If a recurring task is overdue:

  • The system automatically advances to the next future occurrence
  • Past-due occurrences are skipped
  • Only upcoming occurrences appear in the view

Example:

  • Recurring task: "Weekly Report" every Monday
  • Today: Wednesday, March 12
  • Last completed: Monday, March 3 (overdue)
  • Shows in Upcoming: Monday, March 17 (next occurrence)
  • Doesn't show: Monday, March 10 (past, skipped)

Grouping and Organization​

Day-Based Grouping​

Tasks are organized into date columns/sections:

Group Labels:

  1. "Today" - Tasks due today
  2. "Tomorrow" - Tasks due tomorrow
  3. "[Weekday], [Date]" - Other dates (e.g., "Monday, March 17")
  4. "No Due Date" - Tasks without due dates

Languages:

  • Group labels are translated into 24 supported languages
  • Date formats respect your locale settings

Within Each Day​

Tasks are sorted by:

  • Selected sort order (due date, priority, name, etc.)
  • Default: Creation date (newest first)

Sort options available:

  • Due date (earliest or latest first)
  • Priority (high to low, or low to high)
  • Name (A-Z or Z-A)
  • Status (by completion state)
  • Created date (newest or oldest first)
  • Completed date (for completed tasks)

No Project Grouping​

Unlike the main Tasks view:

  • Cannot group by project
  • All tasks mixed together by date
  • Projects shown separately below the task list

Status Filtering​

Filter Options​

You can filter what appears in Upcoming:

  1. Active (default)

    • Shows only non-completed tasks
    • Includes: Not Started, In Progress, Planned, Waiting
  2. Completed

    • Shows only completed tasks from the past 7 days
    • Useful for reviewing what you finished
  3. All (no filter)

    • Shows both active and completed tasks
    • Mixed view of everything

How to Filter​

  • Click the status filter dropdown in the toolbar
  • Selection is saved to URL (can bookmark)
  • Changes immediately update the view

Defer Until Behavior​

How Deferred Tasks Appear​

Tasks with "Defer Until" dates show special behavior:

  1. Task deferred to future date within 7 days

    • Appears in Upcoming on the defer date
    • Shows in the day column for when it becomes available
    • May have a different due date (later than defer date)
  2. Task deferred beyond 7 days

    • Doesn't appear in Upcoming
    • Hidden until defer date gets closer
  3. Task deferred to today or past

    • Appears immediately in Upcoming
    • Acts like a normal task

Example Scenarios​

Scenario 1: Deferred task appears

  • Task: "Review contract"
  • Due date: March 20
  • Defer until: March 15
  • Today: March 12
  • Shows in Upcoming: Yes, under "March 15" (when it becomes available)

Scenario 2: Deferred task hidden

  • Task: "Q2 planning"
  • Due date: April 1
  • Defer until: March 25
  • Today: March 12
  • Shows in Upcoming: No (defer date is beyond 7 days)

Upcoming Projects​

What Projects Appear​

Projects show separately at the bottom of Upcoming if:

  • Project has a due date set
  • Due date falls within the next 7 days
  • Project is not archived or completed

Project Display​

  • Shown below all tasks
  • Grouped by the same date system
  • Click to view project details
  • Shows project progress and task count

Special Features​

Responsive Layout​

Desktop (wide screens):

  • Horizontal columns for each day
  • Board-style layout
  • Tasks arranged left to right across the week

Mobile (narrow screens):

  • Vertical stacked sections
  • One day at a time
  • Scroll down to see future days
  • Search bar is hidden in Upcoming view
  • Use main Tasks view or Inbox for searching
  • Upcoming is for browsing by date only

No Pagination​

  • All tasks for 7 days load immediately
  • No "Load More" button
  • Fast loading optimized for weekly view

Auto-Refresh​

The Upcoming view automatically refreshes:

  • When you complete a task
  • When you change task status
  • When you edit a task's due date
  • Every few minutes to catch external changes

Differences from Today View​

FeatureToday ViewUpcoming View
Time rangeOnly todayNext 7 days
GroupingBy section (Planned, Overdue, etc.)By date
Status focusActive tasks onlyAll tasks (filterable)
Recurring displayParent + today's instanceAll virtual occurrences
New task creationAvailableNot available
SearchAvailableNot available
PaginationYes (Load More)No (all loaded)
LayoutVertical listBoard layout

User Settings​

Configurable Options​

SettingDefaultHow to Change
Status filterActiveDropdown in toolbar
Sort orderCreated date (newest)Sort dropdown in toolbar
Sort directionDescendingToggle in sort dropdown

Saved Preferences​

  • Sort order: Saved to browser localStorage
  • Status filter: Saved to URL (can bookmark)
  • Mobile/Desktop: Auto-detected from screen size

Common Use Cases​

1. Planning Your Week​

What to do:

  • Open Upcoming view on Monday morning
  • Scan across all 7 days
  • See what's coming and when
  • Reschedule overloaded days

2. Checking Recurring Tasks​

What to do:

  • Look for recurring tasks appearing multiple times
  • Verify the pattern is correct
  • Edit parent task if pattern needs adjustment

3. Finding Available Tasks​

What to do:

  • Check "No Due Date" section
  • See tasks you deferred that become available
  • Plan when to work on undated tasks

4. Reviewing Completed Work​

What to do:

  • Switch to "Completed" status filter
  • See what you finished this week
  • Track recurring task completion history

Example Scenarios​

Scenario 1: Daily Recurring Task​

Setup:

  • Task: "Morning workout"
  • Pattern: Every day at 7 AM
  • Today: Monday, March 10

Shows in Upcoming:

  • Monday, March 10: Morning workout
  • Tuesday, March 11: Morning workout
  • Wednesday, March 12: Morning workout
  • Thursday, March 13: Morning workout
  • Friday, March 14: Morning workout
  • Saturday, March 15: Morning workout
  • Sunday, March 16: Morning workout

Total appearances: 7 times (once per day)

Scenario 2: Weekly Multi-Day Recurring Task​

Setup:

  • Task: "Team standup"
  • Pattern: Every Mon, Wed, Fri
  • Today: Monday, March 10

Shows in Upcoming:

  • Monday, March 10: Team standup
  • Wednesday, March 12: Team standup
  • Friday, March 14: Team standup
  • Monday, March 17: Team standup

Total appearances: 4 times

Scenario 3: Deferred Task Becoming Available​

Setup:

  • Task: "Review proposal"
  • Due date: March 25
  • Defer until: March 14
  • Today: March 10

Shows in Upcoming:

  • Thursday, March 14: Review proposal
  • (Not shown on March 10-13 because still deferred)
  • (Won't show on March 15-16 unless due date moves)

Scenario 4: One-Time Task with Due Date​

Setup:

  • Task: "Submit report"
  • Due date: March 15
  • Today: March 10

Shows in Upcoming:

  • Friday, March 15: Submit report

Total appearances: 1 time (not recurring)


Troubleshooting​

"My task doesn't appear in Upcoming"​

Check these:

  1. Is the due date more than 7 days away? (Only shows next 7 days)
  2. Is the due date in the past? (Overdue tasks don't appear)
  3. Is it marked as completed? (Switch to "Completed" filter to see)
  4. Is it a subtask? (Only parent tasks appear)
  5. Is it deferred beyond 7 days? (Won't appear until defer date is closer)

"My recurring task shows too many times"​

This is normal if:

  • Pattern is daily (shows 7 times)
  • Pattern is multi-day weekly (shows multiple times per week)

To reduce occurrences:

  • Increase the recurrence interval (every 2 days instead of daily)
  • Change to single-day weekly pattern
  • Set a recurrence end date

"My recurring task doesn't show at all"​

Check these:

  1. Is the recurrence end date in the past? (Task stopped recurring)
  2. Is the task completed and not advancing? (Check completion-based setting)
  3. Is the next occurrence beyond 7 days? (Monthly tasks may not appear)

Technical Implementation Files:

  • Backend query builder: /backend/modules/tasks/queries/query-builders.js
  • Recurring task service: /backend/modules/tasks/recurringTaskService.js
  • Frontend component: /frontend/components/Tasks.tsx
  • Grouping logic: /backend/modules/tasks/operations/grouping.js

Document Version: 1.0.0 Last Updated: 2026-03-14 Audience: Developers, AI assistants, and end users