rstudio / rsconnect

Publish Shiny Applications, RMarkdown Documents, Jupyter Notebooks, Plumber APIs, and more
http://rstudio.github.io/rsconnect/
129 stars 79 forks source link

Return stub deployments when matching records do not exist. #1015

Closed aronatkins closed 9 months ago

aronatkins commented 9 months ago

The stub deployment is subsequently used to look-up the application by name. This lets showLogs, configureApp, setProperty, and unsetProperty interact with shinyapps.io when the client lacks a deployment record.

Does not address issues with publishing, such as #1013.

Fixes #985 Fixes #989

aronatkins commented 9 months ago

Checking my understanding: This works because the ShinyApps.io API works with just the info contained in the stub deployment.

The getAppByName function only needs the server, account, and name to locate an application. That's enough to let these calls interact with shinyapps.io -- a full deployment record is unnecessary.

We likely need something similar for the re-deploy workflow, but that will probably need to create a full deployment record. The functions referenced in this PR were the only ones which used findDeployment(), which let me create a narrower solution.

toph-allen commented 9 months ago

Verification

Deployed a test app to ShinyApps.io and deleted the rsconnect subdirectory containing deployment records.