title: R shiny session with multiple users connected
body: <p>Minimal reproducible example:</p>
  
  <pre><code>library("shiny")
  
  ui &lt;- fluidPage(
    actionButton("button1", "Run 1"),
    actionButton("button2", "Run 2")
  )
  
  server &lt;- function(session, input, output) {
    cat("session starts\n")
    observeEvent(input$button1, {
      cat("1 starts\n")
      Sys.sleep(15)
      cat("1 stops\n")
    })
  
    observeEvent(input$button2, {
      cat("2 starts\n")
      Sys.sleep(15)
      cat("2 stops\n")
    })
  }
  
  shinyApp(ui = ui, server = server)
  </code></pre>
  
  <p>Each button simulates running some long cpu-intensive algorithm.</p>
  
  <ol>
  <li>Run the app and open a session on one browser tab.</li>
  <li>Open another browser tab with another session for the running app.</li>
  <li>Start <strong>Run 1</strong> in the first tab. Go to the second browser tab and start the <strong>Run 2</strong>.</li>
  </ol>
  
  <p>The problem:
  The second button observer does not start independently. It waits until the first run is finished in the first session. I thought that shiny sessions are independent. How does shiny handle multiple shiny sessions per single R session? What if multiple users want to connect to the application at the same time?</p>
  
  <p>How does one handle multiple users running the same app at the same time?
  Thanks</p>