@@ -454,6 +454,13 @@ async function undoneAllSubtasks(parentTaskId, userId) {
454
454
455
455
// Filter tasks by parameters
456
456
async function filterTasksByParams ( params , userId , userTimezone ) {
457
+ // Disable search functionality for upcoming view
458
+ if ( params . type === 'upcoming' ) {
459
+ // Remove search-related parameters to prevent search functionality
460
+ params = { ...params , client_side_filtering : false } ;
461
+ delete params . search ;
462
+ }
463
+
457
464
let whereClause = {
458
465
user_id : userId ,
459
466
parent_task_id : null , // Exclude subtasks from main task lists
@@ -558,6 +565,7 @@ async function filterTasksByParams(params, userId, userTimezone) {
558
565
559
566
// For upcoming view, we want to show recurring instances (children) with due dates
560
567
// Override the default whereClause to include recurring instances
568
+ // NOTE: Search functionality is disabled for upcoming view - ignore client_side_filtering
561
569
whereClause = {
562
570
user_id : userId ,
563
571
parent_task_id : null , // Exclude subtasks from main task lists
@@ -608,8 +616,8 @@ async function filterTasksByParams(params, userId, userTimezone) {
608
616
whereClause . status = Task . STATUS . WAITING ;
609
617
break ;
610
618
case 'all' :
611
- // Exclude recurring task instances from all view
612
- whereClause . recurring_parent_id = null ;
619
+ // For 'all' view, include both recurring templates and instances
620
+ // The complex OR logic above already handles this correctly
613
621
if ( params . status === 'done' ) {
614
622
whereClause . status = { [ Op . in ] : [ Task . STATUS . DONE , 'done' ] } ;
615
623
} else if ( ! params . client_side_filtering ) {
0 commit comments