fix: Allow browser authentication to Snowflake from the Deploy pane#1290
Merged
fix: Allow browser authentication to Snowflake from the Deploy pane#1290
Conversation
b569eb9 to
5cede55
Compare
aronatkins
approved these changes
Feb 26, 2026
| # Detect when we're running in the Deploy pane of RStudio and enable | ||
| # "interactive" temporarily so that external browser authentication is | ||
| # permitted. | ||
| if (rstudioapi::isBackgroundJob()) { |
Contributor
There was a problem hiding this comment.
There is a mix of calls to base::interactive() and rlang::is_interactive(). Should they all shift to rlang::is_interactive()? Alternatively, should we have our own internal is_interactive() implementation which consults rstudioapi::isBackgroundJob()?
Contributor
Author
There was a problem hiding this comment.
I feel like this targeted fix is what I'm after for now. Changing how we think about interactive() everywhere might have other side effects.
5cede55 to
e63be0e
Compare
The `snowflakeauth` package only permits external browser authentication from interactive contexts, which makes sense in most cases. However, push-button deployments from the RStudio IDE actually run in a separate Deploy pane, not from the interactive console -- which isn't considered "interactive" by default. So this commit tells `rlang` to temporarily treat this as an interactive context, which allows the browser flow to work. Fixes #1289. Signed-off-by: Aaron Jacobs <aaron.jacobs@posit.co>
e63be0e to
2d1af2c
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The
snowflakeauthpackage only permits external browser authentication from interactive contexts, which makes sense in most cases.However, push-button deployments from the RStudio IDE actually run in a separate Deploy pane, not from the interactive console -- which isn't considered "interactive" by default.
So this commit tells
rlangto temporarily treat this as an interactive context, which allows the browser flow to work.This actually requires a change to the
snowflakeauthpackage as well: posit-dev/snowflakeauth@dbd4830. We'll have to get another release of that package out to enable this fix to work properly.Fixes #1289.