lbry.io => lbry.com

This commit is contained in:
Sean Yesmunt 2019-03-20 17:43:00 -04:00
parent e85ad6a2c6
commit 93bcba4512
40 changed files with 176 additions and 226 deletions

View file

@ -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

View file

@ -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=

View file

@ -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).

View file

@ -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

View file

@ -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": {

View file

@ -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();

View file

@ -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');
}

View file

@ -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' },

View file

@ -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} />;

View file

@ -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>

View file

@ -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>

View file

@ -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')}
/>
.

View file

@ -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>

View file

@ -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;

View file

@ -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"
/>
.

View file

@ -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.'
),
});
});

View file

@ -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')}
/>
}

View file

@ -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>

View file

@ -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>

View file

@ -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')}

View file

@ -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>
}
/>

View file

@ -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';

View file

@ -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>

View file

@ -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>

View file

@ -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')}
/>
.

View file

@ -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>
);

View file

@ -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>

View file

@ -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>
);

View file

@ -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>

View file

@ -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')}
/>
.

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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. `
)
);
}

View file

@ -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 => {

View file

@ -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');
}

View file

@ -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];