diff --git a/GitGraph/build/debug/README.md b/GitGraph/build/debug/README.md
deleted file mode 100644
index 1e38d6c..0000000
--- a/GitGraph/build/debug/README.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# LibGitGraph
-Git grapth visualization API for AntOS application.
-
-The visualization can be easily integrated to an AntOS application, example:
-
-```typescript
-const graph = new API.LibGitGraph({
- target: this.find("git-graph")
-});
-graph.on_open_diff = (files) => {
- console.log(files);
-}
-graph.base_dir = "home://workspace/repo-git";
-```
-
-## Change logs:
-- v0.1.0-b: Initial version
\ No newline at end of file
diff --git a/GitGraph/build/debug/api/api.lua b/GitGraph/build/debug/api/api.lua
deleted file mode 100644
index 708d43b..0000000
--- a/GitGraph/build/debug/api/api.lua
+++ /dev/null
@@ -1,86 +0,0 @@
--- nothing todo for now
-local args=...
-local vfs = require("vfs")
-
-local result = function(data)
- return { error = false, result = data }
-end
-
-local error = function(msg)
- return {error = msg, result = false}
-end
-
-local handle = {}
-
-handle.log = function(data)
- -- convert VFS to OS path
- local os_path = vfs.ospath(data.base_dir)
- if(not os_path) then
- return error("Base dir "..data.base_dir.." is not found")
- end
- local cmd = "cd "..os_path.." && "
- cmd = cmd.."git --no-pager log -n "..data.n_commits.." --all --format='{ \"hashes\":{ \"commit\":\"%H\", \"tree\":\"%T\", \"parents\":\"%P\" }, \"author\":{ \"date\": \"%ai\", \"name\": \"%an\", \"email\":\"%ae\" }, \"committer\":{ \"date\": \"%ci\", \"name\": \"%cn\", \"email\":\"%ce\" }, \"extra\":\"%D\"} ====:RAW:====%B====:RAW:========:COMMITEND:===='"
- if(data.before) then
- cmd = cmd.." --before='"..data.before.."'"
- end
- local f = assert(io.popen(cmd, 'r'))
- local s = assert(f:read('*a'))
- f:close()
- local ret = {}
- for line in s:gmatch("(.-)====:COMMITEND:====\n") do
- local arr = {}
- for el in line:gmatch("(.-)====:RAW:====") do
- table.insert(arr, el)
- end
- local commit = JSON.decodeString(arr[1])
- commit.message = arr[2]
- table.insert(ret, commit)
- end
- return result(ret)
-end
-
-handle.list_file = function(data)
- local os_path = vfs.ospath(data.base_dir)
- if(not os_path) then
- return error("Base dir "..data.base_dir.." is not found")
- end
- local cmd = "cd "..os_path..' && git --no-pager log -m -1 --name-status --pretty="format:" '..data.commit
- local f = assert(io.popen(cmd, 'r'))
- local s = assert(f:read('*a'))
- f:close()
- local ret = {}
- for line in s:gmatch("(.-)\n") do
- table.insert(ret, line)
- end
- return result(ret)
-end
-
-handle.get_changes = function(data)
- local os_path = vfs.ospath(data.base_dir)
- if(not os_path) then
- return error("Base dir "..data.base_dir.." is not found")
- end
- local cmd = "cd "..os_path.." && git --no-pager diff --no-prefix -U1000 "..data.commit.."^:"..data.file.." "..data.commit..":"..data.file
- local f = assert(io.popen(cmd, 'r'))
- local s = assert(f:read('*a'))
- f:close()
- return result(s)
-end
-
-handle.get_file = function(data)
- local os_path = vfs.ospath(data.base_dir)
- if(not os_path) then
- return error("Base dir "..data.base_dir.." is not found")
- end
- local cmd = "cd "..os_path.." && git --no-pager show "..data.commit..":"..data.file
- local f = assert(io.popen(cmd, 'r'))
- local s = assert(f:read('*a'))
- f:close()
- return result(s)
-end
-
-if args.action and handle[args.action] then
- return handle[args.action](args.args)
-else
- return error("Invalid action parameter")
-end
\ No newline at end of file
diff --git a/GitGraph/build/debug/libgitgraph.js b/GitGraph/build/debug/libgitgraph.js
deleted file mode 100644
index c7b83f4..0000000
--- a/GitGraph/build/debug/libgitgraph.js
+++ /dev/null
@@ -1 +0,0 @@
-var OS;!function(t){let s;!function(s){s.LibGitGraph=class{constructor(t){this._base_dir=void 0,this.lines_data=[],this.commits={},this.oldest_commit_date=void 0,this.svg_element=void 0,this.commits_list_element=void 0,this.load_more_el=void 0,this.commit_detail_el=void 0,this.current_head=void 0,this._on_open_diff=void 0,this.options={commits_per_page:100,x_offset:24,y_offset:24,target:void 0,popup_height:250};for(const s in t)this.options[s]=t[s];this.current_y_offset=this.options.y_offset,this.init_graph()}set base_dir(t){this._base_dir=t,t&&this.render_next()}gen_color(t){let s=t+11;const e=[0,0,0];for(let t=0;t<24;t++)e[t%3]<<=1,e[t%3]|=1&s,s>>=1;return"#"+e.reduce((t,s)=>(s>15?s.toString(16):"0"+s.toString(16))+t,"")}meta(){return t.setting.system.packages.GitGraph}call(t){return new Promise(async(e,i)=>{t.args.base_dir=this._base_dir.path;let o={path:this.meta().path+"/api/api.lua",parameters:t},a=await s.apigateway(o,!1);a.error?i(s.throwe(__("LibGitGrapth server call error: {0}",a.error))):e(a.result)})}load(t){let s={action:"log",args:{n_commits:this.options.commits_per_page.toString(),before:t||null}};return this.call(s)}error(s){t.announcer.oserror(__("GitGraph error: {0}",s.toString()),s)}set on_open_diff(t){this._on_open_diff=t}init_graph(){if(!this.options.target)return this.error(s.throwe("Target element is undefined"));$(this.options.target).css("overflow-y","auto").css("overflow-x","hidden").css("display","block").css("position","relative"),this.svg_element=this.make_svg_el("svg",{width:this.options.x_offset,height:this.options.y_offset}),$(this.svg_element).css("display","block").css("position","absolute").css("left","0").css("top","0"),$(this.options.target).empty(),this.options.target.appendChild(this.svg_element);const t=$("
").css("position","absolute").css("left","0").css("top","0").css("width","100%").css("padding-top",this.options.y_offset/2+"px");this.commits_list_element=t[0],this.options.target.appendChild(this.commits_list_element);const e=$("").css("height",this.options.y_offset+"px").css("display","block").css("padding","0").css("margin","0").css("line-height",this.options.y_offset+"px").css("vertical-align","middle");e.addClass("git_grapth_load_more"),e.on("click",t=>this.render_next()),e.text(__("More").__()),this.load_more_el=e[0],this.commits_list_element.appendChild(this.load_more_el);const i=$("").css("position","absolute").css("top","0").css("height",this.options.popup_height+"px").css("display","none").css("user-select","text").addClass("git_grapth_commit_detail");this.commit_detail_el=i[0],this.options.target.appendChild(this.commit_detail_el)}render_next(){null!=this._base_dir&&this.load(this.oldest_commit_date).then(t=>{this.oldest_commit_date&&t.shift(),this.draw_graph(t)}).catch(t=>this.error(t))}make_svg_el(t,s){const e=document.createElementNS("http://www.w3.org/2000/svg",t);for(var i in s)e.setAttribute(i,s[i]);return e}max_line_off_x(){return 0==this.lines_data.length?0:Math.max.apply(Math,this.lines_data.map(t=>t.x_offset))}update_line_data(t,s){const e=t.hashes.parents.split(" "),i=this.lines_data.filter(s=>s.next_commit==t.hashes.commit);let o={src:[],dest:void 0};if(0===i.length){let i={next_commit:e[0],x_offset:this.max_line_off_x()+this.options.x_offset,current_commit:t.hashes.commit,beginning:!0,y_offset:s,color:this.gen_color(this.lines_data.length)};this.lines_data.push(i),o.dest=i}else{let a=Math.min.apply(Math,i.map(t=>t.x_offset)),n=void 0;for(let _ of i)_.x_offset==a?(n=_,n.next_commit=e[0],n.current_commit=t.hashes.commit,n.y_offset=s):(this.lines_data.splice(this.lines_data.indexOf(_),1),o.src.push(_));o.dest=n}if(2===e.length){let i=void 0;i=this.lines_data.filter(t=>t.next_commit==e[1])[0],i?i.y_offset=s+this.options.y_offset:(i={next_commit:e[1],x_offset:this.max_line_off_x()+this.options.x_offset,current_commit:t.hashes.commit,beginning:!0,y_offset:s+this.options.y_offset,color:this.gen_color(this.lines_data.length)},this.lines_data.push(i)),o.src.push(i)}return o}draw_line(t,s,e,i,o,a){let n={stroke:o,fill:"none","stroke-width":1.5};if(a&&(n["stroke-width"]=a),t==e)n.d=`M ${t},${s} L ${e},${i}`;else{let o=t,a=s,_=e,h=i,l=(Math.abs(_-o),Math.abs(h-a));s").css("display","block");return e[0].innerHTML=`${t.__()}: ${s}`,e[0]}open_popup(s){const e=s.domel;if(!e)return;$(this.commit_detail_el).empty();const i=$(e).position(),o=this.svg_element.getBBox(),a=o.x+o.width+this.options.x_offset/2,n=this.make_svg_el("svg",{width:a-s.cx+5,height:this.options.y_offset});$(n).css("display","block").css("position","absolute").css("left","0").css("top","-2px"),n.appendChild(this.draw_line(0,this.options.y_offset/2,a-s.cx,this.options.y_offset/2,s.color)),$(this.commit_detail_el).css("border","2px solid "+s.color).css("color",s.color).append($("").css("position","absolute").css("height",this.options.y_offset).css("left",s.cx-a).css("padding-left",a-s.cx).append(n).append($("").text("[X]").css("cursor","pointer")).addClass("git_grapth_commit_detail_ctrl").on("click",t=>{$(this.commit_detail_el).css("display","none").empty()}));const _=$("").css("display","block").css("overflow-y","auto").css("overflow-x","hidden").css("flex","1").css("border-right","1px solid "+s.color).addClass("git_grapth_commit_detail_left"),h=$("").css("display","block").css("overflow-y","auto").css("overflow-x","hidden").css("flex","1").addClass("git_grapth_commit_detail_right");_.append(this.gen_commit_data_header(__("Commit"),s.hashes.commit)),_.append(this.gen_commit_data_header(__("Parents"),s.hashes.parents)),_.append(this.gen_commit_data_header(__("Author"),`${s.committer.name} <${s.committer.email}>`)),_.append(this.gen_commit_data_header(__("Date"),new Date(s.committer.date).toDateString())),_.append($("").css("white-space","pre-wrap").text(s.message)),this.commit_detail_el.appendChild(_[0]),this.commit_detail_el.appendChild(h[0]),this.list_file(s.hashes.commit).then(e=>{const i=$("");$.each(e,(e,o)=>{const a=o.split("\t"),n=$(""),_=$("").css("cursor","pointer").addClass("git_graph_file_"+a[0].toLowerCase()).on("click",e=>{this._on_open_diff&&Promise.all([this.get_file(a[1],s.hashes.commit+"^"),this.get_file(a[1],s.hashes.commit)]).then(t=>{const e=t.map((t,e)=>{const i=`mem://${s.hashes.commit.slice(0,8)}${0==e?"^":""}/${a[1]}`.asFileHandle();return i.cache=t,i.info.mime="text/plain",i});this._on_open_diff(e)}).catch(e=>{t.announcer.oserror(__("Unable to fetch diff of {0}: {1}",s.hashes.commit,e.toString()),e)})});_.text(a[1]),i.append(n.append(_))}),h.append(i)}).catch(s=>t.announcer.oserror(__("Unable to get commit changes: {0}",s.toString()),s)),$(this.commit_detail_el).css("top",i.top).css("left",a).css("display","flex").css("width",`calc(100% - ${a+this.options.x_offset}px)`).css("fflex-direction","row");const l=this.commit_detail_el.getBoundingClientRect().bottom-this.options.target.getBoundingClientRect().bottom;l>0&&(this.options.target.scrollTop+=l+10)}render_commit(t,s){let e=!1;const i=$("").css("padding","0").css("margin","0").css("display","block").css("height",this.options.y_offset+"px").css("line-height",this.options.y_offset+"px").css("color",s).css("vertical-align","middle").css("white-space","nowrap").css("overflow","hidden");i.addClass("git_graph_commit_message");let o=`${t.hashes.commit.slice(0,8)} `;t.branches=[];for(const s of t.extra.split(",").map(t=>t.trim()).filter(t=>""!=t)){let a=s.match(/HEAD -> (.*)/i);a&&2==a.length?(o+=`${a[1]} `,i.addClass("git_graph_commit_current_head"),e=!0,t.branches.push(a[1]),this.current_head=t):(a=s.match(/tag: (.*)/i))?o+=`${a[1]} `:(o+=`${s} `,t.branches.push(s))}return o+=`${t.message.split("\n")[0]} `,o+=`${t.committer.name} `,o+=`${new Date(t.committer.date).toDateString()}`,i[0].innerHTML=o,i.on("click",s=>{this.open_popup(t)}),this.commits_list_element.insertBefore(i[0],this.load_more_el),t.domel=i[0],e}draw_graph(t){for(const s of t){if(this.oldest_commit_date=s.committer.date,s.extra.includes("refs/stash"))continue;this.commits[s.hashes.commit]=s;let t=this.update_line_data(s,this.current_y_offset),e=t.src;for(const s of e.filter(s=>s.x_offset!=t.dest.x_offset))this.svg_element.appendChild(this.draw_line(t.dest.x_offset,t.dest.y_offset,s.x_offset,s.y_offset,s.color));this.lines_data.sort((t,s)=>t.x_offset-s.x_offset);let i=this.options.x_offset;for(const t of this.lines_data)t.beginning&&t.y_offset>this.current_y_offset||(t.y_offset=this.current_y_offset,t.beginning||(t.x_offset>i?(this.svg_element.appendChild(this.draw_line(t.x_offset,t.y_offset-this.options.y_offset,t.x_offset-this.options.x_offset,t.y_offset,t.color)),t.x_offset=i):this.svg_element.appendChild(this.draw_line(t.x_offset,t.y_offset-this.options.y_offset,t.x_offset,t.y_offset,t.color))),i+=this.options.x_offset,t.beginning=!1);let o={cx:t.dest.x_offset,cy:t.dest.y_offset,r:4,fill:t.dest.color,stroke:"black","stroke-width":0};this.render_commit(s,t.dest.color)&&(o.r=1.5*o.r),s.cx=o.cx,s.color=o.fill;const a=this.make_svg_el("circle",o);this.svg_element.appendChild(a),this.current_y_offset+=this.options.y_offset}const s=this.svg_element.getBBox();this.svg_element.setAttribute("width",(s.x+s.width).toString()),this.svg_element.setAttribute("height",(s.y+s.height+this.options.y_offset/2).toString()),$(".git_graph_commit_message",this.commits_list_element).css("padding-left",s.x+s.width+this.options.x_offset/2+"px")}list_file(t){let s={action:"list_file",args:{commit:t}};return this.call(s)}get_changes(t,s){let e={action:"get_changes",args:{commit:s,file:t}};return this.call(e)}get_file(t,s){let e={action:"get_file",args:{commit:s,file:t}};return this.call(e)}}}(s=t.API||(t.API={}))}(OS||(OS={}));
\ No newline at end of file
diff --git a/GitGraph/build/debug/main.css b/GitGraph/build/debug/main.css
deleted file mode 100644
index b3586fd..0000000
--- a/GitGraph/build/debug/main.css
+++ /dev/null
@@ -1,208 +0,0 @@
-afx-app-window[data-id="GitGraph"] div[data-id="git-graph"]
-{
- overflow-y: auto;
- background-color: bisque;
-}
-
-afx-app-window[data-id="GitGraph"] afx-label[data-id="txt-repo"] i.label-text
-{
- display: block;
- text-align: center;
- font-weight: bold;
-}
-
-p.git_graph_commit_message:hover
-{
- background-color:rgba(39, 39, 39,0.5);
-}
-p.git_graph_commit_current_head
-{
- font-weight: bold;
-}
-
-p.git_graph_commit_message i.git_graph_commit_hash
-{
- font-weight: bold;
- margin-right: 5px;
- font-style: normal;
- margin: 0;
- padding: 0;
- display: inline-block;
-}
-
-p.git_graph_commit_message i.git_graph_commit_tag,
-p.git_graph_commit_message i.git_graph_commit_branch
-{
- border: 1px solid;
- font-style: normal;
- border-radius: 5px;
- line-height: 20px;
- padding: 0;
- padding-left: 2px;
- padding-right: 2px;
- font-weight: bold;
- margin: 0;
- display: inline-block;
-}
-
-p.git_graph_commit_message i.git_graph_commit_tag::before
-{
- font-family: 'bootstrap-icons';
- content: "\F5AF";
- font-style: normal;
- font-weight: normal;
- position: relative;
- top: 2px;
- padding-right: 3px;
-}
-
-
-p.git_graph_commit_message i.git_graph_commit_branch::before
-{
- font-family: 'FontAwesome';
- content: "\f126";
- font-style: normal;
- font-weight: normal;
- position: relative;
- top: 1px;
- padding-right: 3px;
-}
-
-
-div.git_grapth_commit_detail
-{
- border-radius: 5px;
- background-color: whitesmoke;
- box-shadow: 0px 3px 6px 0px rgb(0,0,0,0.5);
-}
-
-div.git_grapth_commit_detail_right,
-div.git_grapth_commit_detail_left {
- background-color: transparent !important;
- padding: 10px;
-}
-div.git_grapth_commit_detail_left {
- padding-top: 20px;
-}
-div.git_grapth_commit_detail_left p{
- margin: 0;
- padding: 0;
- word-wrap:break-word;
- margin-bottom: 5px;
-}
-
-div.git_grapth_commit_detail_left pre
-{
- margin: 0;
- padding-top: 10px;
- display: block;
- border-top: 1px solid #9c9c9c;
-}
-div.git_grapth_commit_detail_right a{
- white-space:nowrap;
-}
-
-
-div.git_grapth_commit_detail_right a.git_graph_file_m::before
-{
- font-family: 'bootstrap-icons';
- content: "\F364";
- font-style: normal;
- font-weight: normal;
- color: blue !important;
- padding-right: 5px;
-}
-
-div.git_grapth_commit_detail_right a.git_graph_file_a::before
-{
- font-family: 'bootstrap-icons';
- content: "\F37D";
- font-style: normal;
- font-weight: normal;
- color: green !important;
- padding-right: 5px;
-}
-
-div.git_grapth_commit_detail_right a.git_graph_file_d::before
-{
- font-family: 'bootstrap-icons';
- content: "\F368";
- font-style: normal;
- font-weight: normal;
- color: red !important;
- padding-right: 5px;
-}
-div.git_grapth_commit_detail_ctrl i::before{
- display: block;
- font-family: 'bootstrap-icons';
- content: "\F622";
- font-style: normal;
- font-weight: normal;
- margin-left: 5px;
- margin-top: 5px;
-}
-div.git_grapth_commit_detail_ctrl i {
- width: 20px;
- height: 20px;
- display: block;
- overflow: hidden;
-}
-div.git_grapth_commit_detail_right ul{
- margin: 0;
- padding: 0;
- list-style: none;
-}
-
-p.git_graph_commit_message i.git_graph_commit_text
-{
- font-style: normal;
- display: inline-block;
-}
-p.git_graph_commit_message i.git_graph_commit_author::before
-{
- font-family: 'bootstrap-icons';
- content: "\F4DC";
- font-style: normal;
- font-weight: normal;
- padding-left: 5px;
- padding-right: 3px;
- position: relative;
- top: 3px;
- line-height: 20px;
-}
-p.git_graph_commit_message i.git_graph_commit_date::before
-{
- font-family: 'bootstrap-icons';
- content: "\F205";
- font-style: normal;
- font-weight: normal;
- padding-right: 3px;
- padding-left: 5px;
- position: relative;
- top: 2px;
- line-height: 20px;
-}
-p.git_grapth_load_more
-{
- font-weight: normal ;
- text-align: left;
- color:#131313;
- display: inline-block !important;
- padding-left: 5px !important;
- padding-right: 5px !important;
-}
-
-p.git_grapth_load_more::before
-{
- font-family: 'bootstrap-icons';
- content: "\F118";
- font-style: normal;
- font-weight: normal;
- display: inline-block;
- padding-right: 5px;
-}
-
-p.git_grapth_load_more:hover
-{
- cursor: pointer;
-}
\ No newline at end of file
diff --git a/GitGraph/build/debug/main.js b/GitGraph/build/debug/main.js
deleted file mode 100644
index ab53767..0000000
--- a/GitGraph/build/debug/main.js
+++ /dev/null
@@ -1 +0,0 @@
-var OS;!function(t){let i,e;i=t.API||(t.API={}),function(t){class e extends t.BaseApplication{constructor(t){super("GitGraph",t)}main(){const t=new i.LibGitGraph({target:this.find("git-graph")});t.on_open_diff=t=>{this._gui.launch("Antedit",[]).then(i=>{i.observable.one("launched",()=>i.openDiff(t))}).catch(t=>this.error(__("Unable to open diff with Antedit: {0}",t.toString()),t))},this.find("btn-open").onbtclick=i=>{this.openDialog("FileDialog",{title:__("Select a repository"),type:"dir"}).then(i=>{this.find("txt-repo").text=i.file.path,t.base_dir=i.file})}}}t.GitGraph=e,e.dependencies=["pkg://GitGraph/libgitgraph.js"]}(e=t.application||(t.application={}))}(OS||(OS={}));
\ No newline at end of file
diff --git a/GitGraph/build/debug/package.json b/GitGraph/build/debug/package.json
deleted file mode 100644
index cb74751..0000000
--- a/GitGraph/build/debug/package.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "pkgname": "GitGraph",
- "app":"GitGraph",
- "name":"GIT Visualization",
- "description":"Git Grapth",
- "info":{
- "author": "Dany LE",
- "email": "contact@iohub.dev"
- },
- "version":"0.0.1-a",
- "category":"Development",
- "iconclass":"bi bi-git",
- "mimes":["dir"],
- "dependencies":[],
- "locale": {}
-}
\ No newline at end of file
diff --git a/GitGraph/build/debug/scheme.html b/GitGraph/build/debug/scheme.html
deleted file mode 100644
index a81aee3..0000000
--- a/GitGraph/build/debug/scheme.html
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/GitGraph/build/release/GitGraph.zip b/GitGraph/build/release/GitGraph.zip
deleted file mode 100644
index 823f2f1..0000000
Binary files a/GitGraph/build/release/GitGraph.zip and /dev/null differ
diff --git a/libantosdk/build/debug/core/worker.js b/libantosdk/build/debug/core/worker.js
index c1a5820..e3ffb67 100644
--- a/libantosdk/build/debug/core/worker.js
+++ b/libantosdk/build/debug/core/worker.js
@@ -446,13 +446,12 @@ class VFSJob extends AntOSDKBaseJob {
case 'rm':
this.delete(this.job.data)
.then(d => this.result(d))
- .catch((e) => {
- if(this.job.ignore_error)
- {
- return this.result(false);
- }
- this.error(e);
- });
+ .catch((e) =>this.error(e));
+ break;
+ case 'rm-no-error':
+ this.delete(this.job.data)
+ .then(d => this.result(d))
+ .catch((e) =>this.result(false));
break;
case 'mkdir':
this.mkdir(this.job.data)
@@ -479,6 +478,7 @@ API.jobhandle["sdk-import"] = LoadScritpJob;
API.jobhandle["sdk-setup"] = SDKSetup;
API.jobhandle["vfs-cat"] = VFSJob;
API.jobhandle["vfs-rm"] = VFSJob;
+API.jobhandle["vfs-rm-no-error"] = VFSJob;
API.jobhandle["vfs-mkdir"] = VFSJob;
API.jobhandle["vfs-cp"] = VFSJob;
diff --git a/libantosdk/build/release/libantosdk.zip b/libantosdk/build/release/libantosdk.zip
index fdc1dd9..5712150 100644
Binary files a/libantosdk/build/release/libantosdk.zip and b/libantosdk/build/release/libantosdk.zip differ
diff --git a/libantosdk/core/worker.js b/libantosdk/core/worker.js
index c1a5820..e3ffb67 100644
--- a/libantosdk/core/worker.js
+++ b/libantosdk/core/worker.js
@@ -446,13 +446,12 @@ class VFSJob extends AntOSDKBaseJob {
case 'rm':
this.delete(this.job.data)
.then(d => this.result(d))
- .catch((e) => {
- if(this.job.ignore_error)
- {
- return this.result(false);
- }
- this.error(e);
- });
+ .catch((e) =>this.error(e));
+ break;
+ case 'rm-no-error':
+ this.delete(this.job.data)
+ .then(d => this.result(d))
+ .catch((e) =>this.result(false));
break;
case 'mkdir':
this.mkdir(this.job.data)
@@ -479,6 +478,7 @@ API.jobhandle["sdk-import"] = LoadScritpJob;
API.jobhandle["sdk-setup"] = SDKSetup;
API.jobhandle["vfs-cat"] = VFSJob;
API.jobhandle["vfs-rm"] = VFSJob;
+API.jobhandle["vfs-rm-no-error"] = VFSJob;
API.jobhandle["vfs-mkdir"] = VFSJob;
API.jobhandle["vfs-cp"] = VFSJob;