3Speak Mobile App Development Update by Sagar - Setting Up Acela Core, Solving Errors, and more

in #update9 months ago
Authored by @sagarkothari88

threespeakupdates.png

<hr /> <div class="text-justify"> <p dir="auto"><span>Hello <a href="/@threespeak">@threespeak Community Members & Hive Community Members, <p dir="auto"><span>With this post, I'll share the development updates & items on which I (<a href="/@sagarkothari88">@sagarkothari88) was working. Accidentally, OBS decided to pick a different audio device & due to which no audio was captured. You can find updates as follows. <h2>Setting Up Acela-core <ul> <li>Acela-Core is a new backend core for decentralized video applications on HIVE. <li>It supports both off-chain & on-chain data. <li><span>I (<a href="/@sagarkothari88">@sagarkothari88) checked it out locally & resolved all the issues he faced. <h3>Setting up .env & resolving related issues <ul> <li>To run, you need some of the configs. <li>After coordinating with the team, I got the necessary env variables. <li>Even after that, I faced some errors due to missing env variables. <li>After turning off cluster-related services, I was able to move forward. <h3>TUSd uploader <ul> <li>At first, I was unaware & I was running the TUSd instance independently. <li>After knowing there was a script already for it, I closed that instance & ran on my own. <li><span><a href="https://github.com/spknetwork/acela-core/blob/main/runTusd.sh" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">https://github.com/spknetwork/acela-core/blob/main/runTusd.sh <li>With that, I had running the TUSd uploader locally <h3>TUSd Hooks <ul> <li>Even after running it, It kept throwing errors. <li>I created a <code>data folder locally & updated <code>runTusd.sh as follows. <li>It resolved TUSd issues. <li>As you can see here, I changed <code>upload-dir from <code>/data to <code>./data <pre><code> tusd -upload-dir=./data/ \ -base-path="/files" \ -host="127.0.0.1" \ -port="1080" \ -behind-proxy \ --hooks-enabled-events pre-create,post-create,post-finish,post-finish,post-terminate,post-receive \ -max-size 5000000000 \ -hooks-http http://localhost:4569/api/v1/upload/tus-callback <h3>Other errors <ul> <li>I also encountered IPFS Cluster issues. <li>Those I managed to resolve by coordinating with the teI also encountered some compilation errors & got them fixed locally. <li>After all of these, I was all set. <p dir="auto"><img src="https://images.hive.blog/768x0/https://images.ecency.com/DQme1eL9v9d8qiTY2KdjUACLN5oMFzUQZP9Rpf8uvDhAnhH/hive_divider.png" srcset="https://images.hive.blog/768x0/https://images.ecency.com/DQme1eL9v9d8qiTY2KdjUACLN5oMFzUQZP9Rpf8uvDhAnhH/hive_divider.png 1x, https://images.hive.blog/1536x0/https://images.ecency.com/DQme1eL9v9d8qiTY2KdjUACLN5oMFzUQZP9Rpf8uvDhAnhH/hive_divider.png 2x" /> <h2>Learning NestJS <ul> <li>Acela core is written using the NestJS Framework. <li>It's been over a year & I have not learned about NestJS. <li>I found a playlist on YouTube to learn NestJS. <li>I completed approximately 18 videos from <a href="https://www.youtube.com/playlist?list=PLqLR2H326bY6eRNOXJxWQkvKNlzmJQfLj" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">that playlist. <li>After 18 videos, I started contributing to the Acela-core project. <p dir="auto"><img src="https://images.hive.blog/768x0/https://files.peakd.com/file/peakd-hive/sagarkothari88/23wWT2CTzfNDgQezoy9hmhN7DJ1Y3ggttmuqVQoy8vTzFmkLnQ8tWCikDnxx1o7FQCbgm.png" alt="NestJS Video Playlist" srcset="https://images.hive.blog/768x0/https://files.peakd.com/file/peakd-hive/sagarkothari88/23wWT2CTzfNDgQezoy9hmhN7DJ1Y3ggttmuqVQoy8vTzFmkLnQ8tWCikDnxx1o7FQCbgm.png 1x, https://images.hive.blog/1536x0/https://files.peakd.com/file/peakd-hive/sagarkothari88/23wWT2CTzfNDgQezoy9hmhN7DJ1Y3ggttmuqVQoy8vTzFmkLnQ8tWCikDnxx1o7FQCbgm.png 2x" /> <p dir="auto"><img src="https://images.hive.blog/768x0/https://images.ecency.com/DQme1eL9v9d8qiTY2KdjUACLN5oMFzUQZP9Rpf8uvDhAnhH/hive_divider.png" srcset="https://images.hive.blog/768x0/https://images.ecency.com/DQme1eL9v9d8qiTY2KdjUACLN5oMFzUQZP9Rpf8uvDhAnhH/hive_divider.png 1x, https://images.hive.blog/1536x0/https://images.ecency.com/DQme1eL9v9d8qiTY2KdjUACLN5oMFzUQZP9Rpf8uvDhAnhH/hive_divider.png 2x" /> <h2>Acela-Core - Posting Authority before logging in <p dir="auto"><img src="https://images.hive.blog/768x0/https://files.peakd.com/file/peakd-hive/sagarkothari88/23t7AyTgukHsGVuz4pQbhrGPJwha5vWcqTkQWjove53QaTgLE8QGRG9xSaBCyRo9BrCEV.png" alt="Checking for Posting Authority" srcset="https://images.hive.blog/768x0/https://files.peakd.com/file/peakd-hive/sagarkothari88/23t7AyTgukHsGVuz4pQbhrGPJwha5vWcqTkQWjove53QaTgLE8QGRG9xSaBCyRo9BrCEV.png 1x, https://images.hive.blog/1536x0/https://files.peakd.com/file/peakd-hive/sagarkothari88/23t7AyTgukHsGVuz4pQbhrGPJwha5vWcqTkQWjove53QaTgLE8QGRG9xSaBCyRo9BrCEV.png 2x" /> <ul> <li><span><a href="https://github.com/spknetwork/acela-core/pull/8/files" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">https://github.com/spknetwork/acela-core/pull/8/files. <li>Granting JWT Token only if posting authority is found. <li>This JWT Token will be used for upvotes, comments, and posts. <li>Without posting authority, all of the operations may fail. <li>So, it's best to check at the time of login /login_singleton <li>It would be the front-end's responsibility to get posting authority first. <li>After that front-ends can generate proof & proof of payload & - execute/login_singleton for logging in. <p dir="auto"><img src="https://images.hive.blog/768x0/https://images.ecency.com/DQme1eL9v9d8qiTY2KdjUACLN5oMFzUQZP9Rpf8uvDhAnhH/hive_divider.png" srcset="https://images.hive.blog/768x0/https://images.ecency.com/DQme1eL9v9d8qiTY2KdjUACLN5oMFzUQZP9Rpf8uvDhAnhH/hive_divider.png 1x, https://images.hive.blog/1536x0/https://images.ecency.com/DQme1eL9v9d8qiTY2KdjUACLN5oMFzUQZP9Rpf8uvDhAnhH/hive_divider.png 2x" /> <h2>Acela-Core - Max 5 GB Upload <p dir="auto"><img src="https://images.hive.blog/768x0/https://files.peakd.com/file/peakd-hive/sagarkothari88/23t7BGkMDtPvJZLgRjMs5yzmWPZYY7fTaeM3qp8bQvipbZQ4RtNg82uxtEYRUBnPZbzq6.png" alt="File Size" srcset="https://images.hive.blog/768x0/https://files.peakd.com/file/peakd-hive/sagarkothari88/23t7BGkMDtPvJZLgRjMs5yzmWPZYY7fTaeM3qp8bQvipbZQ4RtNg82uxtEYRUBnPZbzq6.png 1x, https://images.hive.blog/1536x0/https://files.peakd.com/file/peakd-hive/sagarkothari88/23t7BGkMDtPvJZLgRjMs5yzmWPZYY7fTaeM3qp8bQvipbZQ4RtNg82uxtEYRUBnPZbzq6.png 2x" /> <ul> <li>We need to ensure that file size is no bigger than 5 GB. <li><span><a href="https://github.com/spknetwork/acela-core/pull/9" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">https://github.com/spknetwork/acela-core/pull/9. <li>In <code>src/services/uploader/uploading.service.ts, I added an extra check & it then shows an error if the file size is too big. <p dir="auto"><img src="https://images.hive.blog/768x0/https://images.ecency.com/DQme1eL9v9d8qiTY2KdjUACLN5oMFzUQZP9Rpf8uvDhAnhH/hive_divider.png" srcset="https://images.hive.blog/768x0/https://images.ecency.com/DQme1eL9v9d8qiTY2KdjUACLN5oMFzUQZP9Rpf8uvDhAnhH/hive_divider.png 1x, https://images.hive.blog/1536x0/https://images.ecency.com/DQme1eL9v9d8qiTY2KdjUACLN5oMFzUQZP9Rpf8uvDhAnhH/hive_divider.png 2x" /> <h2>New FrontEnd - Video Format <ul> <li>This will be the third check we'll add to the upload process. <li>It makes sure that users are uploading videos in the right format. <li>With this, we wish to improve the upload experience. <li>This work is in progress. <p dir="auto"><img src="https://images.hive.blog/768x0/https://images.ecency.com/DQme1eL9v9d8qiTY2KdjUACLN5oMFzUQZP9Rpf8uvDhAnhH/hive_divider.png" srcset="https://images.hive.blog/768x0/https://images.ecency.com/DQme1eL9v9d8qiTY2KdjUACLN5oMFzUQZP9Rpf8uvDhAnhH/hive_divider.png 1x, https://images.hive.blog/1536x0/https://images.ecency.com/DQme1eL9v9d8qiTY2KdjUACLN5oMFzUQZP9Rpf8uvDhAnhH/hive_divider.png 2x" /> <h2>Exchanging GQL queries <ul> <li>Juneroy & I exchanged several GraphQL queries. <li>With this, he could implement it on New 3Speak FrontEnd. <li>Shared Queries for the following: <ul> <li>Subscribed feed <li>Trending feed <li>New feed <li>First upload <li>Community Feed <li>Tags Feed <p dir="auto"><img src="https://images.hive.blog/768x0/https://images.ecency.com/DQme1eL9v9d8qiTY2KdjUACLN5oMFzUQZP9Rpf8uvDhAnhH/hive_divider.png" srcset="https://images.hive.blog/768x0/https://images.ecency.com/DQme1eL9v9d8qiTY2KdjUACLN5oMFzUQZP9Rpf8uvDhAnhH/hive_divider.png 1x, https://images.hive.blog/1536x0/https://images.ecency.com/DQme1eL9v9d8qiTY2KdjUACLN5oMFzUQZP9Rpf8uvDhAnhH/hive_divider.png 2x" /> <h2>What are the next tasks? <ul> <li>Acela-Core - Fix Upvote API. <li>Acela-Core - <code>create-upload API failing. <li>3Speak Legacy Studio - Add posting authority using Active Key, which is not working. <li>3Speak Legacy Studio - Connect the account using Active Key, which is not working. <li>3Speak Legacy FrontEnd - 3Speak Twitter handle. <li>3Speak Legacy FrontEnd - Update Twitter Icon. <li>New tasks will be assigned based on daily stand-ups. <p dir="auto"><img src="https://images.hive.blog/768x0/https://images.ecency.com/DQme1eL9v9d8qiTY2KdjUACLN5oMFzUQZP9Rpf8uvDhAnhH/hive_divider.png" srcset="https://images.hive.blog/768x0/https://images.ecency.com/DQme1eL9v9d8qiTY2KdjUACLN5oMFzUQZP9Rpf8uvDhAnhH/hive_divider.png 1x, https://images.hive.blog/1536x0/https://images.ecency.com/DQme1eL9v9d8qiTY2KdjUACLN5oMFzUQZP9Rpf8uvDhAnhH/hive_divider.png 2x" /> <h2>Feedback / Info <ul> <li>Do you want more Info? Please let me know via the comment section. <li>Do you have feedback to share? Please use the comment section. <li>Please check the above video & share feedback. <hr /> <p dir="auto"><img src="https://images.hive.blog/768x0/https://files.peakd.com/file/peakd-hive/threespeak/23tRvWvmwuE7SGkXfPhHY8GPxiwaVKnVtzAFwDjuXFM3gWtRS6dr2F4yK4vexmaUHERuK.png" alt="color3speak.png" srcset="https://images.hive.blog/768x0/https://files.peakd.com/file/peakd-hive/threespeak/23tRvWvmwuE7SGkXfPhHY8GPxiwaVKnVtzAFwDjuXFM3gWtRS6dr2F4yK4vexmaUHERuK.png 1x, https://images.hive.blog/1536x0/https://files.peakd.com/file/peakd-hive/threespeak/23tRvWvmwuE7SGkXfPhHY8GPxiwaVKnVtzAFwDjuXFM3gWtRS6dr2F4yK4vexmaUHERuK.png 2x" /> <h3><center>Important Links: <div class="table-responsive"><table> <thead> <tr><th style="text-align:center"><th style="text-align:center"> <tbody> <tr><td style="text-align:center"><a href="https://linktr.ee/3speak" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">3Speak Linktree<td style="text-align:center"><a href="https://linktr.ee/spknetwork" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">SPK Network Linktree <div class="table-responsive"><table> <thead> <tr><th><th><th><th> <tbody> <tr><td><a href="https://3speak.tv" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">3Speak.tv<td><a href="https://twitter.com/3speakonline" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">3Speak Twitter<td><a href="https://hive.blog/@threespeak">3Speak Hive Blog<td><a href="https://t.me/threespeak" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">3Speak Telegram <tr><td><a href="https://peakd.com/@threespeak-es/posts" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">3Speak in Spanish<td><a href="https://play.google.com/store/apps/details?id=tv.threespeak.app" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">Download Android App<td><a href="https://apps.apple.com/us/app/3speak/id1614771373" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">Download iOS App<td><a href="https://github.com/spknetwork/3Speak-app/releases" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">Download Desktop App <tr><td><a href="https://discord.gg/NSFS2VGj83" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">Join 3Speak Discord<td><a href="https://ecency.com/hive-181335/@sagarkothari88/retfajht" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">Setup Encoder Node<td><a href="https://peakd.com/hive-112019/@spknetwork/spk-network-funding-proposal-rhnv7e" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">Vote for SPK Network Proposal<td><a href="https://peakd.com/b/badge-181335/recipients" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">Badge Recipients <div class="table-responsive"><table> <thead> <tr><th style="text-align:center"><th style="text-align:center"> <tbody> <tr><td style="text-align:center"><a href="https://apps.apple.com/us/app/3speak/id1614771373" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link"><img src="https://images.hive.blog/768x0/https://i.imgur.com/enwTLng.png" alt="appStore" srcset="https://images.hive.blog/768x0/https://i.imgur.com/enwTLng.png 1x, https://images.hive.blog/1536x0/https://i.imgur.com/enwTLng.png 2x" /><td style="text-align:center"><a href="https://play.google.com/store/apps/details?id=tv.threespeak.app" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link"><img src="https://images.hive.blog/768x0/https://i.imgur.com/6K5fgGX.png" alt="GooglePlayStore" srcset="https://images.hive.blog/768x0/https://i.imgur.com/6K5fgGX.png 1x, https://images.hive.blog/1536x0/https://i.imgur.com/6K5fgGX.png 2x" /> <h3><center><a href="https://vote.hive.uno/@threespeak" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">Vote for 3Speak as Witness - <a href="https://vote.hive.uno/@threespeak" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link"><img src="https://images.hive.blog/u/threespeak/avatar" alt="Support @threespeak" /> <h3><center><a href="https://vote.hive.uno/@sagarkothari88" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">Vote for Sagarkothari88 as Witness - <a href="https://vote.hive.uno/@sagarkothari88" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link"><img src="https://images.hive.blog/u/sagarkothari88/avatar" alt="Support @sagarkothari88" />
Sort:  

This is really great to witness the great developments

This is an amazing update, I love this. Keep up the good work guys..

Hi @sagarkothari88

Sorry, mate. I know your busy.

I've asked a couple of times but no joy. How do we download vids from Three Speak now, please? I have a few I'd like to edit and use but the download option is either gone or moved?

Thanks!