File tree Expand file tree Collapse file tree 4 files changed +19
-14
lines changed Expand file tree Collapse file tree 4 files changed +19
-14
lines changed Original file line number Diff line number Diff line change
1
+ ---
2
+ fs : patch
3
+ ---
4
+
5
+ Fix failing to deserialize capability file when using an OS specific path in the scope that is not available on the current OS.
Original file line number Diff line number Diff line change @@ -993,8 +993,8 @@ pub fn resolve_path<R: Runtime>(
993
993
. unwrap ( )
994
994
. clone ( )
995
995
. into_iter ( )
996
- . chain ( global_scope. allows ( ) . iter ( ) . map ( |e| e. path . clone ( ) ) )
997
- . chain ( command_scope. allows ( ) . iter ( ) . map ( |e| e. path . clone ( ) ) )
996
+ . chain ( global_scope. allows ( ) . iter ( ) . filter_map ( |e| e. path . clone ( ) ) )
997
+ . chain ( command_scope. allows ( ) . iter ( ) . filter_map ( |e| e. path . clone ( ) ) )
998
998
. collect ( ) ,
999
999
deny : webview
1000
1000
. fs_scope ( )
@@ -1003,8 +1003,8 @@ pub fn resolve_path<R: Runtime>(
1003
1003
. unwrap ( )
1004
1004
. clone ( )
1005
1005
. into_iter ( )
1006
- . chain ( global_scope. denies ( ) . iter ( ) . map ( |e| e. path . clone ( ) ) )
1007
- . chain ( command_scope. denies ( ) . iter ( ) . map ( |e| e. path . clone ( ) ) )
1006
+ . chain ( global_scope. denies ( ) . iter ( ) . filter_map ( |e| e. path . clone ( ) ) )
1007
+ . chain ( command_scope. denies ( ) . iter ( ) . filter_map ( |e| e. path . clone ( ) ) )
1008
1008
. collect ( ) ,
1009
1009
require_literal_leading_dot : webview. fs_scope ( ) . require_literal_leading_dot ,
1010
1010
} ,
Original file line number Diff line number Diff line change @@ -353,17 +353,17 @@ impl ScopeObject for scope::Entry {
353
353
app : & AppHandle < R > ,
354
354
raw : Value ,
355
355
) -> std:: result:: Result < Self , Self :: Error > {
356
- let entry = serde_json:: from_value ( raw. into ( ) ) . map ( |raw| {
357
- let path = match raw {
358
- scope:: EntryRaw :: Value ( path) => path,
359
- scope:: EntryRaw :: Object { path } => path,
360
- } ;
361
- Self { path }
356
+ let path = serde_json:: from_value ( raw. into ( ) ) . map ( |raw| match raw {
357
+ scope:: EntryRaw :: Value ( path) => path,
358
+ scope:: EntryRaw :: Object { path } => path,
362
359
} ) ?;
363
360
364
- Ok ( Self {
365
- path : app. path ( ) . parse ( entry. path ) ?,
366
- } )
361
+ match app. path ( ) . parse ( path) {
362
+ Ok ( path) => Ok ( Self { path : Some ( path) } ) ,
363
+ #[ cfg( not( target_os = "android" ) ) ]
364
+ Err ( tauri:: Error :: UnknownPath ) => Ok ( Self { path : None } ) ,
365
+ Err ( err) => Err ( err. into ( ) ) ,
366
+ }
367
367
}
368
368
}
369
369
Original file line number Diff line number Diff line change @@ -23,7 +23,7 @@ pub enum EntryRaw {
23
23
24
24
#[ derive( Debug ) ]
25
25
pub struct Entry {
26
- pub path : PathBuf ,
26
+ pub path : Option < PathBuf > ,
27
27
}
28
28
29
29
pub type EventId = u32 ;
You can’t perform that action at this time.
0 commit comments