R Módulos brilhantes com painel condicional e reativos

Estou tentando modularizar um aplicativo Shiny complexo para o qual tenho umconditionalPanel que deve aparecer apenas com um determinado estado de entrada.

Antes de fazer tudo modular, a entrada e o condicionalPanel estavam emui.R, e eu poderia referenciar a entrada usando algo como isto:

conditionalPanel("input.select == 'Option one'", p('Option one is selected'))

Agora que modifiquei as coisas, acessar a entrada é mais complicado. Eu pensei que o seguinte era a maneira de fazê-lo, mas não funciona muito bem. (Aqui eu combinei as coisas em um único script independente):

library(shiny)

## Module code for 'selectorUI' and 'selector'
selectorUI <- function(id) {
  ns <- NS(id)
  selectizeInput(inputId = ns('select'),
                 label = 'Make a choice:',
                 choices = c('Option one', 'Option two'))
}

selector <- function(input, output, session) {
  reactive(input$select)
}

## Main app
ui <- shinyUI(fluidPage(
  selectorUI('id1'),
  conditionalPanel(condition = "output.selected == 'Option one'", p('Option one is selected.'))
))

server <- shinyServer(function(input, output, session) {
  output$selected <- callModule(selector, 'id1')
})

shinyApp(ui = ui, server = server)

Acho que isso deve funcionar, mas não funciona - só funciona se eu fizer outra referência aoutput$selected na seção principal da interface do usuário:

ui <- shinyUI(fluidPage(
  selectorUI('id1'),
  textOutput('selected'),   ## Adding just this one line makes the next line work
  conditionalPanel(condition = "output.selected == 'Option one'", p('Option one is selected.'))
))

Infelizmente, é claro que isso tem o efeito indesejado de renderizar o resultado detextOutput('selected'). Só posso supor que o motivo disso funcione é porque, de alguma forma, aciona a reativa de uma maneira que a referência JavaScript sozinha não.

Alguma idéia de como eu deveria ter esse condicionalPanel para funcionar corretamente?

Obrigado..

EDIT: Acontece que na verdade não é um bug:https://github.com/rstudio/shiny/issues/1318. Veja minha própria resposta abaixo.

Mas também observe que eu realmente gosto dorenderUI solução dada na resposta aceita melhor do que a minha originalconditionalPanel aproximação.

questionAnswers(2)

yourAnswerToTheQuestion