1"use strict";(globalThis.webpackChunkuppy_io=globalThis.webpackChunkuppy_io||[]).push([[7652],{14312:e=>{e.exports=JSON.parse('{"permalink":"/blog/2019/04/liftoff-14","editUrl":"https://github.com/transloadit/uppy.io/tree/main/blog/2019-04-liftoff-14.md","source":"@site/blog/2019-04-liftoff-14.md","title":"Day 14","description":"Today marks the fourteenth day in our \'30 Days to Liftoff\' blog post challenge,","date":"2019-04-08T00:00:00.000Z","tags":[],"readingTime":2.94,"hasTruncateMarker":true,"authors":[{"email":"[email protected]","name":"Kevin van Zonneveld","id":"kvz","tagline":"Transloadit co-founder","imageURL":"https://github.com/kvz.png","key":"kvz","page":null}],"frontMatter":{"title":"Day 14","date":"2019-04-08T00:00:00.000Z","authors":["kvz"],"image":"https://uppy.io/img/blog/30daystoliftoff/day14.jpg","series":"30 Days to Liftoff","seriesSuffix":"of 30","slug":"2019/04/liftoff-14"},"unlisted":false,"prevItem":{"title":"Day 15","permalink":"/blog/2019/04/liftoff-15"},"nextItem":{"title":"Day 13","permalink":"/blog/2019/04/liftoff-13"}}')},28453:(e,t,n)=>{n.d(t,{R:()=>a,x:()=>r});var i=n(96540);const o={},s=i.createContext(o);function a(e){const t=i.useContext(s);return i.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:a(e.components),i.createElement(s.Provider,{value:t},e.children)}},53370:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>r,default:()=>c,frontMatter:()=>a,metadata:()=>i,toc:()=>h});var i=n(14312),o=n(74848),s=n(28453);const a={title:"Day 14",date:new Date("2019-04-08T00:00:00.000Z"),authors:["kvz"],image:"https://uppy.io/img/blog/30daystoliftoff/day14.jpg",series:"30 Days to Liftoff",seriesSuffix:"of 30",slug:"2019/04/liftoff-14"},r=void 0,l={authorsImageUrls:[void 0]},h=[{value:"Done",id:"done",level:2},{value:"Done for React Native",id:"done-for-react-native",level:2},{value:"In Progress",id:"in-progress",level:2}];function d(e){const t={a:"a",br:"br",center:"center",code:"code",em:"em",h2:"h2",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,s.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(t.p,{children:["Today marks the fourteenth day in our '30 Days to Liftoff' blog post challenge,\nworking our way towards ",(0,o.jsx)(t.strong,{children:"launching Uppy 1.0 on April 25"}),". It's the beginning\nof a new week and there is much to be done. The Uppy team is already firing on\nall cylinders and we also have some developments to share from before the\nweekend."]}),"\n",(0,o.jsx)(t.p,{children:"Let's jump right in!"}),"\n",(0,o.jsxs)(t.center,{children:[(0,o.jsx)(t.br,{}),(0,o.jsx)(t.img,{alt:"",width:"400",src:"/img/blog/30daystoliftoff/day14.jpg"}),(0,o.jsx)(t.br,{})]}),"\n",(0,o.jsx)(t.h2,{id:"done",children:"Done"}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.a,{href:"https://github.com/goto-bus-stop",children:"Ren\xe9e"})," finished work on\n",(0,o.jsx)(t.a,{href:"https://github.com/transloadit/uppy/pull/1431",children:"canceling Transloadit Assemblies"}),"\nwhen you abort uploads."]}),"\n"]}),"\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.a,{href:"https://github.com/arturi",children:"Artur"})," published the\n",(0,o.jsx)(t.a,{href:"https://github.com/transloadit/uppy/commit/845369f0e56b49ab51d4d01909dfdac6f60b1748",children:"CHANGELOG for 0.30.4"}),",\nwhich was a bit more work to figure out now that the whole Transloadit team is\npiling commits onto ",(0,o.jsx)(t.code,{children:"master"})," \ud83d\ude31 We also completed a few smaller tasks,\nsuch as fixing an issue with our build scripts and updating the Companion\ndocs."]}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(t.h2,{id:"done-for-react-native",children:"Done for React Native"}),"\n",(0,o.jsxs)(t.p,{children:["This is a pretty big one! ",(0,o.jsx)(t.a,{href:"https://github.com/ifedapoolarewaju",children:"Ife"})," and Artur\ndelivered on the bare essentials for React Native. In our local tests, this\nmeans we can now successfully pick different files, have their uploads resume\nwhere they left off, select a remote file via Companion (for now, only picking\nfrom URL is supported) and see the progress reported by it."]}),"\n",(0,o.jsx)(t.p,{children:"There is a basic UI, most of which is encapsulated in the example that we'll\npublish on our website. We're refraining from building too much UI in our React\nNative module, as we assume that developers will want to have full control and\nstyle everything close to their app. We figured they would care most about\nseeing a good example and having access to core functionality, such as making\nmobile uploads more reliable and less draining on batteries and data plans."}),"\n",(0,o.jsx)(t.p,{children:"While there are still things to be implemented, such as picking files from\nInstagram, we now know that we have all the Lego bricks required and that they\nare doing what they're supposed to. Now, it's just a matter of fleshing out\nthose integrations, but we'll have to see whether we can get to that before 1.0.\nWe're already happy about having a fixed idea about the API and a basic working\nexample as our deliverables!"}),"\n",(0,o.jsx)(t.h2,{id:"in-progress",children:"In Progress"}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.a,{href:"https://github.com/nqst",children:"Alex"})," is working on improving the Uppy design (in\nthe code) in his ",(0,o.jsx)(t.code,{children:"design-facelift"})," branch"]}),"\n"]}),"\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.a,{href:"https://github.com/lakesare",children:"Evgenia"})," is working on improving accessibility\ntogether with Alex, who found many issues that we still need to fix in this\narea."]}),"\n"]}),"\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:["Now that the bare essentials of React Native work, Ife is making sure our\nlocal work finds a proper place in the tus-js-client (such as\nReact-Native-compatible fingerprinting) while Artur hopes to find the time to\ntick off a few design goals to make for a better experience testdriving our\nexample. Things like icons for files that are not images and a ",(0,o.jsx)(t.em,{children:"Close"})," button\nfor the select file screen."]}),"\n"]}),"\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:["The whole team will again do a call this afternoon to reassess our roadmap and\nsee where all we stand. Some new tasks were added on\n",(0,o.jsx)(t.a,{href:"/blog/2019/04/liftoff-11/",children:"Friday"}),", so we'll also have to see about getting\nthose into gear."]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(t.p,{children:["That's it for Day 14. Tomorrow, it will be Samuel's turn again to update you on\nour board and progress. Subscribe via ",(0,o.jsx)(t.a,{href:"https://twitter.com/uppy_io",children:"Twitter"})," or\n",(0,o.jsx)(t.a,{href:"https://uppy.io/blog/atom.xml",children:"RSS"})," and don't miss out on\n",(0,o.jsx)(t.a,{href:"/blog/2019/04/liftoff-15/",children:"Day 15"}),"! \ud83d\udc36"]})]})}function c(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.