copyedit pass

This commit is contained in:
Julie Sigwart 2019-11-11 12:16:39 -08:00 committed by GitHub
parent 54c288e864
commit bea552797a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -14,7 +14,7 @@ If you want to see a condensed view of what we've completed recently and what
Lets start with some GitHub stats across all our repos (some of which are internal only to LBRY) since our last update about 31 days ago. 35 repos were updated. 581 issues were created, 167 were closed. 43 PRs were merged. 55 GitHub users outside of LBRY made code contributions, which is a big increase for the month thanks to the [Hacktoberfest initiative](#hacktoberfest):
[0x15F9](https://github.com/0x15F9), [Axle7XStriker](https://github.com/Axle7XStriker), [Bharat123rox](https://github.com/Bharat123rox), [Coolguy3289](https://github.com/Coolguy3289), [EricBrianAnil](https://github.com/EricBrianAnil), [Janith96](https://github.com/Janith96), [LividJava](https://github.com/LividJava), [ProfessorDey](https://github.com/ProfessorDey), [S-ayanide](https://github.com/S-ayanide), [Sesamestrong](https://github.com/Sesamestrong), [StrikerRUS](https://github.com/StrikerRUS), [Sweta271097](https://github.com/Sweta271097), [addy1510](https://github.com/addy1510), [adityakaria](https://github.com/adityakaria), [akshitsarin](https://github.com/akshitsarin), [bear454](https://github.com/bear454), [brentmclark](https://github.com/brentmclark), [btzr-io](https://github.com/btzr-io), [cbaumler](https://github.com/cbaumler), [ceoger](https://github.com/ceoger), [colinfruit](https://github.com/colinfruit), [consolelogreece](https://github.com/consolelogreece), [crweiner](https://github.com/crweiner), [dangarthwaite](https://github.com/dangarthwaite), [danger89](https://github.com/danger89), [f1x3d](https://github.com/f1x3d), [felhe](https://github.com/felhe), [gahag](https://github.com/gahag), [gy741](https://github.com/gy741), [hackily](https://github.com/hackily), [helios1101](https://github.com/helios1101), [hugovk](https://github.com/hugovk), [j-collier](https://github.com/j-collier), [jamesgeorge007](https://github.com/jamesgeorge007), [jhoho](https://github.com/jhoho), [jkonecny12](https://github.com/jkonecny12), [ju-sh](https://github.com/ju-sh), [kcseb](https://github.com/kcseb), [kodxana](https://github.com/kodxana), [kovalur](https://github.com/kovalur), [michizhou](https://github.com/michizhou), [mirgee](https://github.com/mirgee), [mohatagarvit](https://github.com/mohatagarvit), [naumanahmad9](https://github.com/naumanahmad9), [osilkin98](https://github.com/osilkin98), [prateekpardeshi](https://github.com/prateekpardeshi), [raxraj](https://github.com/raxraj), [sagarvd01](https://github.com/sagarvd01), [sakshamtaneja21](https://github.com/sakshamtaneja21), [sameshl](https://github.com/sameshl), [sidhyatikku](https://github.com/sidhyatikku), [sumitkharche](https://github.com/sumitkharche), [vulongm](https://github.com/vulongm), [ykris45](https://github.com/ykris45), [zxawry](https://github.com/zxawry)
Thanks to everyone who took time out of their busy days to help LBRY out!
Thanks to everyone who took time from their busy days to help LBRY out!
## In this report
* [Hacktoberfest wrap-up!](#hacktoberfest)
@ -29,14 +29,14 @@ Thanks to everyone who took time out of their busy days to help LBRY out!
* [2019 roadmap progress](#roadmap)
## Hacktoberfest wrap-up! {#hacktoberfest}
October is now behind us which means Hacktoberfest at LBRY has concluded! We had a ton of activity across our repos, which of course, included a few PRs for spelling fixes and read-mes too. Overall we were happy with the turnout and will continue to do more live sessions to engage the developer community (sign up at [lbry.tech](https://lbry.tech) to be notified of the next one). Check out our [blog post](https://lbry.com/news/2019-hacktober) for all the details including a preview of the t-shirts being sent out!
October is now behind us which means Hacktoberfest at LBRY has concluded! We had a ton of activity across our repos, which of course, included a few PRs for spelling fixes and read-mes too. Overall we were happy with the turnout, and will continue to do more live sessions to engage the developer community. Sign up at [lbry.tech](https://lbry.tech) to be notified of the next one. Check out our [blog post](https://lbry.com/news/2019-hacktober) for all the details including a preview of the t-shirts being sent out!
![Hacktoberfest](https://spee.ch/@lbrynews:0/hacktoberfest-lbry.png)
## Desktop app {#summary-desktop}
Since our last development update, the app team shipped our next named release, [0.37.0](https://github.com/lbryio/lbry-desktop/releases/tag/v0.37.0), under codename [Heisenberg](https://lbry.com/news/unification).
Heisenberg is a huge release in terms of allowing a unified app experience across multiple devices, including allowing existing users to enable wallet and preference syncing features. Previous to this release, subscriptions were synced using our API services and now they are stored locally in a users wallet file along with tags and blocked channels. This wallet file is now what is backed up and synchronized to all your other devices - which means you get a consistent experience on Android and lbry.tv. For now, weve disabled the ability to apply/change user encryption until we have the change process supported/implemented on Android/lbry.tv - stay tuned for this feature in a future release.
Heisenberg is a huge release in terms of allowing a unified app experience across multiple devices, including allowing existing users to enable wallet, and preference syncing features. Previous to this release, subscriptions were synced using our API services and now they are stored locally in a users wallet file along with tags and blocked channels. This wallet file is now what is backed up and synchronized to all your other devices - which means you get a consistent experience on Android and lbry.tv. For now, weve disabled the ability to apply/change user encryption until we have the change process supported/implemented on Android/lbry.tv. Stay tuned for this feature in a future release.
Other new features in Heisenberg and since our last update include:
- Commenting on channel pages under the Discussions section.
@ -57,7 +57,9 @@ For our next release, well have the ability to search downloaded items on you
![search](https://spee.ch/c/search-downloads.png)
### Supporting the latest SDK and optimizing calls
The latest SDK release had api changes to enable pagination on all APIs, so weve made those changes on the app side and at the same time, took some time to optimize the calls, especially those made on lbry.tv. One example is dealing with the transaction list - we used to call all the transactions on startup, but on Desktop well only call page 1 with the latest 20 and on lbry.tv, well only do this once the user goes to their wallet. If the Full History page is accessed, thats when the rest of the transaction history is called. In the future well further optimize this so that it calls the history for each specific page. Taking actions such as claiming tips and abandoning supports/publishes will also be faster since we will no longer refresh the claim list or supports as that is already taken care of in redux state.
The latest SDK release had api changes to enable pagination on all APIs. So we also made those changes on the app side and simultaneously took some time to optimize the calls - especially those made on lbry.tv. One example is dealing with the transaction list. We used to call all the transactions on startup, but on Desktop we now only call page 1 with the latest 20 transactions. On lbry.tv, well only do this once the user goes to their wallet.
If the Full History page is accessed, thats when the rest of the transaction history is called. In the future, well continue to optimize this so the history is called for each specific page. Taking actions such as claiming tips and abandoning supports/publishes will also be faster since we will no longer refresh the claim list or supports as that is already taken care of in redux state.
### More languages
In the next release, well also include support for Turkish, Slovenian, French and Chinese. These are currently available on [lbry.tv](https://beta.lbry.tv) for signed in accounts on the Settings page.
@ -67,17 +69,17 @@ In the next release, well also include support for Turkish, Slovenian, French
### Desktop next steps
Since the last release, the team has been working to polish up the sign in process, publishing, and syncing on lbry.tv. This includes the ability to sync encrypted accounts from previous Desktop installations or Android - users will be prompted for their password which may have been set either on their Android device or encrypted Desktop wallet. By default, the passwords will be cached for 2 weeks and users will be re-prompted.
With the next SDK update, well also have the ability to track content purchases at the transaction level which means you can purchase content on one device and play it back on another. This will also give new insight into content purchasing on both the receiver and purchaser - the transaction history will now show what claim was associated with it. We also plan to create a separate section in the My Library section to filter on paid content.
With the next SDK update, well also have the ability to track content purchases at the transaction level. This means you can purchase content on one device and play it back on another. This will also give new insight into content purchasing on both the receiver and purchaser - the transaction history will now show what claim was associated with it. We also plan to create a separate section in the My Library section to filter on paid content.
We are also adding auto run options to the LBRY app so users can benefit from it launching automatically on startup. This will allow faster access of content when coming across a URL and help support the LBRY network by hosting data in the background.
There are numerous bug fixes and other cleanups slated for the next release including:
- preventing duplicate tags from being followed.
- fixing dark mode hour selection.
- adding close buttons to wallet send/receive page.
- fixing the clipboard function on lbry.tv.
- scrolling fixes with large sidebars.
- fix bug with channel page not showing any videos randomly
- Preventing duplicate tags from being followed
- Fixing dark mode hour selection
- Adding close buttons to wallet send/receive page
- Fixing the clipboard function on lbry.tv
- Scrolling fixes with large sidebars
- Fix bug with channel page not showing any videos randomly
### SDK {#summary-sdk}
On the SDK side of the house, weve shipped versions [0.43](https://github.com/lbryio/lbry-sdk/releases/tag/v0.43.0), [0.44.0](https://github.com/lbryio/lbry-sdk/releases/tag/v0.44.0), and [0.45.0](https://github.com/lbryio/lbry-sdk/releases/tag/v0.45.0) which have brought numerous new features and bug fixes to support cross device syncing scenarios that are currently used by the apps and lbry.tv.
@ -94,12 +96,16 @@ The main features and bug fixes include:
### Purchase transactions and history
Prior to version 0.45, content purchases were regular transactions that were not linked directly to a claim so there was missing information for both the seller and purchaser - the transaction in wallet history would appear without claim information so you couldnt tell which content the purchase was for. This also would prevent the purchaser from viewing the paid content on another device. We implemented a basic purchase history mechanism which links a content payment transaction to a claim ID using a special output called [OP_RETURN](https://en.bitcoin.it/wiki/OP_RETURN) that allows us to store 80 bytes of data (claim id in our case). A new API, purchase list, was added to return all purchased content and purchase information was also added to transaction / file list so we can properly show the history. When a paid file is requested, the purchase list is checked to see if a user can access it without paying again. There is backwards compatibility for old purchases if a users file data already has the content also but this will not work across other devices.
Prior to version 0.45, content purchases were regular transactions that were not linked directly to a claim so there was missing information for both the seller and purchaser. The transaction in the wallet history would appear without claim information so you couldnt tell which content the purchase was for.
This also would prevent the purchaser from viewing the paid content on another device. We implemented a basic purchase history mechanism which links a content payment transaction to a claim ID using a special output called [OP_RETURN](https://en.bitcoin.it/wiki/OP_RETURN) that allows us to store 80 bytes of data (claim id in our case).
A new API, purchase list, was added to return all purchased content and purchase information was also added to transaction / file list so we can properly show the history. When a paid file is requested, the purchase list is checked to see if a user can access it without paying again. There is backwards compatibility for old purchases if a users file data already has the content also but this will not work across other devices.
![purchase](https://spee.ch/b/purchase-list.png)
### Wallet server installation streamlined
In an effort to further decentralize wallet servers run by LBRY and give users more choice in server selection/ access in their region, weve been simplifying the entire wallet setup and deployment process. Running a wallet server also require a full node to be accessible to populate claim / trending data and provide wallet address transaction history.
In an effort to further decentralize wallet servers run by LBRY and give users more choice in server selection/ access in their region, weve been simplifying the entire wallet setup and deployment process. Running a wallet server also requires a full node to be accessible to populate claim / trending data and provide wallet address transaction history.
Currently the process is fully dockerized for both the LBRYcrd and wallet server, so getting one up and running has never been easier. It also uses snapshots of both databases so they dont need to be synced from scratch which would normally take a few hours. Give it a try today by following the [detailed setup instructions](https://gist.github.com/lyoshenka/2557c08344bfe1020f0c0a13b9c5b0ce).
@ -115,7 +121,9 @@ The SDK team has been focusing on tasks related to supporting the lbry.tv use ca
## Blockchain {#blockchain}
The blockchain team successfully carried out an upgrade to the chain.
With good coordination, the team was able to communicate with mining pools, exchanges and node operators to get everyone on the latest release. On October the 30th, at 1:22PM UTC and again at 1:53PM UTC the chain successfully underwent 2 upgrades. (see list below)
With good coordination, the team was able to communicate with mining pools, exchanges and node operators to get everyone on the latest release. On October the 30th, at 1:22PM UTC and again at 1:53PM UTC the chain successfully underwent 2 upgrades (see list below).
The latest release includes one last fork targeting December 11th, 2019 to support SegWit transactions.
The [blockchain software upgrade](https://github.com/lbryio/lbrycrd/releases/tag/v0.17.3.1) included the following features:
@ -123,13 +131,13 @@ The [blockchain software upgrade](https://github.com/lbryio/lbrycrd/releases/tag
- Metadata for support type transactions ✓ (Oct 30th)
- SegWit support. This will allow Lightning Network for content and data payments down the road ⌛ (Dec 11th)
We will be exploring the applications of support metadata to include things like signed supports (i.e. you can tell which channel a tip came from), premium subscriptions, and community metadata. The team is also exploring additional methods of storing claim data in a single table which can then be re-used by wallet servers instead of having them process and reindex it locally.
We will be exploring the applications of support metadata to include things like signed supports (i.e. you can tell which channel a tip came from), premium subscriptions, and community metadata. The team is also exploring additional methods of storing claim data in a single table which can then be reused by wallet servers instead of having them process and re-index it locally.
You can check out our [blog post for detailed information about this release](https://lbry.com/news/hf1910).
## lbry.tv {#web}
Since our last report, weve progressed further towards our goal of fully launching lbry.tv without the beta subdomain. We implemented the account syncing process to work with lbry.tv for both new and returning users (including the ability to sync encrypted wallets too). If a user has a password protected account from Android or Desktop, they will be prompted to input the password when logging in with the option of saving it in their browser session (limited to a 2 week period). We were running into a wallet syncing issue that was finally narrowed down to a bug with the new wallet id support when the account was loaded.
Since our last report, weve progressed further towards our goal of fully launching lbry.tv without the beta subdomain. We implemented the account syncing process to work with lbry.tv for both new and returning users (including the ability to sync encrypted wallets too). If a user has a password protected account from Android or Desktop, they will be prompted to input the password when logging in with the option of saving it in their browser session (limited to a 2 week period). We had a wallet syncing issue that we finally resolved with the new wallet id support when the account was loaded.
Weve also improved many of the touch points while not signed into an account - this means things like commenting, subscribing, and tipping will drive users to sign up for an account. Publish support is now fully implemented and available for files up to 500MB.
@ -147,7 +155,7 @@ Eager to give lbry.tv a try now? Head over to [https://beta.lbry.tv](https://bet
Over the last couple of weeks we ran two stress tests on lbry.tv by asking the community to access their accounts simultaneously which has provided critical feedback as to the bottlenecks of the current implementation. In the first test, we managed to bog down the LBRY SDK behind lbry.tv due to long running wallet balance calls (with the --reserved_subtotals parameter which is more intensive due to querying claim data). Since this API call is one of the most active ones that runs every 5 seconds to keep a users balance up to date, it heavily taxed the SDK and it was not able to keep up. Ultimately the solution would be web sockets that allows for a push mechanism, but in the meantime we added caching that made subsequent calls super fast.
With the caching patch in place, we coordinated a 2nd stress test by reaching out to our Discord/Telegram/Reddit communities and emailing a list of ~4K lbry.tv registered accounts. This round went much better in terms of SDK performance but users outside of the US ran into trouble streaming content. This is a known limitation because the server is currently based in the US. We will attempt to cache some of this data to help serve multiple users the same file, but in order to better support users around the world, LBRY will need to run multiple UI and SDK instances around the globe. Overall this test was successful and will let us move lbry.tv out of the early beta phase. We still plan to improve concurrent operations on the SDK , but its not prohibiting us from trying to reach a wider audience.
With the caching patch in place, we coordinated a 2nd stress test by reaching out to our Discord/Telegram/Reddit communities and emailing a list of ~4K lbry.tv registered accounts. This round went much better in terms of SDK performance but users outside of the US ran into trouble streaming content. This is a known limitation because the server is currently based in the US. We will attempt to cache some of this data to help serve multiple users the same file, but in order to better support users around the world, LBRY will need to run multiple UI and SDK instances around the globe. Overall this test was successful and will let us move lbry.tv out of the early beta phase. We still plan to improve concurrent operations on the SDK, but its not prohibiting us from trying to reach a wider audience.
### Embedding videos on other sites
@ -157,7 +165,7 @@ We recently added an embed option in the Share prompt. This includes the iframe
### LBRY.tv launch and next steps
Based on the stress testing results above, we are gearing up to at least remove the beta tag from lbry.tv. We will continue to monitor performance and start funneling more users into the LBRY web experience. The first phase of this occurred recently where we emailed all our YouTube sync users who havent yet claimed their channel by prompting them to do so on lbry.tv.
Based on the stress testing results above, we are gearing up to finally remove the beta tag from lbry.tv. We will continue to monitor performance and start funneling more users into the LBRY web experience. The first phase of this occurred recently where we emailed all our YouTube sync users who havent yet claimed their channel by prompting them to do so on lbry.tv.
Were also going to experiment with support for additional file types like markdown, HTML, and PDFs.
@ -169,7 +177,7 @@ Since our last update, our team has released [0.10.0 - Cartwheel](https://github
Main features in Cartwheel and Doppler include:
- Syncing of wallets, subscriptions, and tags between devices and lbry.tv.
- Push notifications for rewards, subscriptions, and interests. Can be managed in Settings.
- Push notifications for rewards, subscriptions, and interests. Notifications can be managed in Settings.
- Share button on content and channel pages.
- Exploring tags from search and ability to follow from tag page.
- Option for URL suggestions in Settings.
@ -184,7 +192,7 @@ With notification support, we sent out first welcome blast to all Android users
We are also aware of performance issues affecting older devices and will continue to profile our UI to see where improvements can be made. Next steps also include adding internationalization support and the referral/invites feature available on Desktop/lbry.tv.
## open.lbry.com transition {#open}
With the upcoming launch of lbry.tv, weve decided to sunset open.lbry.com and replace it with a lbry.tv URL that will go directly to the content page on the web, with an option to open the content in the app, similar to whats possible today on the open site. This also means well have URL preview support directly on lbry.tv links and wont have to reimplement the same on open.lbry.com.
With the upcoming launch of lbry.tv, weve decided to sunset open.lbry.com and replace it with a lbry.tv URL that will go directly to the content page on the web. There will also be an option to open the content in the app, similar to whats possible today on open.lbry.com. This also means well have URL preview support directly on lbry.tv links and wont have to reimplement the same on open.lbry.com.
## YouTube Sync {#youtube}
Since our last update, we added parallel processing to the transfer mechanism so that channel claiming can be finalized quicker and not lock up the servers for long periods of time. From time to time, we do have to manually intervene with a transfer in case something goes wrong with the SDK - which weve seen happen for larger creators/wallets which transferring tips. As of the writing of this update, we are almost at 500 YouTube channels claimed. Weve also updated our [Top YouTubers](http://traction.lbry.com/question/163) list to include a transfer date if they claimed their channel.
@ -202,12 +210,12 @@ Weve successfully accomplished a number of roadmap items fully, while others
Partially completed/still in progress are:
* **Commenting** - Markdown support added in Heisenberg
* **Creator Features** - claiming YouTube channels now possible on lbry.tv. Rewards for creators in the pipeline.
* **Creator Partnerships** - no update since last month - in progress and will be announced later this year
* **LBRY on the Web** - end of beta state this month, focus on supporter larger user bases next.
* **Multi-Device Experience** - wallet and account preferences now available for everyone with Heisenberg and supported on lbry.tv. Encryption/password change features in progress.
* **Internationalization** - 3 new languages added: Chinese, Slovenian, Turkish, and French. Available on lbry.tv and next app release (mid Nov)
* **Protocol Performance** - mobile reliability improved, multiprocessing effort in progress to support lbry.tv
* **Creator Features** - Claiming YouTube channels now possible on lbry.tv. Rewards for creators in the pipeline.
* **Creator Partnerships** - No update since last month - in progress and will be announced later this year
* **LBRY on the Web** - End of beta state this month, focus on supporter larger user bases next.
* **Multi-Device Experience** - Wallet and account preferences now available for everyone with Heisenberg and supported on lbry.tv. Encryption/password change features in progress.
* **Internationalization** - 3 new languages added: Chinese, Slovenian, Turkish, and French. Available on lbry.tv and next app release (mid Nov).
* **Protocol Performance** - Mobile reliability improved, multiprocessing effort in progress to support lbry.tv.
## Limited Reward Code!
Weve got a special bonus for readers of this update, enjoy some LBC via this code (while supplies last!): `dev-oct-yahsd`