From fd38acfc02bf42d7e36db882d48227b598b22516 Mon Sep 17 00:00:00 2001 From: Xuan Sang LE Date: Fri, 5 Mar 2021 22:01:39 +0100 Subject: [PATCH] add IOHub mail --- IOMail/README.md | 3 + IOMail/assets/scheme.html | 5 ++ IOMail/build/debug/README.md | 3 + IOMail/build/debug/main.js | 1 + IOMail/build/debug/package.json | 16 ++++ IOMail/build/debug/scheme.html | 5 ++ IOMail/build/release/IOMail.zip | Bin 0 -> 1148 bytes IOMail/coffees/main.coffee | 9 ++ IOMail/package.json | 16 ++++ IOMail/project.json | 7 ++ OnlyOffice/build/debug/README.md | 15 ---- OnlyOffice/build/debug/api.lua | 87 -------------------- OnlyOffice/build/debug/icon.png | Bin 2829 -> 0 bytes OnlyOffice/build/debug/main.css | 9 -- OnlyOffice/build/debug/main.js | 1 - OnlyOffice/build/debug/package.json | 27 ------ OnlyOffice/build/debug/scheme.html | 18 ---- OnlyOffice/build/debug/templates/model.docx | Bin 11314 -> 0 bytes OnlyOffice/build/debug/templates/model.pptx | Bin 29395 -> 0 bytes OnlyOffice/build/debug/templates/model.xlsx | Bin 7662 -> 0 bytes packages.json | 10 +++ 21 files changed, 75 insertions(+), 157 deletions(-) create mode 100644 IOMail/README.md create mode 100644 IOMail/assets/scheme.html create mode 100644 IOMail/build/debug/README.md create mode 100644 IOMail/build/debug/main.js create mode 100644 IOMail/build/debug/package.json create mode 100644 IOMail/build/debug/scheme.html create mode 100644 IOMail/build/release/IOMail.zip create mode 100644 IOMail/coffees/main.coffee create mode 100644 IOMail/package.json create mode 100644 IOMail/project.json delete mode 100644 OnlyOffice/build/debug/README.md delete mode 100644 OnlyOffice/build/debug/api.lua delete mode 100644 OnlyOffice/build/debug/icon.png delete mode 100644 OnlyOffice/build/debug/main.css delete mode 100644 OnlyOffice/build/debug/main.js delete mode 100644 OnlyOffice/build/debug/package.json delete mode 100644 OnlyOffice/build/debug/scheme.html delete mode 100644 OnlyOffice/build/debug/templates/model.docx delete mode 100644 OnlyOffice/build/debug/templates/model.pptx delete mode 100644 OnlyOffice/build/debug/templates/model.xlsx diff --git a/IOMail/README.md b/IOMail/README.md new file mode 100644 index 0000000..674a9c2 --- /dev/null +++ b/IOMail/README.md @@ -0,0 +1,3 @@ +# IOMail + +Simple Mail client wrapper for https://mail.iohub.dev/ diff --git a/IOMail/assets/scheme.html b/IOMail/assets/scheme.html new file mode 100644 index 0000000..a712243 --- /dev/null +++ b/IOMail/assets/scheme.html @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/IOMail/build/debug/README.md b/IOMail/build/debug/README.md new file mode 100644 index 0000000..674a9c2 --- /dev/null +++ b/IOMail/build/debug/README.md @@ -0,0 +1,3 @@ +# IOMail + +Simple Mail client wrapper for https://mail.iohub.dev/ diff --git a/IOMail/build/debug/main.js b/IOMail/build/debug/main.js new file mode 100644 index 0000000..50af420 --- /dev/null +++ b/IOMail/build/debug/main.js @@ -0,0 +1 @@ +(function(){var i;(i=class extends this.OS.application.BaseApplication{constructor(i){super("IOMail",i)}main(){}}).singleton=!0,this.OS.register("IOMail",i)}).call(this); \ No newline at end of file diff --git a/IOMail/build/debug/package.json b/IOMail/build/debug/package.json new file mode 100644 index 0000000..b6be60d --- /dev/null +++ b/IOMail/build/debug/package.json @@ -0,0 +1,16 @@ +{ + "pkgname": "IOMail", + "app":"IOMail", + "name":"IOHub mail", + "description":"IOHub mail", + "info":{ + "author": "", + "email": "" + }, + "version":"0.1.0-a", + "category":"Other", + "iconclass":"fa fa-envelope", + "mimes":["none"], + "dependencies":[], + "locale": {} +} \ No newline at end of file diff --git a/IOMail/build/debug/scheme.html b/IOMail/build/debug/scheme.html new file mode 100644 index 0000000..a712243 --- /dev/null +++ b/IOMail/build/debug/scheme.html @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/IOMail/build/release/IOMail.zip b/IOMail/build/release/IOMail.zip new file mode 100644 index 0000000000000000000000000000000000000000..09ea387c0e46d7f3ab5a5adefe800e8c142ab997 GIT binary patch literal 1148 zcmZ`&PjAyO6z~23B5>r6F$WT9P0L|Iv`wWUhCtJ_YC9q{xz0;tme`T)wnJ6VdL^QtGcRJYN5>Olw}XgRVy>lrpnw6ABNpFt9#_k!bIseSo6fDpliM0 zO7e^ugNB3=lCU<&8Dy$}+9ek`p!p@0N&O(XiK z+odE0F-dJi_uV08mbFD3)pQI?c*^|gSY49p>>wP7L?fNVXdcnj+QRfY9fxWtR5~4p zG0f<2(5bvuX*#Y?muKh=%Kf_M;niWsKR&4ofVT zL1=`WWMGwy?sfO-(dU){k_%O`l`=ojc zo_8klA_H=a2(EY{bB#lQCW+GI-w1cS(b3lSo!0*!A{N_No6oWt*}PxtFpiIU + super "IOMail", args + + main: () -> + +IOMail.singleton = true + +this.OS.register "IOMail", IOMail \ No newline at end of file diff --git a/IOMail/package.json b/IOMail/package.json new file mode 100644 index 0000000..b6be60d --- /dev/null +++ b/IOMail/package.json @@ -0,0 +1,16 @@ +{ + "pkgname": "IOMail", + "app":"IOMail", + "name":"IOHub mail", + "description":"IOHub mail", + "info":{ + "author": "", + "email": "" + }, + "version":"0.1.0-a", + "category":"Other", + "iconclass":"fa fa-envelope", + "mimes":["none"], + "dependencies":[], + "locale": {} +} \ No newline at end of file diff --git a/IOMail/project.json b/IOMail/project.json new file mode 100644 index 0000000..87ea05b --- /dev/null +++ b/IOMail/project.json @@ -0,0 +1,7 @@ +{ + "name": "IOMail", + "css": [], + "javascripts": [], + "coffees": ["coffees/main.coffee"], + "copies": ["assets/scheme.html", "package.json", "README.md"] +} \ No newline at end of file diff --git a/OnlyOffice/build/debug/README.md b/OnlyOffice/build/debug/README.md deleted file mode 100644 index 45e4955..0000000 --- a/OnlyOffice/build/debug/README.md +++ /dev/null @@ -1,15 +0,0 @@ -# OnlyOffice - -This application is the front-end connector of the OnlyOffice suite. -It needs to connect to a working OnlyOffice document server. - -The application allows to open/edit commons document, presentation, and spreedsheet. -Integrate OnlyOffice to an virtual window environment like AntOs allows an inconvenient -way to work with multiple documents at the same time. - -![https://github.com/lxsang/antosdk-apps/blob/master/OnlyOffice/screenshot.png?raw=true](https://github.com/lxsang/antosdk-apps/blob/master/OnlyOffice/screenshot.png?raw=true) - -## Change log -- v 0.1.3a: Let backend generates document key, compatible with doc.iohub.dev/office -- v 0.1.2a: generate document key based on username, file path and modified time -- v 0.1.1a: generate document key based on username and file path diff --git a/OnlyOffice/build/debug/api.lua b/OnlyOffice/build/debug/api.lua deleted file mode 100644 index 307b703..0000000 --- a/OnlyOffice/build/debug/api.lua +++ /dev/null @@ -1,87 +0,0 @@ -local args=... -local web = require("web") -local vfs = require("vfs") - -if not args then - args = REQUEST -end - -local result = function(data) - return { - error = false, - result = data - } -end - -local error = function(data) - return { - error = data, - result = false - } -end - -local handle = {} - -handle.token = function(data) - local file = vfs.ospath(data.file) - local stat = ulib.file_stat(file) - local ret = { - sid = "sessionid="..SESSION.sessionid, - key = std.sha1(file..":"..stat.mtime) - } - return result(ret) -end - -handle.duplicate = function(data) - local file = vfs.ospath(data.as) - local tmpfile = "/tmp/"..std.sha1(file) - local cmd = "curl -o "..tmpfile..' "'..data.remote..'"' - os.execute(cmd) - -- move file to correct position - if ulib.exists(tmpfile) then - cmd = "mv "..tmpfile.." "..file - os.execute(cmd) - print("File "..file.." is duplicated with remote") - else - return error("Unable to duplicate file") - end - return result("File duplicated") -end - -handle.save = function() - --print(JSON.encode(REQUEST)) - if not REQUEST.json then - return error("Invalid request") - end - local data = JSON.decodeString(REQUEST.json) - if not data then - return error("Invalid request") - end - if not REQUEST.file then - return error("No file found") - end - local file = vfs.ospath(REQUEST.file) - if data.status == 2 then - local tmpfile = "/tmp/"..std.sha1(file) - local cmd = "curl -o "..tmpfile..' "'..data.url..'"' - os.execute(cmd) - -- move file to correct position - if ulib.exists(tmpfile) then - cmd = "mv "..tmpfile.." "..file - os.execute(cmd) - print("File "..file.." sync with remote") - else - return error("Unable to download") - end - end - - return result("OK") -end - ---print(JSON.encode(args)) - -if args.action and handle[args.action] then - return handle[args.action](args.args) -else - return error("Invalid action parameter") -end diff --git a/OnlyOffice/build/debug/icon.png b/OnlyOffice/build/debug/icon.png deleted file mode 100644 index 21d6726ac22f35408351fc7000a8d31174ecd086..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2829 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 diff --git a/OnlyOffice/build/debug/main.css b/OnlyOffice/build/debug/main.css deleted file mode 100644 index 6deea5e..0000000 --- a/OnlyOffice/build/debug/main.css +++ /dev/null @@ -1,9 +0,0 @@ - -afx-app-window[data-id="OnlyOffice"] div[data-id="editor-area"] p{ - text-align: center; -} - -afx-app-window[data-id="OnlyOffice"] div[data-id="editor-area"] button { - width: 250px; - -} \ No newline at end of file diff --git a/OnlyOffice/build/debug/main.js b/OnlyOffice/build/debug/main.js deleted file mode 100644 index 845c357..0000000 --- a/OnlyOffice/build/debug/main.js +++ /dev/null @@ -1 +0,0 @@ -(function(){var e;(e=class extends this.OS.application.BaseApplication{constructor(e){super("OnlyOffice",e),this.eid="id"+Math.random().toString(36).replace(".","")}main(){if(this.currfile=void 0,this.args&&this.args.length>0&&(this.currfile=this.args[0].path.asFileHandle()),this.placeholder=this.find("editor-area"),this.placeholder.id=this.eid,this.find("btn-open-file").onbtclick=e=>this.openFile(),this.find("btn-new-doc").onbtclick=e=>this.create("word"),this.find("btn-new-cell").onbtclick=e=>this.create("sheet"),this.find("btn-new-slide").onbtclick=e=>this.create("slide"),this.currfile)return this.open()}create(e){var t;return t=void 0,"word"===e&&(t="docx"),"sheet"===e&&(t="xlsx"),"slide"===e&&(t="pptx"),t?this.openDialog("FileDialog",{title:__("Save file as"),type:"dir",file:("home://Untitled."+t).asFileHandle()}).then(e=>{var i,s;return i=`${e.file.path}/${e.name}`.asFileHandle(),(s=`${this.path()}/templates/model.${t}`.asFileHandle()).read("binary").then(e=>{var t;return t=new Blob([e],{type:s.info.mime}),i.cache=t,i.write(s.info.mime).then(e=>(i.cache=void 0,this.currfile=i,this.open())).catch(e=>this.error(e.toString(),e))}).catch(e=>this.error(e.toString(),e))}):this.error(__("Unkown file type"))}openFile(){return this.openDialog("FileDialog",{title:__("Open file"),type:"file",mimes:this.meta().mimes}).then((e,t)=>(this.currfile=e.file.path.asFileHandle(),this.open()))}editorReady(){return console.log($('iframe[name="frameEditor"]',this.scheme).contents())}open(){if(this.currfile)return this.exec("token",{file:this.currfile.path}).then(e=>(console.log(e),e.error?this.error(e.error):(this.access_token=e.result.sid,this.currfile.onready().then(t=>(this.scheme.apptitle=this.currfile.path,$(this.placeholder).empty(),this.editor&&this.editor.destroyEditor(),this.editor=new DocsAPI.DocEditor(this.eid,{events:{onAppReady:e=>this.editorReady(e),onRequestCreateNew:()=>this.newDocument(),onRequestSaveAs:e=>this.saveAs(e)},document:{fileType:this.currfile.ext,key:e.result.key,title:this.currfile.filename,url:this.currfile.getlink()+"?"+this.access_token},documentType:this.getDocType(this.currfile.ext),editorConfig:{user:{id:this.systemsetting.user.id.toString(),name:this.systemsetting.user.username},customization:{compactHeader:!1},callbackUrl:this.uapi("save")}})))))).catch(e=>this.error(e.toString(),e))}getDocType(e){return"doc,docx,epub,odt".split(",").includes(e)?"word":"csv,ods,xls,xlsx".split(",").includes(e)?"cell":"odp,ppt,pptx".split(",").includes(e)?"slide":"none"}saveAs(e){if(e.data.url)return e.data.url.asFileHandle(),this.openDialog("FileDialog",{title:__("Save file as"),type:"dir",file:("home://"+e.data.title).asFileHandle()}).then(t=>{var i;return i=`${t.file.path}/${t.name}`,this.exec("duplicate",{remote:e.data.url,as:i}).then(e=>e.error?this.error(e.error):"none"!==this.getDocType(i.asFileHandle().ext)?(this.currfile=i.asFileHandle(),this.open()):void 0).catch(e=>this.error(e.toString(),e))})}newDocument(){return this.openDialog("SelectionDialog",{title:__("Create new"),data:[{text:__("Open a file"),iconclass:"fa fa-folder-open",type:"open"},{text:__("Document"),iconclass:"fa fa-file-word-o",type:"word"},{text:__("Spreadsheet"),iconclass:"fa fa-file-excel-o",type:"sheet"},{text:__("Presentation"),iconclass:"fa fa-file-powerpoint-o",type:"slide"}]}).then(e=>{switch(e.type){case"open":return this.openFile();default:return this.create(e.type)}})}uapi(e){return`${this._api.REST}/system/apigateway?ws=0&path=${this.path()}/api.lua&action=${e}&file=${this.currfile.path}&${this.access_token}`}exec(e,t){var i;return i={path:this.path()+"/api.lua",parameters:{action:e,args:t}},this.call(i)}cleanup(){return this.editor&&this.editor.destroyEditor(),this.editor=void 0}}).dependencies=["https://office.iohub.dev/web-apps/apps/api/documents/api.js"],this.OS.register("OnlyOffice",e),this.extensionParams={url:"https://office.iohub.dev/web-apps/"}}).call(this); \ No newline at end of file diff --git a/OnlyOffice/build/debug/package.json b/OnlyOffice/build/debug/package.json deleted file mode 100644 index 5ebc5b0..0000000 --- a/OnlyOffice/build/debug/package.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "pkgname": "OnlyOffice", - "app":"OnlyOffice", - "name":"Office Suite", - "description":"Online Office suite based on OnlyOffice", - "info":{ - "author": "Xuan Sang LE", - "email": "mrsang@iohub.dev" - }, - "version":"0.1.3-a", - "category":"Other", - "icon":"icon.png", - "mimes":[ - "application/vnd.oasis.opendocument.text", - "application/vnd.oasis.opendocument.spreadsheet", - "application/vnd.oasis.opendocument.presentation", - "application/vnd.openxmlformats-officedocument.wordprocessingml.document", - "application/msword", - "application/vnd.ms-excel", - "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", - "application/vnd.ms-powerpoint", - "application/vnd.openxmlformats-officedocument.presentationml.presentation", - "application/epub+zip" - ], - "dependencies":[], - "locale": {} -} \ No newline at end of file diff --git a/OnlyOffice/build/debug/scheme.html b/OnlyOffice/build/debug/scheme.html deleted file mode 100644 index cb1efa8..0000000 --- a/OnlyOffice/build/debug/scheme.html +++ /dev/null @@ -1,18 +0,0 @@ - - -
-

