Shiny 1.7 Problem with navbarPage

I've created several Shiny apps with a navbarPage containing several tabPanels using bslib theme. However, Shiny 1.7 creates problems when run on ShinyServerPro/Linux: the app won't switch tabPanels. Works fine on Windows and works fine on the ShinyServer with Shiny 1.6. All installations are running R 4.1.1.

Here's a reprex.

library(shiny)
library(dplyr)
#> 
#> Attaching package: 'dplyr'
#> The following objects are masked from 'package:stats':
#> 
#>     filter, lag
#> The following objects are masked from 'package:base':
#> 
#>     intersect, setdiff, setequal, union
library(bslib)
#> 
#> Attaching package: 'bslib'
#> The following object is masked from 'package:utils':
#> 
#>     page

ui <- navbarPage("Shiny App", id = 'pg', selected = 'Panel1',
                           theme = bs_theme(version = 4, bootswatch = 'slate', bg = "#3D4753", fg = "#CCD1D5", # '#A9B4BC'
                                            base_font = font_google("Fira Sans"), heading_font = "PTSerif"),
                           tabPanel("Panel1",
                                   sidebarLayout(
                                       sidebarPanel(
                                           
                                           dateInput("date1", "One's Date:"),
                                           div(style="display:inline-block; padding-right: 10px;", actionButton(inputId = "Ago", label = "Run")),
                                           HTML('<p> </p>'),
                                           actionButton(inputId = 'stop1', label = 'Exit'),
                                           width = 3
                                       ), 
                                       
                                       mainPanel(
                                           h3('One'),
                                           HTML('<p> </p>'),
                                           HTML('<p><b>Some Content of Interest</b></p>'),
                                       )
                                   )),
                          tabPanel("Panel2", 
                                   sidebarLayout(
                                       sidebarPanel(
                                           dateInput("date2", "Two's Date:"),
                                           div(style="display:inline-block; padding-right: 10px;", actionButton(inputId = "Fgo", label = "Run")),
                                           HTML('<p> </p>'),
                                           actionButton(inputId = 'stop2', label = 'Exit'),
                                           width = 3
                                       ),
                                       
                                       mainPanel(h3('Two'), 
                                                 HTML('<p> </p>'),
                                                 HTML('<p><b>Some Content of Interest</b></p>'),
                                                 
                                       ))),
                          tabPanel("Panel3",
                                   sidebarLayout(
                                       sidebarPanel(
                                         dateInput("date3", "Three's Date:"),  
                                         div(style="display:inline-block; padding-right: 10px;", actionButton(inputId = "Rgo", label = "Run")),
                                         HTML('<p> </p>'),
                                         actionButton(inputId = 'stop3', label = 'Exit'),
                                         width = 3
                                       ),
                                       
                                       mainPanel(h3('Three'),   
                                                 HTML('<p> </p>'),
                                                 HTML('<p><b>Some Content of Interest</b></p>'),
                                       )
                                   ))

)

server <- function(input, output, session) {
    
    observeEvent({c(input$stop1, input$stop2, input$stop3)}, {stopApp()}, ignoreInit = T)
  
    observeEvent(input$Ago,{
      foo <- devtools::session_info() 
      foo2 <- foo$packages %>% as_tibble()
      cat(file=stderr(), foo2 %>% filter(attached) %>% mutate(load = paste0(package, '\t', loadedversion, collapse = '\n')) %>% 
            select(load) %>% distinct() %>% pull())})
    
}

Created on 2021-11-10 by the reprex package (v2.0.1)

I think it's more likely for you to get attention from the development team if you file an issue on the GitHub repository

This topic was automatically closed 54 days after the last reply. New replies are no longer allowed.

If you have a query related to it or one of the replies, start a new topic and refer back with a link.