Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Token auto-refresh hangs on windows machine #204

Open
collinschwantes opened this issue Jun 10, 2022 · 2 comments
Open

Token auto-refresh hangs on windows machine #204

collinschwantes opened this issue Jun 10, 2022 · 2 comments

Comments

@collinschwantes
Copy link

Using the process from #201, I generated auto-refreshing "long term tokens". The process runs smoothly on unix machines; however, when working on windows machines the auto-refresh hangs and eventually gives an error. The token is refreshed during the process but for some reason the function errors out.

Running:

library(rdrop2)

rdrop2::drop_auth(rdstoken = "auth/db_token.rds")

rdrop2::drop_download("some/dropbox/file.csv", local_path = "Dropbox_data.csv", overwrite = TRUE)

Returns:

Auto-refreshing stale OAuth token.
Error in .rs.parsePackageDependencies(contents, extension) :
  object 'partition_yaml_front_matter' not found
Error in .rs.parsePackageDependencies(contents, extension) :
  object 'partition_yaml_front_matter' not found
Error in .rs.parsePackageDependencies(contents, extension) :
  object 'partition_yaml_front_matter' not found

Expected Behaviour

Expect the token refresh process to occur without generating an error

Actual Behaviour

Token is refreshed but function returns an error.

Account Type

Dropbox Business Advanced

Session Info

Replace the output below (inside the backticks) with output from devtools::session_info() (or sessionInfo() if you don't have devtools installed)

R version 4.1.1 (2021-08-10)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 19043)
Matrix products: default
locale:
[1] LC_COLLATE=English_United States.1252
[2] LC_CTYPE=English_United States.1252
[3] LC_MONETARY=English_United States.1252
[4] LC_NUMERIC=C
[5] LC_TIME=English_United States.1252
attached base packages:
[1] stats     graphics  grDevices datasets  utils     methods   base
other attached packages:
 [1] here_1.0.1      httpuv_1.6.5    rdrop2_0.8.2.1  janitor_2.1.0
 [5] forcats_0.5.1   stringr_1.4.0   purrr_0.3.4     readr_2.1.2
 [9] tidyr_1.2.0     tibble_3.1.6    ggplot2_3.3.5   tidyverse_1.3.1
[13] dplyr_1.0.8     airtabler_0.1.6
loaded via a namespace (and not attached):
 [1] httr_1.4.2                 jsonlite_1.8.0
 [3] assertive.sets_0.0-3       modelr_0.1.8
 [5] assertthat_0.2.1           askpass_1.1
 [7] assertive.data_0.0-3       renv_0.14.0
 [9] cellranger_1.1.0           yaml_2.3.5
[11] pillar_1.7.0               backports_1.4.1
[13] glue_1.6.2                 digest_0.6.29
[15] [assertive.data.uk](http://assertive.data.uk/)_0.0-2    assertive.matrices_0.0-2
[17] assertive.types_0.0-3      promises_1.2.0.1
[19] rvest_1.0.2                snakecase_0.11.0
[21] colorspace_2.0-3           htmltools_0.5.2
[23] pkgconfig_2.0.3            broom_0.7.12
[25] assertive.properties_0.0-4 [assertive.data.us](http://assertive.data.us/)_0.0-2
[27] assertive.reflection_0.0-5 haven_2.4.3
[29] scales_1.1.1               later_1.3.0
[31] assertive_0.3-6            tzdb_0.2.0
[33] openssl_2.0.0              generics_0.1.2
[35] ellipsis_0.3.2             withr_2.5.0
[37] assertive.code_0.0-3       cli_3.2.0
[39] magrittr_2.0.2             crayon_1.5.1
[41] readxl_1.4.0               assertive.strings_0.0-3
[43] evaluate_0.15              fs_1.5.2
[45] fansi_1.0.2                assertive.numbers_0.0-2
[47] xml2_1.3.3                 tools_4.1.1
[49] hms_1.1.1                  lifecycle_1.0.1
[51] assertive.files_0.0-2      munsell_0.5.0
[53] reprex_2.0.1               compiler_4.1.1
[55] rlang_1.0.2                grid_4.1.1
[57] rstudioapi_0.13            assertive.models_0.0-2
[59] assertive.base_0.0-9       rmarkdown_2.13
[61] gtable_0.3.0               codetools_0.2-18
[63] DBI_1.1.2                  curl_4.3.2
[65] assertive.datetimes_0.0-3  R6_2.5.1
[67] lubridate_1.8.0            knitr_1.37
[69] fastmap_1.1.0              utf8_1.2.2
[71] rprojroot_2.0.2            stringi_1.7.6
[73] Rcpp_1.0.8.3               vctrs_0.3.8
[75] dbplyr_2.1.1               tidyselect_1.1.2
[77] xfun_0.30

@collinschwantes
Copy link
Author

A little hacky but downloading a file first seems to resolve the issues with uploads not properly refreshing the token.

refresh_db_token<-function(path = "auth/db_token.rds"){ 
  rdrop2::drop_auth(rdstoken = path, cache = FALSE)
  # download a small file to get the token to refresh properly. Allows upload functions to work. 
  rdrop2::drop_download("tinyFile.csv",local_path = here("Dropbox_data"), overwrite = TRUE)
  file.remove(here("Dropbox_data/tinyFile.csv"))
  }

@tadhg-moore
Copy link

I had the same issue of it hanging but now this hack is working for me,

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants