File tree Expand file tree Collapse file tree 1 file changed +14
-1
lines changed Expand file tree Collapse file tree 1 file changed +14
-1
lines changed Original file line number Diff line number Diff line change @@ -85,7 +85,7 @@ default_backend_auto <- function() {
8585 backend_secret_service $ new()$ is_available()) {
8686 backend_secret_service
8787
88- } else if (" file" %in% names(known_backends )) {
88+ } else if (" file" %in% names(known_backends ) && file_backend_works() ) {
8989 backend_file
9090
9191 } else {
@@ -97,6 +97,19 @@ default_backend_auto <- function() {
9797 }
9898}
9999
100+ file_backend_works <- function () {
101+ tryCatch({
102+ kb <- backend_file $ new()
103+ krs <- kb $ keyring_list()
104+ def <- kb $ keyring_default()
105+ if (! def %in% krs $ keyring ) {
106+ return (FALSE )
107+ }
108+ kb $ list ()
109+ TRUE
110+ }, error = function (err ) FALSE )
111+ }
112+
100113backend_factory <- function (name ) {
101114 assert_that(is_string(name ))
102115 if (! name %in% names(known_backends )) {
You can’t perform that action at this time.
0 commit comments