1"use strict";(self.webpackChunkuser_handbook=self.webpackChunkuser_handbook||[]).push([[7591],{4926:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>d,frontMatter:()=>i,metadata:()=>s,toc:()=>l});var o=n(5893),a=n(1151);const i={title:"Cwtch Developer Documentation, Cwtchbot v0.1.0 and New Nightly.",description:"In this development log we take a look at the new Cwtch developer docs!",slug:"cwtch-developer-documentation",tags:["cwtch","cwtch-stable","developer-documentation"],image:"/img/devlog9_small.png",hide_table_of_contents:!1,toc_max_heading_level:4,authors:[{name:"Sarah Jamie Lewis",title:"Executive Director, Open Privacy Research Society",image_url:"/img/sarah.jpg"}]},r=void 0,s={permalink:"/blog/cwtch-developer-documentation",source:"@site/blog/2023-04-28-developer-docs.md",title:"Cwtch Developer Documentation, Cwtchbot v0.1.0 and New Nightly.",description:"In this development log we take a look at the new Cwtch developer docs!",date:"2023-04-28T00:00:00.000Z",formattedDate:"April 28, 2023",tags:[{label:"cwtch",permalink:"/blog/tags/cwtch"},{label:"cwtch-stable",permalink:"/blog/tags/cwtch-stable"},{label:"developer-documentation",permalink:"/blog/tags/developer-documentation"}],readingTime:2.595,hasTruncateMarker:!0,authors:[{name:"Sarah Jamie Lewis",title:"Executive Director, Open Privacy Research Society",image_url:"/img/sarah.jpg",imageURL:"/img/sarah.jpg"}],frontMatter:{title:"Cwtch Developer Documentation, Cwtchbot v0.1.0 and New Nightly.",description:"In this development log we take a look at the new Cwtch developer docs!",slug:"cwtch-developer-documentation",tags:["cwtch","cwtch-stable","developer-documentation"],image:"/img/devlog9_small.png",hide_table_of_contents:!1,toc_max_heading_level:4,authors:[{name:"Sarah Jamie Lewis",title:"Executive Director, Open Privacy Research Society",image_url:"/img/sarah.jpg",imageURL:"/img/sarah.jpg"}]},unlisted:!1,prevItem:{title:"New Cwtch Nightly (v1.11.0-74-g0406)",permalink:"/blog/cwtch-nightly-v.11-74"},nextItem:{title:"Availability Status and Profile Attributes",permalink:"/blog/availability-status-profile-attributes"}},c={authorsImageUrls:[void 0]},l=[{value:"Cwtch Development Handbook",id:"cwtch-development-handbook",level:2},{value:"Release and Packaging Process",id:"release-and-packaging-process",level:3},{value:"Cwtch Application Development and Cwtchbot v0.1.0!",id:"cwtch-application-development-and-cwtchbot-v010",level:3},{value:"New Nightly",id:"new-nightly",level:3},{value:"Help us go further!",id:"help-us-go-further",level:2}];function h(e){const t={a:"a",h2:"h2",h3:"h3",img:"img",p:"p",strong:"strong",...(0,a.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(t.p,{children:["One of the larger remaining goals outlined in our ",(0,o.jsx)(t.a,{href:"/blog/cwtch-stable-roadmap-update",children:"Cwtch Stable roadmap update"})," is comprehensive developer documentation. We have recently spent some time writing the foundation for these documents."]}),"\n",(0,o.jsx)(t.p,{children:"In this devlog we will introduce some of them, and outline the next steps. We also have a new nightly Cwtch release available for testing!"}),"\n",(0,o.jsx)(t.p,{children:"We are very interested in getting feedback on these documents, and we encourage anyone who is excited to build a Cwtch Bot, or even an alternative UI, to read them over and reach out to us with comments, questions, and suggestions!"}),"\n",(0,o.jsxs)(t.p,{children:["As a reminder, the Open Privacy Research Society have ",(0,o.jsx)(t.a,{href:"https://openprivacy.ca/discreet-log/38-march-2023/",children:"also announced they are want to raise $60,000 in 2023"})," to help move forward projects like Cwtch. Please help support projects like ours with a ",(0,o.jsx)(t.a,{href:"https://openprivacy.ca/donate",children:"one-off donations"})," or ",(0,o.jsx)(t.a,{href:"https://www.patreon.com/openprivacy",children:"recurring support via Patreon"}),"."]}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.img,{src:n(9504).Z+"",width:"1005",height:"481"})}),"\n",(0,o.jsx)(t.h2,{id:"cwtch-development-handbook",children:"Cwtch Development Handbook"}),"\n",(0,o.jsxs)(t.p,{children:["We have created a new documentation section, ",(0,o.jsx)(t.a,{href:"/developing/intro",children:"the developers handbook"}
1),". This new section is targeted towards to people working on Cwtch projects (e.g. the official Cwtch library or the Cwtch UI), as well as people who want to build new Cwtch applications (e.g. chat bots or custom clients)."]}),"\n",(0,o.jsx)(t.h3,{id:"release-and-packaging-process",children:"Release and Packaging Process"}),"\n",(0,o.jsxs)(t.p,{children:["The new handbook features a breakdown of ",(0,o.jsx)(t.a,{href:"/developing/release",children:"Cwtch release processes"})," - describing what, and how, build artifacts are created; the difference between nightly and official builds; how the official release process works; and how reproducible build scripts are created."]}),"\n",(0,o.jsx)(t.h3,{id:"cwtch-application-development-and-cwtchbot-v010",children:"Cwtch Application Development and Cwtchbot v0.1.0!"}),"\n",(0,o.jsxs)(t.p,{children:["For the first time ever we now have ",(0,o.jsx)(t.a,{href:"/developing/category/building-a-cwtch-app",children:"comprehensive documentation on how to build a Cwtch Application"}),". This section of the development handbook covers everything from ",(0,o.jsx)(t.a,{href:"/developing/building-a-cwtch-app/intro#choosing-a-cwtch-library",children:"choosing a Cwtch library"}),", to ",(0,o.jsx)(t.a,{href:"/developing/building-a-cwtch-app/building-an-echobot",children:"building your first application"}),"."]}),"\n",(0,o.jsxs)(t.p,{children:["Together with this new documentation we have also ",(0,o.jsx)(t.a,{href:"https://git.openprivacy.ca/sarah/cwtchbot",children:"released version 0.1 of the Cwtchbot framework"}),", updating calls to use the ",(0,o.jsx)(t.a,{href:"/blog/cwtch-stable-api-design",children:"new Cwtch Stable API"}),"."]}),"\n",(0,o.jsx)(t.h3,{id:"new-nightly",children:"New Nightly"}),"\n",(0,o.jsxs)(t.p,{children:["There is a ",(0,o.jsx)(t.a,{href:"https://docs.cwtch.im/docs/contribute/testing#cwtch-nightlies",children:"new Nightly build"})," are available from our build server. The latest nightly we recommend testing is ",(0,o.jsx)(t.a,{href:"https://build.openprivacy.ca/files/flwtch-2023-04-26-20-57-v1.11.0-33-gb4371/",children:"2023-04-26-20-57-v1.11.0-33-gb4371"}),"."]}),"\n",(0,o.jsxs)(t.p,{children:["This version has a number of fixes and updates to the file sharing and image previews/profile pictures experiment, and an update to the ",(0,o.jsx)(t.a,{href:"/docs/platforms/tails",children:"in-development Tails support"}),"."]}),"\n",(0,o.jsx)(t.p,{children:"In addition, this nightly also includes a number of performance improvements that should fix reported rendering issues on less powerful devices."}),"\n",(0,o.jsxs)(t.p,{children:["Please see the contribution documentation for advice on ",(0,o.jsx)(t.a,{href:"/docs/contribute/testing#submitting-feedback",children:"submitting feedback"})]}),"\n",(0,o.jsxs)(t.p,{children:["Subscribe to our ",(0,o.jsx)(t.a,{href:"/blog/rss.xml",children:"RSS feed"}),", ",(0,o.jsx)(t.a,{href:"/blog/atom.xml",children:"Atom feed"}),", or ",(0,o.jsx)(t.a,{href:"/blog/feed.json",children:"JSON feed"})," to stay up to date, and get the latest on, all aspects of Cwtch development."]}),"\n",(0,o.jsx)(t.h2,{id:"help-us-go-further",children:"Help us go further!"}),"\n",(0,o.jsxs)(t.p,{children:["We couldn't do what we do without all the wonderful community support we get, from ",(0,o.jsx)(t.a,{href:"https://openprivacy.ca/donate",children:"one-off donations"})," to ",(0,o.jsx)(t.a,{href:"https://www.patreon.com/openprivacy",children:"recurring support via Patreon"}),"."]}),"\n",(0,o.jsxs)(t.p,{children:["If you want to see us move faster on some of these goals and are in a position to, please ",(0,o.jsx)(t.a,{href:"https://openprivacy.ca/donate",children:"donate"}),". If you happen to be at a company that wants to do more for the community and this aligns, please consider donating or sponsoring a developer."]}),"\n",(0,o.jsxs)(t.p,{children:["Donations of ",(0,o.jsx)(t.strong,{children:"$5 or more"})," can opt to receive stickers as a thank-you gift!"]}),"\n",(0,o.jsxs)(t.p,{children:["For more information about donating to Open Privacy and claiming a thank you gift ",(0,o.jsx)(t.a,{href:"https://openprivacy.ca/donate/",children:"please visit the Open Privacy Donate page"}),"."]}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.img,{alt:"A Photo of Cwtch Stickers",src:n(5005).Z+"",width:"1024",height:"768"})})]})}function d(e={}){const{wrapper:t}={...(0,a.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(h,{...e})}):h(e)}}
1,9504:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/devlog9-db5594c3b12bd5d3baf3fe06894e1a6f.png"},5005:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/stickers-new-1e9b14bdd638b4907cce833e813a09ad.jpg"},1151:(e,t,n)=>{n.d(t,{Z:()=>s,a:()=>r});var o=n(7294);const a={},i=o.createContext(a);function r(e){const t=o.useContext(i);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:r(e.components),o.createElement(i.Provider,{value:t},e.children)}}}]);
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.