- -

-

- -

-

- -

-

- -

-
-
-
\ No newline at end of file diff --git a/OnlyOffice/build/debug/templates/model.docx b/OnlyOffice/build/debug/templates/model.docx deleted file mode 100644 index d167663e44c50c02ba36afc3bd0764079dc02938..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11314 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

gVoTHn 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 diff --git a/OnlyOffice/build/debug/templates/model.xlsx b/OnlyOffice/build/debug/templates/model.xlsx deleted file mode 100644 index 6c7b924e7dea6110405f08ed535883bb4ffa8700..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7662 zcmeHMg;!MT+8-LEJEa6ArMpwQOFBg9L56OIW(I+wl`cUVVL%uJ1eB1JZUIH4b7;Tu z+Yz?HKZy!b?Mi8#H({|s z9#>=s{DG{MgUNPP-F}iUU}5}5h8$ThUr6a9R&PJD0Fn{P`zSg^;Tl)oUOAJMWQJCA zs?i3w&xbT0rch>;7>@hnP|l+_%pRXUZkWOD1UK9^snX<>#*6U5F=0ibG2{x%nrD9# zgR}Mpa$1lei^n3%+cj4VvI7Z4a}n})Oz%?G($6hP#M>rQjEbvPeA|$66Z-HBnxuS<1bF9KP*IT$L^5g_`}#cT_(eDA$vW z+&87eBQIr$p_0jtFn_Q8aLN9x25nN&aHl$^u34<$d+NxGu<4AlO+vXi39aq%Y|1{6 z{gc_6;668&lXE&_LnjI6I{Q2?N!9?HM{b=*$}c*|uY-AYa{3Hdg~`qYM;?4&FE|M^ zZxlWl%nj%f!|Sf>+wTWMn97$>5$W$nk{CPZxq>7P z^=GvD-Dc2GAqyqtzk5}s47&X0vZHSzvqEHiZxb0;#1HNn>wJC`H=VwvQDvl^G{;ZU zZu&i}E;u%r#4HY%`|T@M<4KpnUF#N_CyG1_Qcbz&uP&CQ)SqW$44Uk)3*7`}BbR1A zU4mHpsrgNu(nkyS4AB#|jLMZ1^Wl4e4jNSsT#g3ZYTvMU+Vk5(gk+pS3$7t-xCL&C zppAiFnfT+E5<$VjL4V|_bn$w(Jl_oH4jn_(tnx-jlkT=G4Y%Vw?Xyzc zQ|*3FzIUtDIp9i#Jl>`1#>gfTuxD~xtm#EsmYJ=+sPkI-^zAh*uSPi0(0hGxJZup; z@iyWq5mIAHylXn;o2%h`WtlJ;n$w~Kw(Z1Xg&7OgN>3StMeP*ibMue+J|~Zbb}XNC z2_X+x8o5>cL)=;LL$~b=k|~I)w{g&7#jGESI)8UQk~L&)=_qocV*>z${~{O2JHX8m z^wa5-7`X#q@RQugI{)Z8^m8d-(PS-fdCqD)SEjyG65`XzW^xU7`;?-6xhI98UM}fw zc!{-qdt)On2oyM}9+8(-Z&^w3fSN^BE4_8qCG&GFu}WQMpX4hpu10%WS$;_EA#%@P ziwL~9M+?GbP8-@^dh=K%ju)wA5L8HCwxU~|SVCm<`VL$GYBFU51NYd8--CHY<3y$N z{J>E*IGPbvsBl!ez3kPsSoqY%&=xGH4!9I7eGdwU*(!wxYbr6eF?@a0x58 z$JI$@2YXpcHOGw88)F#+DS{C)PRAI2&UN8>BTn#shW=s~Y7JAWMx^*tt=WAhqh9Ud zJpJ62{8G>31C&c%q4>(viMa*bPh%U{5$3-~Afx(9_G!v@Jd}>c|NNXUNqjG?SUQ9ACW4Z`@)LM7_AsQ2{YU`s@}*AArf5 zVxF9B>|Atvfh>BuSS|U$v+SB+$A%@${_V%@vlN5;M8HsO-%~>R`3}B-TdqwF=%;hg z{%7lZBX9!Uw1`l-V)>wf5ZaOMEw)>ctAbGQY|edf@0B240$YOE(d>mNCkzj{o(@!2 zEBbb(>aE}4WhvM-S#SD*NV|HJP45Q`Q^FUV!?brL_K*DakQyY7La*Wicr2|Iox)sx9Sb;J@js~I&<51S++{npSmSg_dgR>68=y(X0rf>mdqh`$&tYh-sdD;e_}4h9X6iBVf2 zy!pz8Np&Rb)aR?M%Ug(a-n%Kn9?rLmFr+=N>BiEy8`pr@yvY7_w{$T{t~JhAIm%%> zJmj69-h5(I)?V6RFu_oqjV&mr^EIcY1KWydZu&h=N$d^*-f6D%0){)V79Fs?XHbYF zyTdj?sivRb7liI-QBq4$sB<8*l|#3p-Mv`j_!UjY@d*jV#vMgDa$o5lWYm^k50#XY3KuH7x{0fL+W?Gq>#r z$m*-7?7cHfF#u}JDqyx}X2S;*iG>MD%KaSd!;IM~dj6m^exjjtb4R_3?y&QtiSz{A zxh}QW8HjMaWhYoLgRD-!W#gi5S7oI_o?MXc;r?cSw~a2NjAXzWXsOxDamGraU#mIj zyxTM^1o`G@gKxPb_{wMM#94a!fG_l7wHMgYF(3nN!RK(oPa0OOdb>DNYxpC!4^=z`*6ZR)Vp^9A4nq->8hDOpT zBl`N;jva5>ro`6RBrP@sRh)Srv4F@se_CG51o!)~9A$x>$mBRTHsXv;vkxb4!nH>D z9d*LM63w%gx^@Wj@mlb^nNM$ZGwb8Eup}DK7nGozeT-5BcPK`xbJWQ;XLQe4(m1?4 z`0XP1gpLSPkjXe{ZrVt9aH4lUFJ`m6rH_V6MBhEg1Z;3HD|>GZrbBANg)s+I3)F%M zom{6iT>gMI%!^zw2rurQSxq2P$+o0?zNEzfyRUK5+hVEu2?_WHzkWPXXpzHhzU-jh zb>BNYAM`04WnStvx2j%PtHwui79PvAcjuZI_G(Xg@xU`1NKUZ8 zqcZSbJ^KtA_l;Q*WVT{DDeC7 zDI9a$H?6l%=~$I;677lMzO}whLQSUDq{(ogqT<#^HvQ&grz$!Y{94vRRp0wO=2TSL zo1y8ijH#vz0WMoro$vZ1zL?CPv~M#2;6`z)@gEI++3E&rw1(e24z%E}utuv(Ff*1< z+00mP_3`)eepu12T1H4_{wABPQ4l(cxiMM6l#}zM#zIAdFi?=9vbnHe%;{~Cr6#FF zDWULKI{5DJ(|N-0vN?%~V~8CcyJh0c0|uAaK`g!^A#rJXh;Y#7Wz~mYIjLoOig{Kv zyah$#;yWvp)E9ie>`zb1lb5n2STtdS_iNdw(I1{Sr$m;#P=Ei4lM!EL#~cFn_Qk)I z?;L$nAs7}^*Z2ru4XGe3;j8MMvZSnMA6m?XAtgU6myHf(AyN3cw@?uKj&-?LCbDu1}e(6Fhp)CxN_@qZE z;X2oQe64**S7}csV&*tr4JSm5woYkm73fvJ?xB6X>#BuI*Hk1F`TP-rv)kbHkxA;D z#C_aGHB5_Dc;20=6#w~brfnV5>Kta1Ee+$d@7=LCDE94w{f}2D{1vcFE28*_Il(G6 zzRz;{u@S6D<+rL)+)q+q@Su)WKSbTv*iwy8dzpw%gWxQ|@+;9W*T- z)`ZH?(=kT?j=pzxSfKt6eZI}=h~kfCiwLcL`mLz7pF;~a_KvE zsY$yKM?kyB>xo;D9u?G4iAx347eiAk5nBwLb<-8G)}z1-unSEFqJVW%%%U{Lw9*Hm z`f?U2Nqp!?0F_QnlBOcD?sY{1|1pMnJxKo;jVkI|PV-#yzz5%2BP*bPWuP=YmAeoFm9w08Fdz?MZ~ zz#dd&S7;YbX3Fg$8N7+KFV6Gy3B5n{|w(U}#`2I6{$ zD|$GcFPya*l_)sOPpHCVP&$VgzwLO4s$|R5(-xO*DTQKf+qGwi z=B!7Tea(P~=ILDWbySdN4J;|lKjcRP-~~^?vs=qM>N_mJEg%J9W8l^|EWae%wmh@b zqAVev=C@9#u4*yVopZfcW@qN9j}sOA_NyG8D3KA(F?h49NQV!A-QU@1wcFb#Du26I zyMd4PHmX59vq+_+pVn1wY2mxvKdP?2)`(CVrMibG)sdoV_eVenJujdqh|dA&<@oO| z^Z!bA)X}BE)Ll^}d-PuP4Nh?z?;xI4)Xr#h4jqSZX{i{CHkqNTg2DIoWmD_b){;y{ zk-Z@?AodqXWK}U=UCsC_c{X)@%mi2c3ik->>A^E>m0=-vvua9;Z@5If1A~wp`hlkC zCzXU|HW3hXb%_D(2;U|8g!(n9VdF?M7CrI(!mV z7uvFqy29+J&9iPbUejo5UJW0x^c>*juXPXDIKBTNRWS(hT%zNa-;xpYZc^k1f>GRR zn-QD!mVy)0WeH-4k#Snn=&`fvsxai!ypQU)U>%{uv1iwl%h+4^UNkpMt5<=F(r5z= z`5`ff^#4?`*{S1^#G@!jiU9zS{F!ogo}T|>9ExiHUO6xY;52aMM8VvqKyUd}mfi12oWqUdaJ~lBM_&sqw$p1oFeUU-Z<~Vt*S1c)E( zXjet|9Np-id={O{Btq}6Y(QjqGUJL&WNuP$l=T?vG7(l6-#*)a>Ze6eHQAhocpY<= zaq;rCguPq&S!mr#dJZIE6K-qMP+WXJJ*U~lH8EBMXY0K`Ci^n>cgBx(jfqcbo4z|w zMwVvbdx!bEn--n9lVIm)9N(29kE_R?pMW;$sy&qJy@K)r3Sn+pF%A;QVOOLI-vbQl zjrT0J=ysnOo^JGE+_;F|{Up^hC~?rof1o2i9|4pE4U1W4>t5Uoy508ZT}rg!Nq6*< zV6`@XS6u7q09m8?sYm7KSUOv>gcCAA!Aq7$i_hy~FD8#V_@!^wj=N6|1NB4ipIbc< zVqd;#xWWIOzG&#Yfd6kc_q)1&-~VA!r>FT>0e_t;{0{uN$D(ZFPcw#Jfq(6^{ux+> zDk1;>zU!}Ye(lKpA?YJ({P;_M?pN@y9hX1AoTvjsf&b{g{0jZG*!=^#iR#^;pud*B zzY6#@)A&O`HN}5^_}}u5U#0vt==~uB0C1uL0R9#Ne}(_mf&CdikIH`j1OK->)6>L4 U=>`D6LtV0{DEl1c6aj$$1783yNdN!< diff --git a/packages.json b/packages.json index 703180e..bc5df98 100644 --- a/packages.json +++ b/packages.json @@ -119,6 +119,16 @@ "dependencies": [], "download": "https://raw.githubusercontent.com/lxsang/antosdk-apps/master/GraphEditor/build/release/GraphEditor.zip" }, + { + "pkgname": "IOMail", + "name": "IOHub mail", + "description": "https://raw.githubusercontent.com/lxsang/antosdk-apps/master/IOMail/README.md", + "category": "Other", + "author": "", + "version": "0.1.0-a", + "dependencies": [], + "download": "https://raw.githubusercontent.com/lxsang/antosdk-apps/master/IOMail/build/release/IOMail.zip" + }, { "pkgname": "Katex", "name": "Katex",