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
-
Time range is 7 days ahead
- Starts today at midnight (your timezone)
- Ends 7 days from now at 11:59 PM (your timezone)
-
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
-
All tasks are loaded at once
- No "Load More" or pagination
- Shows complete 7-day view
-
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
-
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:
-
Regular tasks with due dates
- Due date falls within the next 7 days
- Not marked as completed (unless viewing completed tasks)
-
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
-
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
-
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:
-
Overdue tasks (due before today)
- Past-due non-recurring tasks don't appear
- Exception: Recurring tasks continue showing future occurrences
-
Future tasks (due more than 7 days ahead)
- Only shows the next 7-day window
- Tasks due next month won't appear
-
Completed tasks (by default)
- Unless you select "Completed" status filter
- Can toggle between Active/Completed/All
-
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:
-
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)
-
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)
-
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:
- "Today" - Tasks due today
- "Tomorrow" - Tasks due tomorrow
- "[Weekday], [Date]" - Other dates (e.g., "Monday, March 17")
- "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:
-
Active (default)
- Shows only non-completed tasks
- Includes: Not Started, In Progress, Planned, Waiting
-
Completed
- Shows only completed tasks from the past 7 days
- Useful for reviewing what you finished
-
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:
-
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)
-
Task deferred beyond 7 days
- Doesn't appear in Upcoming
- Hidden until defer date gets closer
-
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
No Search
- 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
| Feature | Today View | Upcoming View |
|---|---|---|
| Time range | Only today | Next 7 days |
| Grouping | By section (Planned, Overdue, etc.) | By date |
| Status focus | Active tasks only | All tasks (filterable) |
| Recurring display | Parent + today's instance | All virtual occurrences |
| New task creation | Available | Not available |
| Search | Available | Not available |
| Pagination | Yes (Load More) | No (all loaded) |
| Layout | Vertical list | Board layout |
User Settings
Configurable Options
| Setting | Default | How to Change |
|---|---|---|
| Status filter | Active | Dropdown in toolbar |
| Sort order | Created date (newest) | Sort dropdown in toolbar |
| Sort direction | Descending | Toggle 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:
- Is the due date more than 7 days away? (Only shows next 7 days)
- Is the due date in the past? (Overdue tasks don't appear)
- Is it marked as completed? (Switch to "Completed" filter to see)
- Is it a subtask? (Only parent tasks appear)
- 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:
- Is the recurrence end date in the past? (Task stopped recurring)
- Is the task completed and not advancing? (Check completion-based setting)
- Is the next occurrence beyond 7 days? (Monthly tasks may not appear)
Related Documentation
- Recurring Tasks Behavior - How recurring tasks work
- Today Page Sections - How Today page differs from Upcoming
- Architecture Overview - Technical architecture
- Development Workflow - Working with the codebase
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