Compare commits

..

1 Commits

Author SHA1 Message Date
Gregory Schier
7e2d72c4e3 Fix secure() function editing 2025-10-21 20:09:56 -07:00
3 changed files with 21 additions and 5 deletions

View File

@@ -30,7 +30,7 @@
}
},
"bundle": {
"createUpdaterArtifacts": "v1Compatible",
"createUpdaterArtifacts": true,
"windows": {
"signCommand": "trusted-signing-cli -e https://eus.codesigning.azure.net/ -a Yaak -c yaakapp %1"
}

View File

@@ -503,10 +503,22 @@ impl PluginManager {
.iter()
.find(|r| r.functions.iter().any(|f| f.name == fn_name))
.ok_or_else(|| PluginNotFoundErr(fn_name.into()))?;
let plugin = self
.get_plugin_by_ref_id(&r.plugin_ref_id)
.await
.ok_or_else(|| PluginNotFoundErr(r.plugin_ref_id.clone()))?;
let plugin = match self.get_plugin_by_ref_id(&r.plugin_ref_id).await {
None => {
// It's probably a native function, so just fallback to the summary
let function = r
.functions
.iter()
.find(|f| f.name == fn_name)
.ok_or_else(|| PluginNotFoundErr(fn_name.into()))?;
return Ok(GetTemplateFunctionConfigResponse {
function: function.clone(),
plugin_ref_id: r.plugin_ref_id.clone(),
});
}
Some(v) => v,
};
let window_context = &PluginWindowContext::new(&window);
let vars = &make_vars_hashmap(environment_chain);

View File

@@ -78,6 +78,10 @@ pub fn template_function_secure_run<R: Runtime>(
_ => return Ok("".to_string()),
};
if value.is_empty() {
return Ok("".to_string());
}
let value = match value.strip_prefix("YENC_") {
None => {
return Err(RenderError("Could not decrypt non-encrypted value".to_string()));