Using server=T with updateSelectizeInput triggers infinite loop

,

When I use updateSelectizeInput with server=T, it triggers an infinite loop. Specifically, when I choose cdr3seqnt or cdr3seqaa. My code is

update_flag <- reactiveVal(TRUE)       
observeEvent(c(input$vhits,input$dhits,input$jhits,input$cdr3seqnt,input$cdr3seqaa,input$disease1,input$tissue1,input$selection), {
          if (!update_flag()) return()  # Prevent infinite loop if we're updating
          update_flag(FALSE) 
          df <- file_data$data
          `%!in%` <- Negate(`%in%`) 
          if (input$disease1 %!in% c('','\a')) {
            df <- subset(df, disease==input$disease1)
          }
          if (input$tissue1 %!in% c('','\a')) {
            df <- subset(df, tissue.fine==input$tissue1)
          }
          if (input$vhits %!in% c('','\a')) {
            df <- subset(df, v==input$vhits)
          }
          if (input$dhits %!in% c('','\a')) {
            df <- subset(df, d==input$dhits)
          }
          if (input$jhits %!in% c('','\a')) {
            df <- subset(df, j==input$jhits)
          }
          if (input$cdr3seqnt %!in% c('','\a')) {
            df <- df[stri_detect_fixed(df$cdr3nt, input$cdr3seqnt),]        
          }
          if (input$cdr3seqaa %!in% c('','\a')) {
            df <- df[stri_detect_fixed(df$cdr3aa, input$cdr3seqaa),]        
          }
          file_data2$data <- df
          isolate({
          updateSelectInput(session,"disease1",choices = c("",sort(unique(df$disease))),selected = isolate(input$disease1))
          updateSelectInput(session,"tissue1",choices = c("",sort(unique(df$tissue.fine))),selected = isolate(input$tissue1))
          updateSelectInput(session, "vhits", choices = c('',sort(unique(df$v))), selected = isolate(input$vhits))
          updateSelectInput(session, "dhits", choices = c('',sort(unique(df$d))), selected = isolate(input$dhits))
          updateSelectInput(session, "jhits", choices = c('',sort(unique(df$j))), selected = isolate(input$jhits))
          updateSelectizeInput(session, "cdr3seqnt", choices = c('',sort(unique(df$cdr3nt))), selected = isolate(input$cdr3seqnt), server=T)
          updateSelectizeInput(session, "cdr3seqaa", choices = c('',sort(unique(df$cdr3aa))), selected = isolate(input$cdr3seqaa), server=T)
          }) 
          update_flag(TRUE) })

Any idea/s would be much appreciated.