lbry.io => lbry.com
This commit is contained in:
parent
e85ad6a2c6
commit
93bcba4512
40 changed files with 176 additions and 226 deletions
2
.github/ISSUE_TEMPLATE.md
vendored
2
.github/ISSUE_TEMPLATE.md
vendored
|
@ -7,7 +7,7 @@ Before reporting any issues, please make sure that you're using the latest versi
|
|||
- App releases: https://github.com/lbryio/lbry-desktop/releases
|
||||
- Standalone daemon: https://github.com/lbryio/lbry/releases
|
||||
|
||||
We are also available on live chat at https://chat.lbry.io
|
||||
We are also available on live chat at https://chat.lbry.com
|
||||
-->
|
||||
|
||||
## The Issue
|
||||
|
|
128
.travis.yml
128
.travis.yml
|
@ -1,77 +1,77 @@
|
|||
matrix:
|
||||
include:
|
||||
- os: osx
|
||||
env: TARGET=mac
|
||||
osx_image: xcode9.2
|
||||
language: node_js
|
||||
node_js: '10'
|
||||
- os: linux
|
||||
env: TARGET=windows
|
||||
services: docker
|
||||
language: node_js
|
||||
node_js: '10'
|
||||
- os: linux
|
||||
env: TARGET=linux
|
||||
language: node_js
|
||||
node_js: '10'
|
||||
- os: osx
|
||||
env: TARGET=mac
|
||||
osx_image: xcode9.2
|
||||
language: node_js
|
||||
node_js: '10'
|
||||
- os: linux
|
||||
env: TARGET=windows
|
||||
services: docker
|
||||
language: node_js
|
||||
node_js: '10'
|
||||
- os: linux
|
||||
env: TARGET=linux
|
||||
language: node_js
|
||||
node_js: '10'
|
||||
cache: false
|
||||
before_install:
|
||||
- |
|
||||
unset TRAVIS_COMMIT_MESSAGE;
|
||||
if [ "$TRAVIS_OS_NAME" == "osx" ]; then
|
||||
mkdir -p /tmp/git-lfs && curl -L https://github.com/github/git-lfs/releases/download/v2.3.1/git-lfs-$([ "$TRAVIS_OS_NAME" == "linux" ] && echo "linux" || echo "darwin")-amd64-2.3.1.tar.gz | tar -xz -C /tmp/git-lfs --strip-components 1
|
||||
export PATH="/tmp/git-lfs:$PATH"
|
||||
else
|
||||
sudo apt-get -qq update
|
||||
sudo apt-get install -y libsecret-1-dev
|
||||
sudo apt-get install --no-install-recommends -y gcc-multilib g++-multilib
|
||||
curl -o- -L https://yarnpkg.com/install.sh | bash -s -- --version 1.6.0
|
||||
export PATH="$HOME/.yarn/bin:$PATH"
|
||||
fi
|
||||
- |
|
||||
unset TRAVIS_COMMIT_MESSAGE;
|
||||
if [ "$TRAVIS_OS_NAME" == "osx" ]; then
|
||||
mkdir -p /tmp/git-lfs && curl -L https://github.com/github/git-lfs/releases/download/v2.3.1/git-lfs-$([ "$TRAVIS_OS_NAME" == "linux" ] && echo "linux" || echo "darwin")-amd64-2.3.1.tar.gz | tar -xz -C /tmp/git-lfs --strip-components 1
|
||||
export PATH="/tmp/git-lfs:$PATH"
|
||||
else
|
||||
sudo apt-get -qq update
|
||||
sudo apt-get install -y libsecret-1-dev
|
||||
sudo apt-get install --no-install-recommends -y gcc-multilib g++-multilib
|
||||
curl -o- -L https://yarnpkg.com/install.sh | bash -s -- --version 1.6.0
|
||||
export PATH="$HOME/.yarn/bin:$PATH"
|
||||
fi
|
||||
before_script:
|
||||
- git lfs pull
|
||||
- if [ "$TRAVIS_PULL_REQUEST" != "false" ]; then unset WIN_CSC_LINK; unset CSC_LINK; fi
|
||||
- git lfs pull
|
||||
- if [ "$TRAVIS_PULL_REQUEST" != "false" ]; then unset WIN_CSC_LINK; unset CSC_LINK; fi
|
||||
script:
|
||||
- |
|
||||
if [ "$TARGET" == "windows" ]; then
|
||||
# Remove any special characters before adding to our list of ENVs
|
||||
# https://github.com/electron-userland/electron-builder/issues/2450#issuecomment-421788155
|
||||
ENVS=`env | grep -iE '(DEBUG|NODE_|ELECTRON_|YARN_|NPM_|CI|CIRCLE|TRAVIS|APPVEYOR_|CSC_|_TOKEN|_KEY|AWS_|STRIP|BUILD_|TARGET)([A-Z]|_)*=' | sed -n '/^[^\t]/s/=.*//p' | sed '/^$/d' | sed 's/^/-e /g' | tr '\n' ' '`
|
||||
docker run $ENVS --rm \
|
||||
-v ${PWD}:/project \
|
||||
electronuserland/builder:wine \
|
||||
/bin/bash -c "env | grep -v '\r' | grep -iE 'DEBUG|TARGET|NODE_|ELECTRON_|YARN_|NPM_|CI|CIRCLE|TRAVIS|APPVEYOR_|CSC_|GH_|GITHUB_|BT_|AWS_|STRIP|BUILD_|WIN_' && yarn --link-duplicates --pure-lockfile && yarn build --win --publish onTag";
|
||||
fi
|
||||
- if [ "$TARGET" == "mac" ]; then yarn build --publish onTag; fi
|
||||
- if [ "$TARGET" == "linux" ]; then yarn --link-duplicates --pure-lockfile && yarn
|
||||
build --linux --publish onTag; fi
|
||||
- |
|
||||
if [ "$TARGET" == "windows" ]; then
|
||||
# Remove any special characters before adding to our list of ENVs
|
||||
# https://github.com/electron-userland/electron-builder/issues/2450#issuecomment-421788155
|
||||
ENVS=`env | grep -iE '(DEBUG|NODE_|ELECTRON_|YARN_|NPM_|CI|CIRCLE|TRAVIS|APPVEYOR_|CSC_|_TOKEN|_KEY|AWS_|STRIP|BUILD_|TARGET)([A-Z]|_)*=' | sed -n '/^[^\t]/s/=.*//p' | sed '/^$/d' | sed 's/^/-e /g' | tr '\n' ' '`
|
||||
docker run $ENVS --rm \
|
||||
-v ${PWD}:/project \
|
||||
electronuserland/builder:wine \
|
||||
/bin/bash -c "env | grep -v '\r' | grep -iE 'DEBUG|TARGET|NODE_|ELECTRON_|YARN_|NPM_|CI|CIRCLE|TRAVIS|APPVEYOR_|CSC_|GH_|GITHUB_|BT_|AWS_|STRIP|BUILD_|WIN_' && yarn --link-duplicates --pure-lockfile && yarn build --win --publish onTag";
|
||||
fi
|
||||
- if [ "$TARGET" == "mac" ]; then yarn build --publish onTag; fi
|
||||
- if [ "$TARGET" == "linux" ]; then yarn --link-duplicates --pure-lockfile && yarn
|
||||
build --linux --publish onTag; fi
|
||||
addons:
|
||||
artifacts:
|
||||
working_dir: dist
|
||||
paths:
|
||||
- $(git ls-files -o dist/{*.dmg,*.exe,*.deb} | tr "\n" ":")
|
||||
- $(git ls-files -o dist/{*.dmg,*.exe,*.deb} | tr "\n" ":")
|
||||
target_paths:
|
||||
- "/app/build-${TRAVIS_BUILD_NUMBER}_commit-${TRAVIS_COMMIT:0:7}$([ ! -z ${TRAVIS_TAG}
|
||||
] && echo _tag-${TRAVIS_TAG})"
|
||||
- '/app/build-${TRAVIS_BUILD_NUMBER}_commit-${TRAVIS_COMMIT:0:7}$([ ! -z ${TRAVIS_TAG}
|
||||
] && echo _tag-${TRAVIS_TAG})'
|
||||
env:
|
||||
global:
|
||||
- ARTIFACTS_REGION=us-east-1
|
||||
- ARTIFACTS_BUCKET=build.lbry.io
|
||||
- DANGER_GITHUB_API_TOKEN=f8b612049cbda985c251e18ae36c7a2b9c6c92df
|
||||
- ARTIFACTS_DEBUG=1
|
||||
- WIN_CSC_LINK=https://s3.amazonaws.com/files.lbry.io/cert/win-csc-2018-2019-08.p12
|
||||
- CSC_LINK=https://s3.amazonaws.com/files.lbry.io/cert/osx-cert.p12
|
||||
#AWS_SECRET_ACCESS_KEY
|
||||
- secure: aF0dZ1ub0r6X5SaTH7YYRpV8cl2gkU2tA7y2tkvGZQL0+Vv2FvkhwaXREa9IM9djm7r3W7I8vEekk6Skn300kIBwQ04COxgu+Oeqjsc2a529wmF9AN5EwKExKkVQFIjMjpMBmd/fE05PD29C0vULdtIMX8uhDe5zFE+tGD1QmwKVZ+55oCxJmt7vsQwQr46s/BsPODrZhvSUPWTUG4HSsc5DJwe/XYY+35vWQsnpCkBVabAZg+lnOpqLioRNzTsBX1oSkqTX9uvOC6fN+NlpbJWetzXsBciFcMHQCx9UHxu+Ibn3W3V8FVYRuFLAinhIg+JoVQHU8mH60ggjizATpgx12riP9e/Uwho5x5bgIYmnIBf4AHqupPv40iC/THMvsS08hCQHicu+/WiAvvN8wNQ1sqpj0+RTreB+4/qdRdwTs70t4jNV83cP+nAuekMCC7uYQ08GLmFNaa+x8NgDZa3JQv7EmXU0ALWVPeJ9UEV+dhEs5iI+7bLEhTUOuvBBWo17F4pst3pfS1j7md1x4wKFRWyP7IFmjK+L1KiAH94c/LIz2Nlp5yCDfbcwU5W/wCHYAxu5c8qnAlkxeub0GpxtZ66j6oOehk1lsHYxaZcBxyn7XhM1A6Mjxgy9OG0WGyYun8iH3aa4WcY0BO21l7je75s7l0qNSRS80st8kUE=
|
||||
#AWS_ACCESS_KEY_ID
|
||||
- secure: HHlUGaEjk0qsW9qb/93jdFhJypiDuJ0e6Z4UClW3ciMfdZ22Ur4D0oL0mgVguigTjdkf1Yy4Z1kWtWvtvQ8DBI+mdOl5GTMpX5nMattcuK/4gFXmqz30S3c07IPkilGKkAT64JqRGT7AvQTaV/tXqNNN9BbWCTAJSnhfzYJFvZQjnSmAAQvbqzMWEEein53244fWbDio462T7vzfbEHJD1pVUSrAMrKDgFSrIKJf4GQHceUk+fqWBjAsWN8USboo88JSLXn5qhD3ZczsgtZ2gi2KTvdfrHfZ5SpOzwc2AGr8U1laQzzW8c8xsPJPmM/3dCri/clcXassa4t/+2INYTPhKbmaD9hvjFRRMpoNjMCmPRJOmojxit8tqzCrw4nSGdr3/Bt0JjpLq90mfyL83YYU4gJXF97KzTl0lCy/DFXjBiHA9riRJVaXn3CI6L0i1RLCJI+C/rT9ErFB767t0aQtXlIWSZQ+IqWaoUdp57t0e2EtbRcjK7IYIXLNgZSbR0bY/TS005D/xZkexCpAtcV9F6iqDYP3HbGyiQqC75se0MqpNrZAx1a7WsSnumOcmtuU6LRriwjM0GXEACfGLCp4w4LBzKPwrOOg4QOhewHKgxpUff8KMlfTZ+Z8B7NBNjKSPbxiMedmpsiWpPRy6VeyvwNz32PUpjdsF3tIYMk=
|
||||
#GH_TOKEN
|
||||
- secure: g0gSiOmCKFzxLFV//oogmex+MkumCcGJ8CtvLzojAw1qhI1P6dGRH06yuCgBNW4PQGbbrYR2tntGEeq66LZ1bU7BJ2bdkv5lBi15JPH4POpA3OSc88YebitKIyIBI2WHA3VNCkF1JEFvrfTUX+4PjP+9h6vZ9tdfzezNTpc70SrGkWMhaoe+F8u6jCL63VBpnncf0foz3WlqUFNoIdinQLYxI6S2QmHz1p1HToC+MOosBgWDufX2+6B/Efq7JDFZgx/zItFzR1OCafKx8rScUd4woAqK+8mt862IzzEbztTv6IPSdhx/hsbO7rHMcjDFk/MuDeC9TaaXqMvvKmLuvWKH+dy4BvIiJJ/WuDfzumrw+8BvTbcnXFXkEXTlkQnZD0otBZsmI4/OPH5vIGUmVIwBFXjPBcNq/Xwig8hRCxrdioEZPO4C17fMCdOn3gAx+GcMddfAIKnrlG/XK2jL8kCylL7++OEkedzYiHWA7p9eaJDjxYmIxKcfYTyF4VIMYS/wAC5W1zi1AjM5BiUhBGp/Vd+f3UUTOsqWOmS4A8cqhK/rbx4xgdwUuv2DoljeQtWd2xdZFr10L2ErmEIdfdtZBVyauaGOhhXUqpSAB5PAwSRNNWkZFCJXmqMHemih4jlfN/KS+rujh5dbyXz81BPjyxrDAziO4Q19rz7hmVI=
|
||||
#ARTIFACTS_KEY
|
||||
- secure: giJRkODdgvMpaLh58c3UKTy6j3IjUVQ2wVvLmECN8caVLuBnEp3U56rUT7sQPzeMoaF9goOLKXD1o+qKdGsLz2Dedi/3vFr3IXTgpYwO03eMkylYUDUwKXV1Fv14ME+wknw/Fshmty1XAc/RwlTaCks9usIRT9OE75HvV8ILVfLdSwwRR/TKFEdEDjAY/3ROVFsleDKBIe1AG/AHeN37Mwqfo39zpN5Zidm3HUegujsMsHtPQtUUCvCxiaiBtqIz79WQuiXjelLWrV53k+ulpptz4T6M8FO5jxBCL5HQMbYy4J8BhukAPHUcTVzarsDe1XEmP6xtClcAydMiHmzUBh9VbvRF8AKwGGO41g6OasgMaJ/eUlACGWTIS2AsqgkXCEgWRtswwI4edLgT/F74fKxGV82zRYLcmjWceGc9H6m2YfIIQZ2PNsDloFgTWa63oZ1sT20fWmNohD3IgVK21rjrCnMbp5/RfBdihR1+GsS8wMA15nhUW3SHfSHKV0009FZdDjxgmigjjmFt1/SM8YGZDijQc7DoUsrScR9n2JR+KVqEED3BYOviw0M0blb6b2dqK0A3+N5C1RGt8Uu8AAuAzdPDviL38m4n1UOdI1Tij1boSfr1USvfipPfQXrqSWHIY3RITMmjPREmcdj2dbhjoUEFaFfp/b3sJxUI3I4=
|
||||
#ARTIFACTS_SECRET
|
||||
- secure: RtPES82DBisaCkernDm10u8mzNc8K4EyyTJUCopcFFJHfFpleuJOoXNFZGXixjHXWTxqc5+IjLThBZFG6krTpD4ocftfkBNeVDXL91JsGRW6X4VBpKaJp1UJZZiYjpPZRJDwVuIb570WcX3xXmsvAwwdODkeXgBZoOw+LZIz4HV3OACi5iaWCx4+2WvQiaz/6mRkLlw9iY1m9gCGQXXUSWyY+bGWsOdGWpfp/VfzpX7mBJbcIYjvRYSnBtVUFkEzxHlaR/CFc7Jio45EUImhBKqKV8QGAiv9AowcWqQn8y2SuW8J66bkaZGbGpyEdsRQDJKUU5naRIFJ/002e4XjI2moBfSHHnFTMH/AawA4b+gCjein8jDiRugJw8AqC4KpG660SFJwC4A8IxfPcXWcykahrL6kJhs+NFbyxQEJIMUqP6UAAiPAuUr/Whq1F8x5b39pEibRZ3Vv0Bix/lUj4cWZYRBL1ckoUgSCeG7llkAdnxLuQKfDvTw+HFcWGq7yg/ye7H7CwpBJkSSOlnQ61nuucC82hVqBGoPGbFW3vjS0BqesLcaO7kwW/fdBnIxwLiWWHDWol0aLfQLEzjUzpS+tA1YYKvrG+yNMEeYtHEK9ZcltQD52uEtjK26DIY8tQU8PxMlXha6/XTOlt8MIcl8IPULmVWKT9k8LPTFQiXc=
|
||||
#CSC_KEY_PASSWORD
|
||||
- secure: TDKeF7/WGwR+di+JhNp29x7NPzVMO/q+72n58zB5goI1NUKaeKgjeWbfVYx9f+4G9a9/pdDVUfORt8i6OW8ZhhqYS4E8G5F56q+oX3nrjNqM8NqoK09ehZS/wdYGbenG9oTfXYenDdwusZV4Fq0BRRLjqAIXPQCKg3//MKseh/1fHDGVGXpYUimHRSCkwspbbfB/9Qw9KEBjweeXiAwB+5F+E7fPlVtqsIvtkkED1hKe0Z8HdECC6JTZ0ZHPDDFGV3aondXQDgUlfchnZ6HDdNDO5y/hPEj0laiZQ7BssenJ8Z7qjHc5O9AKXfG+6WFICHvtgjQ0+x6rk6gpvJcyI1x2+Kck/s0EcSkFY+Yz81BxdehIeKPn9U8LpGaFbtxsp01661yeaIpAqT/PqFsdj/kFXFT6gwZlGGPMBm2WgQR4A61qkOO1jokqz/z6CnY+MNeE8E1Fh4bFoZ0JwUJFJugoyDahHpVlLw5lZaSipJO6RZ1xjoZ3XGmxvtkM4dQ16xQ++Q8EgD878uCWn2jZ5YTQdKANfXYTKSiQfoEjLeX0T6I6GSdim4ZURjcolmGNMH/3jhISOXj+e2UkLc6jwO4Ek084o6ciJ2JjqEhXvXOCeRJ2I9cf2dEk7CvtbitiDly6XATo2FP4hqNdcNNWyj/jFvuTwFT6hzBqLk1BCBc=
|
||||
#WIN_CSC_KEY_PASSWORD
|
||||
- secure: LBwkNMw5paoxpeLcNvAbrSLghLH0kXmgctBkUK6hgqJ/6WReWKlERUCwWQp/NcAB5Nb8fUTV8hXz1UjeQG1HH65geRcxya9sf9xu446e2gRdYGfYk7AhZdIw97IlwTYv2tpnjejiVXIoClQjKRYtOkRC4BIGW+Ydun1hwEUXTVMCplOzPhpLrkJCIDDDdM4eJjWm6ZMshCKRlnt42sNdx63FHBAH72rqBnt2jd+ISIadASnWz0nQlN5aIvXR6cLZfSl8Qt/JDL+LXzWX+pNA4BegCtW3hBoLrW18QdNPxrvPCvKjRCC3LHuv+KEGbzGv/QkXg5f9BKZehIZ/hjYgxysjeHBI8yOfCoyrDafxSIso5ja2TtL9lLpW90gbkbtEFiaL2XOMUbQcwWQ6RShSoLZxgiAl6zUmrq3UtS30OjnjWgMj+WnU2BcgpmpPzU0Hz/fblX6/EnwXhPNRYZvm5JyhVRYLZypLWuV4XsWGuLbUOOrsYi7UvU+xo+3AaxbUW4A6XuQ/DUh0ZVNlpPGcVi7A2tx4/46Wm0oLwQ5NYVukHbEiHWZ4HuKqSionwtgG0T2a6/7JQdH7gb+/86z4YHmK89dd/aE84hBUGTB/pNvvtDBYBE3c60SzL0CFPJZrbz9E0gVhLfsHO+5/VCFIipgM8mYoVzsq+cONKbqUPCg=
|
||||
- ARTIFACTS_REGION=us-east-1
|
||||
- ARTIFACTS_BUCKET=build.lbry.io
|
||||
- DANGER_GITHUB_API_TOKEN=f8b612049cbda985c251e18ae36c7a2b9c6c92df
|
||||
- ARTIFACTS_DEBUG=1
|
||||
- WIN_CSC_LINK=https://s3.amazonaws.com/files.lbry.io/cert/win-csc-2018-2019-08.p12
|
||||
- CSC_LINK=https://s3.amazonaws.com/files.lbry.io/cert/osx-cert.p12
|
||||
#AWS_SECRET_ACCESS_KEY
|
||||
- secure: aF0dZ1ub0r6X5SaTH7YYRpV8cl2gkU2tA7y2tkvGZQL0+Vv2FvkhwaXREa9IM9djm7r3W7I8vEekk6Skn300kIBwQ04COxgu+Oeqjsc2a529wmF9AN5EwKExKkVQFIjMjpMBmd/fE05PD29C0vULdtIMX8uhDe5zFE+tGD1QmwKVZ+55oCxJmt7vsQwQr46s/BsPODrZhvSUPWTUG4HSsc5DJwe/XYY+35vWQsnpCkBVabAZg+lnOpqLioRNzTsBX1oSkqTX9uvOC6fN+NlpbJWetzXsBciFcMHQCx9UHxu+Ibn3W3V8FVYRuFLAinhIg+JoVQHU8mH60ggjizATpgx12riP9e/Uwho5x5bgIYmnIBf4AHqupPv40iC/THMvsS08hCQHicu+/WiAvvN8wNQ1sqpj0+RTreB+4/qdRdwTs70t4jNV83cP+nAuekMCC7uYQ08GLmFNaa+x8NgDZa3JQv7EmXU0ALWVPeJ9UEV+dhEs5iI+7bLEhTUOuvBBWo17F4pst3pfS1j7md1x4wKFRWyP7IFmjK+L1KiAH94c/LIz2Nlp5yCDfbcwU5W/wCHYAxu5c8qnAlkxeub0GpxtZ66j6oOehk1lsHYxaZcBxyn7XhM1A6Mjxgy9OG0WGyYun8iH3aa4WcY0BO21l7je75s7l0qNSRS80st8kUE=
|
||||
#AWS_ACCESS_KEY_ID
|
||||
- secure: HHlUGaEjk0qsW9qb/93jdFhJypiDuJ0e6Z4UClW3ciMfdZ22Ur4D0oL0mgVguigTjdkf1Yy4Z1kWtWvtvQ8DBI+mdOl5GTMpX5nMattcuK/4gFXmqz30S3c07IPkilGKkAT64JqRGT7AvQTaV/tXqNNN9BbWCTAJSnhfzYJFvZQjnSmAAQvbqzMWEEein53244fWbDio462T7vzfbEHJD1pVUSrAMrKDgFSrIKJf4GQHceUk+fqWBjAsWN8USboo88JSLXn5qhD3ZczsgtZ2gi2KTvdfrHfZ5SpOzwc2AGr8U1laQzzW8c8xsPJPmM/3dCri/clcXassa4t/+2INYTPhKbmaD9hvjFRRMpoNjMCmPRJOmojxit8tqzCrw4nSGdr3/Bt0JjpLq90mfyL83YYU4gJXF97KzTl0lCy/DFXjBiHA9riRJVaXn3CI6L0i1RLCJI+C/rT9ErFB767t0aQtXlIWSZQ+IqWaoUdp57t0e2EtbRcjK7IYIXLNgZSbR0bY/TS005D/xZkexCpAtcV9F6iqDYP3HbGyiQqC75se0MqpNrZAx1a7WsSnumOcmtuU6LRriwjM0GXEACfGLCp4w4LBzKPwrOOg4QOhewHKgxpUff8KMlfTZ+Z8B7NBNjKSPbxiMedmpsiWpPRy6VeyvwNz32PUpjdsF3tIYMk=
|
||||
#GH_TOKEN
|
||||
- secure: g0gSiOmCKFzxLFV//oogmex+MkumCcGJ8CtvLzojAw1qhI1P6dGRH06yuCgBNW4PQGbbrYR2tntGEeq66LZ1bU7BJ2bdkv5lBi15JPH4POpA3OSc88YebitKIyIBI2WHA3VNCkF1JEFvrfTUX+4PjP+9h6vZ9tdfzezNTpc70SrGkWMhaoe+F8u6jCL63VBpnncf0foz3WlqUFNoIdinQLYxI6S2QmHz1p1HToC+MOosBgWDufX2+6B/Efq7JDFZgx/zItFzR1OCafKx8rScUd4woAqK+8mt862IzzEbztTv6IPSdhx/hsbO7rHMcjDFk/MuDeC9TaaXqMvvKmLuvWKH+dy4BvIiJJ/WuDfzumrw+8BvTbcnXFXkEXTlkQnZD0otBZsmI4/OPH5vIGUmVIwBFXjPBcNq/Xwig8hRCxrdioEZPO4C17fMCdOn3gAx+GcMddfAIKnrlG/XK2jL8kCylL7++OEkedzYiHWA7p9eaJDjxYmIxKcfYTyF4VIMYS/wAC5W1zi1AjM5BiUhBGp/Vd+f3UUTOsqWOmS4A8cqhK/rbx4xgdwUuv2DoljeQtWd2xdZFr10L2ErmEIdfdtZBVyauaGOhhXUqpSAB5PAwSRNNWkZFCJXmqMHemih4jlfN/KS+rujh5dbyXz81BPjyxrDAziO4Q19rz7hmVI=
|
||||
#ARTIFACTS_KEY
|
||||
- secure: giJRkODdgvMpaLh58c3UKTy6j3IjUVQ2wVvLmECN8caVLuBnEp3U56rUT7sQPzeMoaF9goOLKXD1o+qKdGsLz2Dedi/3vFr3IXTgpYwO03eMkylYUDUwKXV1Fv14ME+wknw/Fshmty1XAc/RwlTaCks9usIRT9OE75HvV8ILVfLdSwwRR/TKFEdEDjAY/3ROVFsleDKBIe1AG/AHeN37Mwqfo39zpN5Zidm3HUegujsMsHtPQtUUCvCxiaiBtqIz79WQuiXjelLWrV53k+ulpptz4T6M8FO5jxBCL5HQMbYy4J8BhukAPHUcTVzarsDe1XEmP6xtClcAydMiHmzUBh9VbvRF8AKwGGO41g6OasgMaJ/eUlACGWTIS2AsqgkXCEgWRtswwI4edLgT/F74fKxGV82zRYLcmjWceGc9H6m2YfIIQZ2PNsDloFgTWa63oZ1sT20fWmNohD3IgVK21rjrCnMbp5/RfBdihR1+GsS8wMA15nhUW3SHfSHKV0009FZdDjxgmigjjmFt1/SM8YGZDijQc7DoUsrScR9n2JR+KVqEED3BYOviw0M0blb6b2dqK0A3+N5C1RGt8Uu8AAuAzdPDviL38m4n1UOdI1Tij1boSfr1USvfipPfQXrqSWHIY3RITMmjPREmcdj2dbhjoUEFaFfp/b3sJxUI3I4=
|
||||
#ARTIFACTS_SECRET
|
||||
- secure: RtPES82DBisaCkernDm10u8mzNc8K4EyyTJUCopcFFJHfFpleuJOoXNFZGXixjHXWTxqc5+IjLThBZFG6krTpD4ocftfkBNeVDXL91JsGRW6X4VBpKaJp1UJZZiYjpPZRJDwVuIb570WcX3xXmsvAwwdODkeXgBZoOw+LZIz4HV3OACi5iaWCx4+2WvQiaz/6mRkLlw9iY1m9gCGQXXUSWyY+bGWsOdGWpfp/VfzpX7mBJbcIYjvRYSnBtVUFkEzxHlaR/CFc7Jio45EUImhBKqKV8QGAiv9AowcWqQn8y2SuW8J66bkaZGbGpyEdsRQDJKUU5naRIFJ/002e4XjI2moBfSHHnFTMH/AawA4b+gCjein8jDiRugJw8AqC4KpG660SFJwC4A8IxfPcXWcykahrL6kJhs+NFbyxQEJIMUqP6UAAiPAuUr/Whq1F8x5b39pEibRZ3Vv0Bix/lUj4cWZYRBL1ckoUgSCeG7llkAdnxLuQKfDvTw+HFcWGq7yg/ye7H7CwpBJkSSOlnQ61nuucC82hVqBGoPGbFW3vjS0BqesLcaO7kwW/fdBnIxwLiWWHDWol0aLfQLEzjUzpS+tA1YYKvrG+yNMEeYtHEK9ZcltQD52uEtjK26DIY8tQU8PxMlXha6/XTOlt8MIcl8IPULmVWKT9k8LPTFQiXc=
|
||||
#CSC_KEY_PASSWORD
|
||||
- secure: TDKeF7/WGwR+di+JhNp29x7NPzVMO/q+72n58zB5goI1NUKaeKgjeWbfVYx9f+4G9a9/pdDVUfORt8i6OW8ZhhqYS4E8G5F56q+oX3nrjNqM8NqoK09ehZS/wdYGbenG9oTfXYenDdwusZV4Fq0BRRLjqAIXPQCKg3//MKseh/1fHDGVGXpYUimHRSCkwspbbfB/9Qw9KEBjweeXiAwB+5F+E7fPlVtqsIvtkkED1hKe0Z8HdECC6JTZ0ZHPDDFGV3aondXQDgUlfchnZ6HDdNDO5y/hPEj0laiZQ7BssenJ8Z7qjHc5O9AKXfG+6WFICHvtgjQ0+x6rk6gpvJcyI1x2+Kck/s0EcSkFY+Yz81BxdehIeKPn9U8LpGaFbtxsp01661yeaIpAqT/PqFsdj/kFXFT6gwZlGGPMBm2WgQR4A61qkOO1jokqz/z6CnY+MNeE8E1Fh4bFoZ0JwUJFJugoyDahHpVlLw5lZaSipJO6RZ1xjoZ3XGmxvtkM4dQ16xQ++Q8EgD878uCWn2jZ5YTQdKANfXYTKSiQfoEjLeX0T6I6GSdim4ZURjcolmGNMH/3jhISOXj+e2UkLc6jwO4Ek084o6ciJ2JjqEhXvXOCeRJ2I9cf2dEk7CvtbitiDly6XATo2FP4hqNdcNNWyj/jFvuTwFT6hzBqLk1BCBc=
|
||||
#WIN_CSC_KEY_PASSWORD
|
||||
- secure: LBwkNMw5paoxpeLcNvAbrSLghLH0kXmgctBkUK6hgqJ/6WReWKlERUCwWQp/NcAB5Nb8fUTV8hXz1UjeQG1HH65geRcxya9sf9xu446e2gRdYGfYk7AhZdIw97IlwTYv2tpnjejiVXIoClQjKRYtOkRC4BIGW+Ydun1hwEUXTVMCplOzPhpLrkJCIDDDdM4eJjWm6ZMshCKRlnt42sNdx63FHBAH72rqBnt2jd+ISIadASnWz0nQlN5aIvXR6cLZfSl8Qt/JDL+LXzWX+pNA4BegCtW3hBoLrW18QdNPxrvPCvKjRCC3LHuv+KEGbzGv/QkXg5f9BKZehIZ/hjYgxysjeHBI8yOfCoyrDafxSIso5ja2TtL9lLpW90gbkbtEFiaL2XOMUbQcwWQ6RShSoLZxgiAl6zUmrq3UtS30OjnjWgMj+WnU2BcgpmpPzU0Hz/fblX6/EnwXhPNRYZvm5JyhVRYLZypLWuV4XsWGuLbUOOrsYi7UvU+xo+3AaxbUW4A6XuQ/DUh0ZVNlpPGcVi7A2tx4/46Wm0oLwQ5NYVukHbEiHWZ4HuKqSionwtgG0T2a6/7JQdH7gb+/86z4YHmK89dd/aE84hBUGTB/pNvvtDBYBE3c60SzL0CFPJZrbz9E0gVhLfsHO+5/VCFIipgM8mYoVzsq+cONKbqUPCg=
|
||||
|
|
|
@ -181,11 +181,11 @@ will earn you an extra 50 LBC on top of what we would otherwise tip you.
|
|||
|
||||
| Name | Role | Discord | Email |
|
||||
| --------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- | ------------
|
||||
| [Tom](https://github.com/tzarebczan) | Community manager. He knows more than anyone about the app and all of its flaws. Reach out to him with any questions about how the app works, if a bug has been reported, or if a feature should be requested. | jiggytom | tom@lbry.io |
|
||||
| [Sean](https://github.com/seanyesmunt) | The primary engineer working on the app. Feel free to ask any questions about the code. | sean | sean@lbry.io |
|
||||
| [Tom](https://github.com/tzarebczan) | Community manager. He knows more than anyone about the app and all of its flaws. Reach out to him with any questions about how the app works, if a bug has been reported, or if a feature should be requested. | jiggytom | tom@lbry.com |
|
||||
| [Sean](https://github.com/seanyesmunt) | The primary engineer working on the app. Feel free to ask any questions about the code. | sean | sean@lbry.com |
|
||||
|
||||
Join our Discord [here](https://chat.lbry.io/).
|
||||
Join our Discord [here](https://chat.lbry.com/).
|
||||
|
||||
# More Information
|
||||
|
||||
More information about contributing to LBRY [here](https://lbry.io/faq/contributing).
|
||||
More information about contributing to LBRY [here](https://lbry.com/faq/contributing).
|
||||
|
|
18
README.md
18
README.md
|
@ -4,12 +4,12 @@
|
|||
[![GitHub release](https://img.shields.io/github/release/lbryio/lbry-desktop.svg)](https://GitHub.com/lbryio/lbry-desktop/releases/)
|
||||
[![Build Status](https://travis-ci.org/lbryio/lbry-desktop.svg?branch=master)](https://travis-ci.org/lbryio/lbry-desktop)
|
||||
[![Dependencies](https://david-dm.org/lbryio/lbry-desktop/status.svg)](https://david-dm.org/lbryio/lbry-desktop)
|
||||
[![chat on Discord](https://img.shields.io/discord/362322208485277697.svg?logo=discord)](https://chat.lbry.io)
|
||||
[![chat on Discord](https://img.shields.io/discord/362322208485277697.svg?logo=discord)](https://chat.lbry.com)
|
||||
|
||||
[![forthebadge](https://forthebadge.com/images/badges/60-percent-of-the-time-works-every-time.svg)](https://forthebadge.com)
|
||||
|
||||
The LBRY app is a graphical browser for the decentralized content marketplace provided by the
|
||||
[LBRY](https://lbry.io) protocol. It is essentially the
|
||||
[LBRY](https://lbry.com) protocol. It is essentially the
|
||||
[lbry daemon](https://github.com/lbryio/lbry) bundled with a UI using
|
||||
[Electron](https://electron.atom.io/).
|
||||
|
||||
|
@ -19,10 +19,10 @@ The LBRY app is a graphical browser for the decentralized content marketplace pr
|
|||
|
||||
We provide installers for Windows, macOS (v10.12.4, Sierra, or greater), and Debian-based Linux. See community maintained builds section for alternative Linux installations.
|
||||
|
||||
| | Windows | macOS | Linux |
|
||||
| --------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- |
|
||||
| Latest Stable Release | [Download](https://lbry.io/get/lbry.exe) | [Download](https://lbry.io/get/lbry.dmg) | [Download](https://lbry.io/get/lbry.deb) |
|
||||
| Latest Pre-release | [Download](https://lbry.io/get/lbry.pre.exe) | [Download](https://lbry.io/get/lbry.pre.dmg) | [Download](https://lbry.io/get/lbry.pre.deb) |
|
||||
| | Windows | macOS | Linux |
|
||||
| --------------------- | --------------------------------------------- | --------------------------------------------- | --------------------------------------------- |
|
||||
| Latest Stable Release | [Download](https://lbry.com/get/lbry.exe) | [Download](https://lbry.com/get/lbry.dmg) | [Download](https://lbry.com/get/lbry.deb) |
|
||||
| Latest Pre-release | [Download](https://lbry.com/get/lbry.pre.exe) | [Download](https://lbry.com/get/lbry.pre.dmg) | [Download](https://lbry.com/get/lbry.pre.deb) |
|
||||
|
||||
Our [releases page](https://github.com/lbryio/lbry-desktop/releases) also contains the latest
|
||||
release, pre-releases, and past builds.
|
||||
|
@ -31,7 +31,7 @@ _Note: If the deb fails to install using the Ubuntu Software Center, install man
|
|||
To install from source or make changes to the application, continue to the next section below.
|
||||
|
||||
**Community maintained** builds for Arch Linux and Flatpak are available, see below. These installs will need to be updated manually as the in-app update process only supports Debian installs at this time.
|
||||
_Note: If coming from a deb install, the directory structure is different and you'll need to [migrate data](https://lbry.io/faq/backup-data)._
|
||||
_Note: If coming from a deb install, the directory structure is different and you'll need to [migrate data](https://lbry.com/faq/backup-data)._
|
||||
|
||||
| | Flatpak | Arch | Raspberry Pi |
|
||||
| -------------- | ------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ------------------------------------------- |
|
||||
|
@ -44,8 +44,6 @@ Double click the installed application to interact with the LBRY network.
|
|||
|
||||
## Running from Source
|
||||
|
||||
*Note: We are currently undergoing a lot of internal build changes. If you find any issues, please report them to us.*
|
||||
|
||||
#### Prerequisites
|
||||
|
||||
- [Git](https://git-scm.com/downloads)
|
||||
|
@ -80,7 +78,7 @@ This project is MIT licensed. For the full license, see [LICENSE](LICENSE).
|
|||
|
||||
## Security
|
||||
|
||||
We take security seriously. Please contact security@lbry.io regarding any security issues. Our PGP key is [here](https://keybase.io/lbry/key.asc) if you need it.
|
||||
We take security seriously. Please contact security@lbry.com regarding any security issues. Our PGP key is [here](https://keybase.io/lbry/key.asc) if you need it.
|
||||
|
||||
## Contact
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
"lbry"
|
||||
],
|
||||
"license": "MIT",
|
||||
"homepage": "https://lbry.io/",
|
||||
"homepage": "https://lbry.com/",
|
||||
"bugs": {
|
||||
"url": "https://github.com/lbryio/lbry-desktop/issues"
|
||||
},
|
||||
|
@ -16,7 +16,7 @@
|
|||
},
|
||||
"author": {
|
||||
"name": "LBRY Inc.",
|
||||
"email": "hello@lbry.io"
|
||||
"email": "hello@lbry.com"
|
||||
},
|
||||
"main": "./dist/electron/main.js",
|
||||
"scripts": {
|
||||
|
|
|
@ -71,7 +71,7 @@ const startDaemon = async() => {
|
|||
'Daemon has Exited',
|
||||
'The daemon may have encountered an unexpected error, or another daemon instance is already running. \n\n' +
|
||||
'For more information please visit: \n' +
|
||||
'https://lbry.io/faq/startup-troubleshooting'
|
||||
'https://lbry.com/faq/startup-troubleshooting'
|
||||
);
|
||||
}
|
||||
app.quit();
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
export default async function installDevtools() {
|
||||
console.log('installing');
|
||||
const {
|
||||
default: installExtension,
|
||||
REACT_DEVELOPER_TOOLS,
|
||||
|
@ -18,6 +17,4 @@ export default async function installDevtools() {
|
|||
await installExtension(REACT_PERF)
|
||||
.then(name => console.log(`Added Extension: ${name}`))
|
||||
.catch(err => console.log('An error occurred: ', err));
|
||||
|
||||
console.log('all done');
|
||||
}
|
||||
|
|
|
@ -42,14 +42,14 @@ export default () => {
|
|||
if (browserWindow) {
|
||||
browserWindow.webContents.send('open-menu', '/help');
|
||||
} else {
|
||||
shell.openExternal('https://lbry.io/faq');
|
||||
shell.openExternal('https://lbry.com/faq');
|
||||
}
|
||||
},
|
||||
},
|
||||
{
|
||||
label: 'Frequently Asked Questions',
|
||||
click: () => {
|
||||
shell.openExternal('https://lbry.io/faq');
|
||||
shell.openExternal('https://lbry.com/faq');
|
||||
},
|
||||
},
|
||||
{ type: 'separator' },
|
||||
|
|
|
@ -9,7 +9,7 @@ type Props = {
|
|||
const TransactionLink = (props: Props) => {
|
||||
const { id } = props;
|
||||
|
||||
const href = `https://explorer.lbry.io/tx/${id}`;
|
||||
const href = `https://explorer.lbry.com/tx/${id}`;
|
||||
const label = id.substr(0, 7);
|
||||
|
||||
return <Button button="link" href={href} label={label} />;
|
||||
|
|
|
@ -36,7 +36,7 @@ class FileActions extends React.PureComponent<Props> {
|
|||
)}
|
||||
{!claimIsMine && (
|
||||
<Tooltip onComponent body={__('Report content')}>
|
||||
<Button icon={ICONS.REPORT} href={`https://lbry.io/dmca?claim_id=${claimId}`} />
|
||||
<Button icon={ICONS.REPORT} href={`https://lbry.com/dmca?claim_id=${claimId}`} />
|
||||
</Tooltip>
|
||||
)}
|
||||
</React.Fragment>
|
||||
|
|
|
@ -42,13 +42,13 @@ class FormInviteNew extends React.PureComponent<FormProps, FormState> {
|
|||
return (
|
||||
<Form onSubmit={this.handleSubmit}>
|
||||
<FormField
|
||||
type='text'
|
||||
label='Email'
|
||||
placeholder='youremail@example.org'
|
||||
name='email'
|
||||
type="text"
|
||||
label="Email"
|
||||
placeholder="youremail@example.org"
|
||||
name="email"
|
||||
value={this.state.email}
|
||||
error={errorMessage}
|
||||
inputButton={<Submit label='Invite' disabled={isPending} />}
|
||||
inputButton={<Submit label="Invite" disabled={isPending} />}
|
||||
onChange={event => {
|
||||
this.handleEmailChanged(event);
|
||||
}}
|
||||
|
@ -71,16 +71,16 @@ class InviteNew extends React.PureComponent<Props> {
|
|||
const { errorMessage, inviteNew, isPending, rewardAmount, referralLink } = this.props;
|
||||
|
||||
return (
|
||||
<section className='card card--section'>
|
||||
<header className='card__header'>
|
||||
<h2 className='card__title'>{__('Invite a Friend')}</h2>
|
||||
<section className="card card--section">
|
||||
<header className="card__header">
|
||||
<h2 className="card__title">{__('Invite a Friend')}</h2>
|
||||
|
||||
<p className='card__subtitle'>
|
||||
<p className="card__subtitle">
|
||||
{__('When your friends start using LBRY, the network gets stronger!')}
|
||||
</p>
|
||||
</header>
|
||||
|
||||
<div className='card__content'>
|
||||
<div className="card__content">
|
||||
<FormInviteNew
|
||||
errorMessage={errorMessage}
|
||||
inviteNew={inviteNew}
|
||||
|
@ -88,16 +88,16 @@ class InviteNew extends React.PureComponent<Props> {
|
|||
rewardAmount={rewardAmount}
|
||||
/>
|
||||
</div>
|
||||
<div className='card__content'>
|
||||
<div className="card__content">
|
||||
<CopyableText
|
||||
label={__('Or share this link with your friends')}
|
||||
copyable={referralLink}
|
||||
/>
|
||||
|
||||
<p className='help'>
|
||||
{__('Earn')} <Button button='link' navigate='/rewards' label={__('rewards')} />{' '}
|
||||
<p className="help">
|
||||
{__('Earn')} <Button button="link" navigate="/rewards" label={__('rewards')} />{' '}
|
||||
{__('for inviting your friends.')} {__('Read our')}{' '}
|
||||
<Button button='link' label={__('FAQ')} href='https://lbry.io/faq/referrals' />{' '}
|
||||
<Button button="link" label={__('FAQ')} href="https://lbry.com/faq/referrals" />{' '}
|
||||
{__('to learn more about referrals')}.
|
||||
</p>
|
||||
</div>
|
||||
|
|
|
@ -372,7 +372,11 @@ class PublishForm extends React.PureComponent<Props> {
|
|||
? __('You are currently editing a claim.')
|
||||
: __('What are you publishing?')}{' '}
|
||||
{__('Read our')}{' '}
|
||||
<Button button="link" label={__('FAQ')} href="https://lbry.io/faq/how-to-publish" />{' '}
|
||||
<Button
|
||||
button="link"
|
||||
label={__('FAQ')}
|
||||
href="https://lbry.com/faq/how-to-publish"
|
||||
/>{' '}
|
||||
{__('to learn more.')}
|
||||
</p>
|
||||
</header>
|
||||
|
@ -505,7 +509,7 @@ class PublishForm extends React.PureComponent<Props> {
|
|||
<Button
|
||||
button="link"
|
||||
label={__('Learn more')}
|
||||
href="https://lbry.io/faq/naming"
|
||||
href="https://lbry.com/faq/naming"
|
||||
/>
|
||||
</p>
|
||||
</header>
|
||||
|
@ -622,7 +626,7 @@ class PublishForm extends React.PureComponent<Props> {
|
|||
{__('By continuing, you accept the')}{' '}
|
||||
<Button
|
||||
button="link"
|
||||
href="https://www.lbry.io/termsofservice"
|
||||
href="https://www.lbry.com/termsofservice"
|
||||
label={__('LBRY Terms of Service')}
|
||||
/>
|
||||
.
|
||||
|
|
|
@ -58,7 +58,7 @@ class RewardSummary extends React.Component<Props> {
|
|||
|
||||
<p className="help">
|
||||
{__('Read our')}{' '}
|
||||
<Button button="link" label={__('FAQ')} href="https://lbry.io/faq/rewards" />{' '}
|
||||
<Button button="link" label={__('FAQ')} href="https://lbry.com/faq/rewards" />{' '}
|
||||
{__('to learn more about LBRY Rewards')}.
|
||||
</p>
|
||||
</div>
|
||||
|
|
|
@ -34,7 +34,7 @@ class SocialShare extends React.PureComponent<Props> {
|
|||
const channelClaimId =
|
||||
value && value.publisherSignature && value.publisherSignature.certificateId;
|
||||
const speechPrefix = 'https://spee.ch/';
|
||||
const lbryPrefix = 'https://open.lbry.io/';
|
||||
const lbryPrefix = 'https://open.lbry.com/';
|
||||
|
||||
let speechURL;
|
||||
let lbryURL;
|
||||
|
|
|
@ -47,11 +47,11 @@ class LoadScreen extends React.PureComponent<Props> {
|
|||
)}
|
||||
</p>
|
||||
<p>
|
||||
{__('Reach out to hello@lbry.io for help, or check out')}{' '}
|
||||
{__('Reach out to hello@lbry.com for help, or check out')}{' '}
|
||||
<Button
|
||||
button="link"
|
||||
className="load-screen__button"
|
||||
href="https://lbry.io/faq/startup-troubleshooting"
|
||||
href="https://lbry.com/faq/startup-troubleshooting"
|
||||
label="this link"
|
||||
/>
|
||||
.
|
||||
|
|
|
@ -63,7 +63,7 @@ export default class SplashScreen extends React.PureComponent<Props, State> {
|
|||
this.setState({
|
||||
message: __('Connection Failure'),
|
||||
details: __(
|
||||
'Try closing all LBRY processes and starting again. If this still happens, your anti-virus software or firewall may be preventing LBRY from connecting. Contact hello@lbry.io if you think this is a software bug.'
|
||||
'Try closing all LBRY processes and starting again. If this still happens, your anti-virus software or firewall may be preventing LBRY from connecting. Contact hello@lbry.com if you think this is a software bug.'
|
||||
),
|
||||
});
|
||||
});
|
||||
|
|
|
@ -90,7 +90,7 @@ class TransactionList extends React.PureComponent<Props> {
|
|||
<Button
|
||||
button="link"
|
||||
icon={icons.HELP}
|
||||
href="https://lbry.io/faq/transaction-types"
|
||||
href="https://lbry.com/faq/transaction-types"
|
||||
title={__('Help')}
|
||||
/>
|
||||
}
|
||||
|
|
|
@ -71,8 +71,8 @@ class UserEmailVerify extends React.PureComponent<Props> {
|
|||
</div>
|
||||
|
||||
<p className="help">
|
||||
{__('Email')} <Button button="link" href="mailto:help@lbry.io" label="help@lbry.io" />{' '}
|
||||
or join our <Button button="link" href="https://chat.lbry.io" label="chat" />{' '}
|
||||
{__('Email')} <Button button="link" href="mailto:help@lbry.com" label="help@lbry.com" />{' '}
|
||||
or join our <Button button="link" href="https://chat.lbry.com" label="chat" />{' '}
|
||||
{__('if you encounter any trouble verifying.')}
|
||||
</p>
|
||||
</div>
|
||||
|
|
|
@ -45,20 +45,20 @@ class UserPhoneVerify extends React.PureComponent<Props, State> {
|
|||
const { cancelButton, phoneErrorMessage, phone, countryCode } = this.props;
|
||||
return (
|
||||
<React.Fragment>
|
||||
<section className='card__content'>
|
||||
<section className="card__content">
|
||||
<p>
|
||||
{' '}
|
||||
{__(
|
||||
`Please enter the verification code sent to +${countryCode}${phone}. Didn't receive it? `
|
||||
)}
|
||||
<Button button='link' onClick={this.reset.bind(this)} label='Go back.' />
|
||||
<Button button="link" onClick={this.reset.bind(this)} label="Go back." />
|
||||
</p>
|
||||
</section>
|
||||
<Form className='card__content' onSubmit={this.handleSubmit.bind(this)}>
|
||||
<Form className="card__content" onSubmit={this.handleSubmit.bind(this)}>
|
||||
<FormField
|
||||
type='text'
|
||||
name='code'
|
||||
placeholder='1234'
|
||||
type="text"
|
||||
name="code"
|
||||
placeholder="1234"
|
||||
value={this.state.code}
|
||||
onChange={event => {
|
||||
this.handleCodeChanged(event);
|
||||
|
@ -68,12 +68,12 @@ class UserPhoneVerify extends React.PureComponent<Props, State> {
|
|||
inputButton={<Submit label={__('Verify')} />}
|
||||
/>
|
||||
|
||||
<div className='card__actions'>{cancelButton}</div>
|
||||
<div className="card__actions">{cancelButton}</div>
|
||||
</Form>
|
||||
|
||||
<p className='help'>
|
||||
{__('Email')} <Button button='link' href='mailto:help@lbry.io' label='help@lbry.io' /> or
|
||||
join our <Button button='link' href='https://chat.lbry.io' label='chat' />{' '}
|
||||
<p className="help">
|
||||
{__('Email')} <Button button="link" href="mailto:help@lbry.com" label="help@lbry.com" />{' '}
|
||||
or join our <Button button="link" href="https://chat.lbry.com" label="chat" />{' '}
|
||||
{__('if you encounter any trouble with your code.')}
|
||||
</p>
|
||||
</React.Fragment>
|
||||
|
|
|
@ -64,7 +64,7 @@ class UserVerify extends React.PureComponent<Props> {
|
|||
{__('A $1 authorization may temporarily appear with your provider.')}{' '}
|
||||
<Button
|
||||
button="link"
|
||||
href="https://lbry.io/faq/identity-requirements"
|
||||
href="https://lbry.com/faq/identity-requirements"
|
||||
label={__('Read more about why we do this.')}
|
||||
/>
|
||||
</div>
|
||||
|
@ -95,7 +95,7 @@ class UserVerify extends React.PureComponent<Props> {
|
|||
|
||||
<div className="help">
|
||||
{__('Standard messaging rates apply. Having trouble?')}{' '}
|
||||
<Button button="link" href="https://lbry.io/faq/phone" label={__('Read more.')} />
|
||||
<Button button="link" href="https://lbry.com/faq/phone" label={__('Read more.')} />
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
@ -116,7 +116,7 @@ class UserVerify extends React.PureComponent<Props> {
|
|||
<div className="card__content">
|
||||
<div className="card__actions">
|
||||
<Button
|
||||
href="https://chat.lbry.io"
|
||||
href="https://chat.lbry.com"
|
||||
button="primary"
|
||||
icon={icons.CHAT}
|
||||
label={__('Join LBRY Chat')}
|
||||
|
|
|
@ -103,7 +103,11 @@ class WalletSendTip extends React.PureComponent<Props, State> {
|
|||
helper={
|
||||
<p>
|
||||
{__(`This will appear as a tip for "${title}".`)}{' '}
|
||||
<Button label={__('Learn more')} button="link" href="https://lbry.io/faq/tipping" />
|
||||
<Button
|
||||
label={__('Learn more')}
|
||||
button="link"
|
||||
href="https://lbry.com/faq/tipping"
|
||||
/>
|
||||
</p>
|
||||
}
|
||||
/>
|
||||
|
|
|
@ -1,5 +0,0 @@
|
|||
export const NO_DEPOSITS = 'no_deposits';
|
||||
export const RECEIVED = 'received';
|
||||
export const COMPLETE = 'complete';
|
||||
export const AVAILABLE = 'available';
|
||||
export const UNAVAILABLE = 'unavailable';
|
|
@ -26,7 +26,7 @@ class ModalAuthFailure extends React.PureComponent<Props> {
|
|||
<section className="card__content">
|
||||
<p>
|
||||
{__(
|
||||
'If reloading does not fix this, or you see this at every start up, please email help@lbry.io.'
|
||||
'If reloading does not fix this, or you see this at every start up, please email help@lbry.com.'
|
||||
)}
|
||||
</p>
|
||||
</section>
|
||||
|
|
|
@ -31,7 +31,7 @@ class ModalIncompatibleDaemon extends React.PureComponent<Props> {
|
|||
<Button
|
||||
button="link"
|
||||
label={__('Learn more')}
|
||||
href="https://lbry.io/faq/incompatible-protocol-version"
|
||||
href="https://lbry.com/faq/incompatible-protocol-version"
|
||||
/>
|
||||
.
|
||||
</p>
|
||||
|
|
|
@ -50,7 +50,7 @@ class ModalRewardCode extends React.PureComponent<Props, State> {
|
|||
{'. '}
|
||||
<Button
|
||||
button="link"
|
||||
href="https://lbry.io/faq/rewards#reward-code"
|
||||
href="https://lbry.com/faq/rewards#reward-code"
|
||||
label={__('Learn more')}
|
||||
/>
|
||||
.
|
||||
|
|
|
@ -18,7 +18,7 @@ class ModalTransactionFailed extends React.PureComponent<Props> {
|
|||
onConfirmed={closeModal}
|
||||
>
|
||||
<section className="card__content">
|
||||
<p>{__('Sorry about that. Contact help@lbry.io if you continue to have issues.')}</p>
|
||||
<p>{__('Sorry about that. Contact help@lbry.com if you continue to have issues.')}</p>
|
||||
</section>
|
||||
</Modal>
|
||||
);
|
||||
|
|
|
@ -55,7 +55,7 @@ class ModalWalletDecrypt extends React.PureComponent<Props, State> {
|
|||
<Button
|
||||
button="link"
|
||||
label={__('Learn more')}
|
||||
href="https://lbry.io/faq/wallet-encryption"
|
||||
href="https://lbry.com/faq/wallet-encryption"
|
||||
/>
|
||||
.
|
||||
</p>
|
||||
|
|
|
@ -94,21 +94,21 @@ class ModalWalletEncrypt extends React.PureComponent<Props, State> {
|
|||
isOpen
|
||||
title={__('Encrypt Wallet')}
|
||||
contentLabel={__('Encrypt Wallet')}
|
||||
type='confirm'
|
||||
type="confirm"
|
||||
confirmButtonLabel={__('Encrypt Wallet')}
|
||||
abortButtonLabel={__('Cancel')}
|
||||
onConfirmed={() => this.submitEncryptForm()}
|
||||
onAborted={closeModal}
|
||||
>
|
||||
<Form className='card__content' onSubmit={() => this.submitEncryptForm()}>
|
||||
<Form className="card__content" onSubmit={() => this.submitEncryptForm()}>
|
||||
<p>
|
||||
{__(
|
||||
'Encrypting your wallet will require a password to access your local wallet data when LBRY starts. Please enter a new password for your wallet.'
|
||||
)}{' '}
|
||||
<Button
|
||||
button='link'
|
||||
button="link"
|
||||
label={__('Learn more')}
|
||||
href='https://lbry.io/faq/wallet-encryption'
|
||||
href="https://lbry.com/faq/wallet-encryption"
|
||||
/>
|
||||
.
|
||||
</p>
|
||||
|
@ -118,8 +118,8 @@ class ModalWalletEncrypt extends React.PureComponent<Props, State> {
|
|||
error={passwordMismatch === true ? 'Passwords do not match' : false}
|
||||
label={__('Password')}
|
||||
placeholder={__('Shh...')}
|
||||
type='password'
|
||||
name='wallet-new-password'
|
||||
type="password"
|
||||
name="wallet-new-password"
|
||||
onChange={event => this.onChangeNewPassword(event)}
|
||||
/>
|
||||
</fieldset-section>
|
||||
|
@ -128,13 +128,13 @@ class ModalWalletEncrypt extends React.PureComponent<Props, State> {
|
|||
error={passwordMismatch === true ? 'Passwords do not match' : false}
|
||||
label={__('Confirm Password')}
|
||||
placeholder={__('Your eyes only')}
|
||||
type='password'
|
||||
name='wallet-new-password-confirm'
|
||||
type="password"
|
||||
name="wallet-new-password-confirm"
|
||||
onChange={event => this.onChangeNewPasswordConfirm(event)}
|
||||
/>
|
||||
</fieldset-section>
|
||||
|
||||
<div className='help help--warning'>
|
||||
<div className="help help--warning">
|
||||
{__(
|
||||
'If your password is lost, it cannot be recovered. You will not be able to access your wallet without a password.'
|
||||
)}
|
||||
|
@ -143,11 +143,11 @@ class ModalWalletEncrypt extends React.PureComponent<Props, State> {
|
|||
error={understandError === true ? 'You must enter "I understand"' : false}
|
||||
label={__('Enter "I understand"')}
|
||||
placeholder={__('Dear computer, I understand')}
|
||||
type='text'
|
||||
name='wallet-understand'
|
||||
type="text"
|
||||
name="wallet-understand"
|
||||
onChange={event => this.onChangeUnderstandConfirm(event)}
|
||||
/>
|
||||
{failMessage && <div className='error-text'>{__(failMessage)}</div>}
|
||||
{failMessage && <div className="error-text">{__(failMessage)}</div>}
|
||||
</Form>
|
||||
</Modal>
|
||||
);
|
||||
|
|
|
@ -42,23 +42,23 @@ class ModalWalletUnlock extends React.PureComponent<Props, State> {
|
|||
isOpen
|
||||
title={__('Unlock Wallet')}
|
||||
contentLabel={__('Unlock Wallet')}
|
||||
type='confirm'
|
||||
type="confirm"
|
||||
shouldCloseOnOverlayClick={false}
|
||||
confirmButtonLabel={__('Unlock')}
|
||||
abortButtonLabel={__('Exit')}
|
||||
onConfirmed={() => unlockWallet(password)}
|
||||
onAborted={quit}
|
||||
>
|
||||
<section className='card__content'>
|
||||
<section className="card__content">
|
||||
<Form onSubmit={() => unlockWallet(password)}>
|
||||
<p>
|
||||
{__(
|
||||
'Your wallet has been encrypted with a local password. Please enter your wallet password to proceed.'
|
||||
)}{' '}
|
||||
<Button
|
||||
button='link'
|
||||
button="link"
|
||||
label={__('Learn more')}
|
||||
href='https://lbry.io/faq/wallet-encryption'
|
||||
href="https://lbry.com/faq/wallet-encryption"
|
||||
/>
|
||||
.
|
||||
</p>
|
||||
|
@ -66,8 +66,8 @@ class ModalWalletUnlock extends React.PureComponent<Props, State> {
|
|||
autoFocus
|
||||
error={walletUnlockSucceded === false ? 'Incorrect Password' : false}
|
||||
label={__('Wallet Password')}
|
||||
type='password'
|
||||
name='wallet-password'
|
||||
type="password"
|
||||
name="wallet-password"
|
||||
onChange={event => this.onChangePassword(event)}
|
||||
/>
|
||||
</Form>
|
||||
|
|
|
@ -56,7 +56,7 @@ class BackupPage extends React.PureComponent<Props> {
|
|||
For more details on backing up and best practices,{' '}
|
||||
<Button
|
||||
button="link"
|
||||
href="https://lbry.io/faq/how-to-backup-wallet"
|
||||
href="https://lbry.com/faq/how-to-backup-wallet"
|
||||
label={__('see this article')}
|
||||
/>
|
||||
.
|
||||
|
|
|
@ -27,7 +27,7 @@ const GetCreditsPage = () => (
|
|||
<div className="card__actions">
|
||||
<Button
|
||||
button="primary"
|
||||
href="https://lbry.io/faq/earn-credits"
|
||||
href="https://lbry.com/faq/earn-credits"
|
||||
label={__('Read More')}
|
||||
/>
|
||||
</div>
|
||||
|
|
|
@ -107,13 +107,13 @@ class HelpPage extends React.PureComponent<Props, State> {
|
|||
osName = parseInt(ver.os_release.match(/^\d+/), 10) < 16 ? 'Mac OS X' : 'Mac OS';
|
||||
|
||||
platform = `${osName} ${ver.os_release}`;
|
||||
newVerLink = 'https://lbry.io/get/lbry.dmg';
|
||||
newVerLink = 'https://lbry.com/get/lbry.dmg';
|
||||
} else if (ver.os_system === 'Linux') {
|
||||
platform = `Linux (${ver.platform})`;
|
||||
newVerLink = 'https://lbry.io/get/lbry.deb';
|
||||
newVerLink = 'https://lbry.com/get/lbry.deb';
|
||||
} else {
|
||||
platform = `Windows (${ver.platform})`;
|
||||
newVerLink = 'https://lbry.io/get/lbry.msi';
|
||||
newVerLink = 'https://lbry.com/get/lbry.msi';
|
||||
}
|
||||
} else {
|
||||
ver = null;
|
||||
|
@ -130,7 +130,7 @@ class HelpPage extends React.PureComponent<Props, State> {
|
|||
<div className="card__content">
|
||||
<div className="card__actions">
|
||||
<Button
|
||||
href="https://lbry.io/faq"
|
||||
href="https://lbry.com/faq"
|
||||
label={__('Read the FAQ')}
|
||||
icon={icons.HELP}
|
||||
button="primary"
|
||||
|
@ -155,7 +155,7 @@ class HelpPage extends React.PureComponent<Props, State> {
|
|||
button="primary"
|
||||
label={__('Join Our Chat')}
|
||||
icon={icons.CHAT}
|
||||
href="https://chat.lbry.io"
|
||||
href="https://chat.lbry.com"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -167,7 +167,7 @@ class HelpPage extends React.PureComponent<Props, State> {
|
|||
|
||||
<p className="card__subtitle">
|
||||
{__('Did something go wrong? Have a look in your log file, or send it to')}{' '}
|
||||
<Button button="link" label={__('support')} href="https://lbry.io/faq/support" />.
|
||||
<Button button="link" label={__('support')} href="https://lbry.com/faq/support" />.
|
||||
</p>
|
||||
</header>
|
||||
|
||||
|
@ -193,7 +193,7 @@ class HelpPage extends React.PureComponent<Props, State> {
|
|||
|
||||
<p className="card__subtitle">
|
||||
{__('Did you find something wrong? Think LBRY could add something useful and cool?')}{' '}
|
||||
<Button button="link" label={__('Learn more')} href="https://lbry.io/faq/support" />.
|
||||
<Button button="link" label={__('Learn more')} href="https://lbry.com/faq/support" />.
|
||||
</p>
|
||||
</header>
|
||||
|
||||
|
@ -244,7 +244,7 @@ class HelpPage extends React.PureComponent<Props, State> {
|
|||
{user.primary_email}{' '}
|
||||
<Button
|
||||
button="link"
|
||||
href={`https://lbry.io/list/edit/${accessToken}`}
|
||||
href={`https://lbry.com/list/edit/${accessToken}`}
|
||||
label={__('Update mailing preferences')}
|
||||
/>
|
||||
</React.Fragment>
|
||||
|
|
|
@ -104,7 +104,7 @@ class ReportPage extends React.Component {
|
|||
</p>
|
||||
<p>
|
||||
{__('Join our')}{' '}
|
||||
<Button button="link" href="https://discourse.lbry.io/" label={__('tech forum')} />.
|
||||
<Button button="link" href="https://discourse.lbry.com/" label={__('tech forum')} />.
|
||||
</p>
|
||||
</div>
|
||||
</section>
|
||||
|
|
|
@ -63,7 +63,7 @@ class RewardsPage extends PureComponent<Props> {
|
|||
)}
|
||||
</p>
|
||||
<p>
|
||||
{`${__('If you continue to see this message, send us an email to help@lbry.io.')} ${__(
|
||||
{`${__('If you continue to see this message, send us an email to help@lbry.com.')} ${__(
|
||||
'Please enjoy free content in the meantime!'
|
||||
)}`}
|
||||
</p>
|
||||
|
@ -132,8 +132,8 @@ class RewardsPage extends PureComponent<Props> {
|
|||
<p className="card__content">
|
||||
{claimed && claimed.length
|
||||
? __(
|
||||
"You have claimed all available rewards! We're regularly adding more so be sure to check back later."
|
||||
)
|
||||
"You have claimed all available rewards! We're regularly adding more so be sure to check back later."
|
||||
)
|
||||
: __('There are no rewards available at this time, please check back later.')}
|
||||
</p>
|
||||
</section>
|
||||
|
|
|
@ -376,7 +376,7 @@ class SettingsPage extends React.PureComponent<Props, State> {
|
|||
<Button
|
||||
button="link"
|
||||
label={__('Learn more')}
|
||||
href="https://lbry.io/faq/wallet-encryption"
|
||||
href="https://lbry.com/faq/wallet-encryption"
|
||||
/>
|
||||
.
|
||||
</React.Fragment>
|
||||
|
|
|
@ -83,7 +83,7 @@ class ShowPage extends React.PureComponent<Props> {
|
|||
</p>
|
||||
</div>
|
||||
<div className="card__actions">
|
||||
<Button button="link" href="https://lbry.io/faq/dmca" label={__('Read More')} />
|
||||
<Button button="link" href="https://lbry.com/faq/dmca" label={__('Read More')} />
|
||||
</div>
|
||||
</section>
|
||||
</Page>
|
||||
|
|
|
@ -187,7 +187,7 @@ function handleLoadVideoError(uri: string, errorType: string = '') {
|
|||
} else {
|
||||
dispatch(
|
||||
doError(
|
||||
`Failed to download ${uri}, please try again or see error details:\n\n${errorText}\n\nIf this problem persists, visit https://lbry.io/support for help. `
|
||||
`Failed to download ${uri}, please try again or see error details:\n\n${errorText}\n\nIf this problem persists, visit https://lbry.com/support for help. `
|
||||
)
|
||||
);
|
||||
}
|
||||
|
|
|
@ -98,7 +98,7 @@ export function doDownloadLanguage(langFile) {
|
|||
headers: {
|
||||
'Content-Type': 'text/html',
|
||||
},
|
||||
host: 'i18n.lbry.io',
|
||||
host: 'i18n.lbry.com',
|
||||
path: `/langs/${langFile}`,
|
||||
},
|
||||
response => {
|
||||
|
@ -153,7 +153,7 @@ export function doDownloadLanguages() {
|
|||
// return response.json();
|
||||
// }
|
||||
//
|
||||
// return fetch("http://i18n.lbry.io")
|
||||
// return fetch("http://i18n.lbry.com")
|
||||
// .then(checkStatus)
|
||||
// .then(parseJSON)
|
||||
// .then(files => {
|
||||
|
|
|
@ -17,11 +17,11 @@ export const selectUpdateUrl = createSelector(
|
|||
platform => {
|
||||
switch (platform) {
|
||||
case 'darwin':
|
||||
return 'https://lbry.io/get/lbry.dmg';
|
||||
return 'https://lbry.com/get/lbry.dmg';
|
||||
case 'linux':
|
||||
return 'https://lbry.io/get/lbry.deb';
|
||||
return 'https://lbry.com/get/lbry.deb';
|
||||
case 'win32':
|
||||
return 'https://lbry.io/get/lbry.exe';
|
||||
return 'https://lbry.com/get/lbry.exe';
|
||||
default:
|
||||
throw Error('Unknown platform');
|
||||
}
|
||||
|
|
|
@ -1,48 +0,0 @@
|
|||
// these don't need to be exact
|
||||
// Shapeshift does a more thorough check on validity
|
||||
// just general matches to prevent unnecessary api calls
|
||||
export const coinRegexPatterns = {
|
||||
BTC: /^[13][a-km-zA-HJ-NP-Z1-9]{25,34}$/,
|
||||
BCH: /^[13][a-km-zA-HJ-NP-Z1-9]{25,34}$/,
|
||||
ETH: /^(0x)?[0-9a-fA-F]{40}$/,
|
||||
DASH: /^X([0-9a-zA-Z]){33}/,
|
||||
LTC: /^L[a-zA-Z0-9]{26,33}$/,
|
||||
XMR: /^4[0-9ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{94}$/,
|
||||
};
|
||||
|
||||
const validateAddress = (coinType, address) => {
|
||||
if (!coinType || !address) return false;
|
||||
|
||||
const coinRegex = coinRegexPatterns[coinType.toUpperCase()];
|
||||
if (!coinRegex) return false;
|
||||
|
||||
return coinRegex.test(address);
|
||||
};
|
||||
|
||||
export const validateShapeShiftForm = vals => {
|
||||
const errors = {};
|
||||
|
||||
if (!vals.returnAddress) {
|
||||
return errors;
|
||||
}
|
||||
|
||||
const isValidAddress = validateAddress(vals.originCoin, vals.returnAddress);
|
||||
|
||||
if (!isValidAddress) {
|
||||
errors.returnAddress = `Enter a valid ${vals.originCoin} address`;
|
||||
}
|
||||
|
||||
return errors;
|
||||
};
|
||||
|
||||
const exampleCoinAddresses = {
|
||||
BTC: '1745oPaHeW7Fmpb1fUKTtasYfxr4zu9bwq',
|
||||
BCH: '1745oPaHeW7Fmpb1fUKTtasYfxr4zu9bwq',
|
||||
ETH: '0x8507cA6a274123fC8f80d929AF9D83602bC4e8cC',
|
||||
DASH: 'XedBP7vLPFXbS3URjrH2Z57Fg9SWftBmQ6',
|
||||
LTC: 'LgZivMvFMTDoqcA5weCQ2QrmRp7pa56bBk',
|
||||
XMR:
|
||||
'466XMeJEcowYGx7RzUJj3VDWBZgRWErVQQX6tHYbsacS5QF6v3tidE6LZZnTJgzeEh6bKEEJ6GC9jHirrUKvJwVKVj9e7jm',
|
||||
};
|
||||
|
||||
export const getExampleAddress = coin => exampleCoinAddresses[coin];
|
Loading…
Reference in a new issue