From 041127bbce817628efb6f003b705484dfa385d16 Mon Sep 17 00:00:00 2001 From: zeppi Date: Fri, 3 Dec 2021 15:53:03 -0500 Subject: [PATCH] rm lbry.tv, rm lbryfirst, rm DOMAIN, etc --- .env.defaults | 9 +- config.js | 2 +- electron/index.js | 109 ++++++++++++------------- extras/lbryinc/lbryio.js | 7 +- static/app-strings.json | 2 +- ui/component/claimMenuList/view.jsx | 4 +- ui/component/collectionEdit/view.jsx | 3 +- ui/component/privacyAgreement/index.js | 4 +- ui/component/publishName/view.jsx | 3 +- ui/component/searchTopClaim/view.jsx | 7 +- ui/component/selectThumbnail/view.jsx | 5 +- ui/component/settingShareUrl/view.jsx | 4 +- ui/component/sideNavigation/view.jsx | 24 +----- ui/component/socialShare/view.jsx | 4 +- ui/component/tagsSearch/view.jsx | 1 - ui/component/userEmailNew/view.jsx | 3 +- ui/page/discover/view.jsx | 8 +- ui/redux/actions/app.js | 4 +- ui/redux/actions/user.js | 8 +- ui/util/saved-passwords.js | 29 ++----- 20 files changed, 89 insertions(+), 151 deletions(-) diff --git a/.env.defaults b/.env.defaults index 3123bfaec..5da994a5e 100644 --- a/.env.defaults +++ b/.env.defaults @@ -26,14 +26,15 @@ MATOMO_URL=https://analytics.lbry.com/ MATOMO_ID=4 # OG -OG_TITLE_SUFFIX=| lbry.tv -OG_HOMEPAGE_TITLE=lbry.tv +OG_TITLE_SUFFIX=| LBRY +OG_HOMEPAGE_TITLE=LBRY OG_IMAGE_URL= -SITE_CANONICAL_URL=https://lbry.tv +#SITE_CANONICAL_URL= # UI ## Custom Site info DOMAIN=lbry.tv +SHARE_DOMAIN_URL=odysee.com URL=https://lbry.tv SITE_TITLE=LBRY SITE_NAME=LBRY @@ -43,7 +44,7 @@ LOGO_TITLE=LBRY CLOUD_CONNECT_SITE_NAME=Odysee ## Social media TWITTER_ACCOUNT=LBRYcom -BRANDED_SITE=odysee +#BRANDED_SITE= ## IMAGE ASSETS YRBL_HAPPY_IMG_URL=https://cdn.lbryplayer.xyz/api/v3/streams/free/yrbl-happy/7aa50a7e5adaf48691935d55e45d697547392929/839d9a diff --git a/config.js b/config.js index f7ab434b1..1368a06cb 100644 --- a/config.js +++ b/config.js @@ -45,7 +45,7 @@ const config = { YRBL_HAPPY_IMG_URL: process.env.YRBL_HAPPY_IMG_URL, YRBL_SAD_IMG_URL: process.env.YRBL_SAD_IMG_URL, LOGIN_IMG_URL: process.env.LOGIN_IMG_URL, - SITE_CANONICAL_URL: process.env.SITE_CANONICAL_URL, + // SITE_CANONICAL_URL: process.env.SITE_CANONICAL_URL, DEFAULT_LANGUAGE: process.env.DEFAULT_LANGUAGE, AUTO_FOLLOW_CHANNELS: process.env.AUTO_FOLLOW_CHANNELS, UNSYNCED_SETTINGS: process.env.UNSYNCED_SETTINGS, diff --git a/electron/index.js b/electron/index.js index b73653280..56d2aa9fa 100644 --- a/electron/index.js +++ b/electron/index.js @@ -7,7 +7,6 @@ import https from 'https'; import { app, dialog, ipcMain, session, shell, BrowserWindow } from 'electron'; import { autoUpdater } from 'electron-updater'; import Lbry from 'lbry'; -import LbryFirstInstance from './LbryFirstInstance'; import Daemon from './Daemon'; import isDev from 'electron-is-dev'; import createTray from './createTray'; @@ -100,51 +99,51 @@ const startDaemon = async () => { } }; -let isLbryFirstRunning = false; -const startLbryFirst = async () => { - if (isLbryFirstRunning) { - console.log('LbryFirst already running'); - handleLbryFirstLaunched(); - return; - } - - console.log('LbryFirst: Starting...'); - - try { - lbryFirst = new LbryFirstInstance(); - lbryFirst.on('exit', e => { - if (!isDev) { - lbryFirst = null; - isLbryFirstRunning = false; - if (!appState.isQuitting) { - dialog.showErrorBox( - 'LbryFirst has Exited', - 'The lbryFirst may have encountered an unexpected error, or another lbryFirst instance is already running. \n\n', - e - ); - } - app.quit(); - } - }); - } catch (e) { - console.log('LbryFirst: Failed to create new instance\n\n', e); - } - - console.log('LbryFirst: Running...'); - - try { - await lbryFirst.launch(); - handleLbryFirstLaunched(); - } catch (e) { - isLbryFirstRunning = false; - console.log('LbryFirst: Failed to start\n', e); - } -}; - -const handleLbryFirstLaunched = () => { - isLbryFirstRunning = true; - rendererWindow.webContents.send('lbry-first-launched'); -}; +// let isLbryFirstRunning = false; +// const startLbryFirst = async () => { +// if (isLbryFirstRunning) { +// console.log('LbryFirst already running'); +// handleLbryFirstLaunched(); +// return; +// } +// +// console.log('LbryFirst: Starting...'); +// +// try { +// lbryFirst = new LbryFirstInstance(); +// lbryFirst.on('exit', e => { +// if (!isDev) { +// lbryFirst = null; +// isLbryFirstRunning = false; +// if (!appState.isQuitting) { +// dialog.showErrorBox( +// 'LbryFirst has Exited', +// 'The lbryFirst may have encountered an unexpected error, or another lbryFirst instance is already running. \n\n', +// e +// ); +// } +// app.quit(); +// } +// }); +// } catch (e) { +// console.log('LbryFirst: Failed to create new instance\n\n', e); +// } +// +// console.log('LbryFirst: Running...'); +// +// try { +// await lbryFirst.launch(); +// handleLbryFirstLaunched(); +// } catch (e) { +// isLbryFirstRunning = false; +// console.log('LbryFirst: Failed to start\n', e); +// } +// }; +// +// const handleLbryFirstLaunched = () => { +// isLbryFirstRunning = true; +// rendererWindow.webContents.send('lbry-first-launched'); +// }; // When we are starting the app, ensure there are no other apps already running const gotSingleInstanceLock = app.requestSingleInstanceLock(); @@ -400,15 +399,15 @@ ipcMain.on('version-info-requested', () => { requestLatestRelease(); }); - -ipcMain.on('launch-lbry-first', async () => { - try { - await startLbryFirst(); - } catch (e) { - console.log('Failed to start LbryFirst'); - console.log(e); - } -}); +// +// ipcMain.on('launch-lbry-first', async () => { +// try { +// await startLbryFirst(); +// } catch (e) { +// console.log('Failed to start LbryFirst'); +// console.log(e); +// } +// }); process.on('uncaughtException', error => { console.log(error); diff --git a/extras/lbryinc/lbryio.js b/extras/lbryinc/lbryio.js index 89c0536e9..b1f687f8f 100644 --- a/extras/lbryinc/lbryio.js +++ b/extras/lbryinc/lbryio.js @@ -111,7 +111,7 @@ Lbryio.getAuthToken = () => Lbryio.getCurrentUser = () => Lbryio.call('user', 'me'); -Lbryio.authenticate = (domain, language) => { +Lbryio.authenticate = (language) => { if (!Lbryio.enabled) { const params = { id: 1, @@ -155,10 +155,7 @@ Lbryio.authenticate = (domain, language) => { .then( status => new Promise((res, rej) => { - const appId = - domain && domain !== 'lbry.tv' - ? (domain.replace(/[.]/gi, '') + status.installation_id).slice(0, 66) - : status.installation_id; + const appId = status.installation_id; Lbryio.call( 'user', 'new', diff --git a/static/app-strings.json b/static/app-strings.json index b3527b9b3..c9ee182ac 100644 --- a/static/app-strings.json +++ b/static/app-strings.json @@ -1661,7 +1661,6 @@ "Short (< 4 minutes)": "Short (< 4 minutes)", "Long (> 20 min)": "Long (> 20 min)", "POWERED BY %lbry_link%": "POWERED BY %lbry_link%", - "Learn more about LBRY Credits on %DOMAIN%": "Learn more about LBRY Credits on %DOMAIN%", "Results boosted by %lbc%": "Results boosted by %lbc%", "This will be visible in a few minutes.": "This will be visible in a few minutes.", "Turn on notifications": "Turn on notifications", @@ -2222,5 +2221,6 @@ "Your wallet is not currently using a cloud sync service. You are in control of backing up your wallet.": "Your wallet is not currently using a cloud sync service. You are in control of backing up your wallet.", "Sending": "Sending", "You sent %lbc%": "You sent %lbc%", + "Learn more about LBRY Credits": "Learn more about LBRY Credits", "--end--": "--end--" } diff --git a/ui/component/claimMenuList/view.jsx b/ui/component/claimMenuList/view.jsx index eb7b2ab77..3c0225ad0 100644 --- a/ui/component/claimMenuList/view.jsx +++ b/ui/component/claimMenuList/view.jsx @@ -1,5 +1,5 @@ // @flow -import { URL, SHARE_DOMAIN_URL } from 'config'; +import { SHARE_DOMAIN_URL } from 'config'; import * as ICONS from 'constants/icons'; import * as PAGES from 'constants/pages'; import * as MODALS from 'constants/modal_types'; @@ -18,7 +18,7 @@ import { import { useHistory } from 'react-router'; import { buildURI, parseURI } from 'util/lbryURI'; -const SHARE_DOMAIN = SHARE_DOMAIN_URL || URL; +const SHARE_DOMAIN = SHARE_DOMAIN_URL; const PAGE_VIEW_QUERY = 'view'; const EDIT_PAGE = 'edit'; diff --git a/ui/component/collectionEdit/view.jsx b/ui/component/collectionEdit/view.jsx index 108e21493..824a33878 100644 --- a/ui/component/collectionEdit/view.jsx +++ b/ui/component/collectionEdit/view.jsx @@ -1,5 +1,4 @@ // @flow -import { DOMAIN } from 'config'; import React from 'react'; import classnames from 'classnames'; import Button from 'component/button'; @@ -90,7 +89,7 @@ function CollectionForm(props: Props) { onDone, } = props; const activeChannelName = activeChannelClaim && activeChannelClaim.name; - let prefix = IS_WEB ? `${DOMAIN}/` : 'lbry://'; + let prefix = 'lbry://'; if (activeChannelName && !incognito) { prefix += `${activeChannelName}/`; } diff --git a/ui/component/privacyAgreement/index.js b/ui/component/privacyAgreement/index.js index f7b4e3082..046f866bc 100644 --- a/ui/component/privacyAgreement/index.js +++ b/ui/component/privacyAgreement/index.js @@ -1,4 +1,3 @@ -import { DOMAIN } from 'config'; import { connect } from 'react-redux'; import { doSetDaemonSetting } from 'redux/actions/settings'; import { doSetWelcomeVersion, doToggle3PAnalytics, doSignOut } from 'redux/actions/app'; @@ -19,8 +18,7 @@ const perform = (dispatch) => ({ setShareDataInternal: (share) => dispatch(doSetDaemonSetting(DAEMON_SETTINGS.SHARE_USAGE_DATA, share)), setShareDataThirdParty: (share) => dispatch(doToggle3PAnalytics(share)), signOut: () => dispatch(doSignOut()), - authenticateIfSharingData: () => - dispatch(doAuthenticate(appVersion, undefined, undefined, true, undefined, undefined, DOMAIN)), + authenticateIfSharingData: () => dispatch(doAuthenticate(appVersion, undefined, undefined, true)), }); export default connect(select, perform)(PrivacyAgreement); diff --git a/ui/component/publishName/view.jsx b/ui/component/publishName/view.jsx index 3c5ff7f85..fa882e067 100644 --- a/ui/component/publishName/view.jsx +++ b/ui/component/publishName/view.jsx @@ -1,5 +1,4 @@ // @flow -import { DOMAIN } from 'config'; import { INVALID_NAME_ERROR } from 'constants/claim'; import React, { useState, useEffect } from 'react'; import { isNameValid } from 'util/lbryURI'; @@ -32,7 +31,7 @@ function PublishName(props: Props) { const [nameError, setNameError] = useState(undefined); const [blurred, setBlurred] = React.useState(false); const activeChannelName = activeChannelClaim && activeChannelClaim.name; - let prefix = IS_WEB ? `${DOMAIN}/` : 'lbry://'; + let prefix = 'lbry://'; if (activeChannelName && !incognito) { prefix += `${activeChannelName}/`; } diff --git a/ui/component/searchTopClaim/view.jsx b/ui/component/searchTopClaim/view.jsx index ab884740f..139284883 100644 --- a/ui/component/searchTopClaim/view.jsx +++ b/ui/component/searchTopClaim/view.jsx @@ -10,7 +10,6 @@ import ClaimRepostAuthor from 'component/claimRepostAuthor'; import I18nMessage from 'component/i18nMessage'; import { useHistory } from 'react-router'; import LbcSymbol from 'component/common/lbc-symbol'; -import { DOMAIN } from 'config'; type Props = { query: string, @@ -82,11 +81,7 @@ export default function SearchTopClaim(props: Props) {
{winningUri && (
- +
diff --git a/ui/component/selectThumbnail/view.jsx b/ui/component/selectThumbnail/view.jsx index c8090583b..341f131f8 100644 --- a/ui/component/selectThumbnail/view.jsx +++ b/ui/component/selectThumbnail/view.jsx @@ -2,7 +2,6 @@ import * as MODALS from 'constants/modal_types'; import * as THUMBNAIL_STATUSES from 'constants/thumbnail_upload_statuses'; import Lbry from 'lbry'; -import { DOMAIN } from 'config'; import * as React from 'react'; import { FormField } from 'component/common/form'; import FileSelector from 'component/common/file-selector'; @@ -184,9 +183,7 @@ function SelectThumbnail(props: Props) { {status === THUMBNAIL_STATUSES.IN_PROGRESS &&

{__('Uploading thumbnail')}...

} {!thumbUploaded && (

- {manualInput - ? __('Enter a URL for your thumbnail.') - : __('Upload your thumbnail to %domain%. Recommended size is 16:9.', { domain: DOMAIN })} + {manualInput ? __('Enter a URL for your thumbnail.') : __('Upload your thumbnail. Recommended size is 16:9.')}

)} diff --git a/ui/component/settingShareUrl/view.jsx b/ui/component/settingShareUrl/view.jsx index c58181ff1..fb2687ab8 100644 --- a/ui/component/settingShareUrl/view.jsx +++ b/ui/component/settingShareUrl/view.jsx @@ -1,5 +1,5 @@ // @flow -import { SHARE_DOMAIN_URL, URL } from 'config'; +import { SHARE_DOMAIN_URL } from 'config'; import React from 'react'; import { FormField } from 'component/common/form'; @@ -32,7 +32,7 @@ function SettingShareUrl(props: Props) { { if (e.target.checked) { diff --git a/ui/component/sideNavigation/view.jsx b/ui/component/sideNavigation/view.jsx index b2c10b8c4..b8ac38599 100644 --- a/ui/component/sideNavigation/view.jsx +++ b/ui/component/sideNavigation/view.jsx @@ -6,11 +6,9 @@ import * as KEYCODES from 'constants/keycodes'; import React from 'react'; import Button from 'component/button'; import classnames from 'classnames'; -import Icon from 'component/common/icon'; import NotificationBubble from 'component/notificationBubble'; -import I18nMessage from 'component/i18nMessage'; import ChannelThumbnail from 'component/channelThumbnail'; -import { DOMAIN, ENABLE_UI_NOTIFICATIONS } from 'config'; +import { ENABLE_UI_NOTIFICATIONS } from 'config'; import { IS_MAC } from 'component/app/view'; const HOME = { @@ -249,23 +247,6 @@ function SideNavigation(props: Props) { return () => window.removeEventListener('keydown', handleKeydown); }, [sidebarOpen, setSidebarOpen, isAbsolute]); - const unAuthNudge = - DOMAIN === 'lbry.tv' ? null : ( -
- - }}> - Sign up to earn %lbc% for you and your favorite creators. - - -
- ); - const helpLinks = (
  • @@ -345,8 +326,6 @@ function SideNavigation(props: Props) { ))}
)} - - {!isAuthenticated && sidebarOpen && unAuthNudge}
{sidebarOpen && helpLinks} @@ -421,7 +400,6 @@ function SideNavigation(props: Props) { ))} )} - {!isAuthenticated && unAuthNudge}
= limitSelect); const suggestedTags = Array.from(suggestedTagsSet).filter(doesTagMatch).slice(0, limitShow); diff --git a/ui/component/userEmailNew/view.jsx b/ui/component/userEmailNew/view.jsx index 13b0d0ca3..1cb9b1f1b 100644 --- a/ui/component/userEmailNew/view.jsx +++ b/ui/component/userEmailNew/view.jsx @@ -1,6 +1,5 @@ // @flow import * as PAGES from 'constants/pages'; -import { DOMAIN } from 'config'; import React, { useState } from 'react'; import { FormField, Form } from 'component/common/form'; import Button from 'component/button'; @@ -95,7 +94,7 @@ function UserEmailNew(props: Props) { title={__('Cloud Connect')} subtitle={__('Connect your wallet to Odysee')} actions={ -
+
+ , @@ -154,7 +149,6 @@ function DiscoverPage(props: Props) { limitClaimsPerChannel={LIMIT_CLAIMS_PER_CHANNEL} meta={getElemMeta()} hasSource - showNoSourceClaims={ENABLE_NO_SOURCE_CLAIMS} /> ); diff --git a/ui/redux/actions/app.js b/ui/redux/actions/app.js index 84da06b75..e48419c18 100644 --- a/ui/redux/actions/app.js +++ b/ui/redux/actions/app.js @@ -6,7 +6,6 @@ import * as MODALS from 'constants/modal_types'; import * as SETTINGS from 'constants/settings'; import * as DAEMON_SETTINGS from 'constants/daemon_settings'; import * as SHARED_PREFERENCES from 'constants/shared_preferences'; -import { DOMAIN } from 'config'; import Lbry from 'lbry'; import { doFetchChannelListMine, doFetchCollectionListMine, doCheckPendingClaims } from 'redux/actions/claims'; import { makeSelectClaimForUri, makeSelectClaimIsMine, selectMyChannelClaims } from 'redux/selectors/claims'; @@ -333,8 +332,7 @@ export function doDaemonReady() { analytics.trendingAlgorithmEvent(trendingAlgorithm); } }, - undefined, - DOMAIN + undefined ) ); dispatch({ type: ACTIONS.DAEMON_READY }); diff --git a/ui/redux/actions/user.js b/ui/redux/actions/user.js index 9ff3932e5..9641b8185 100644 --- a/ui/redux/actions/user.js +++ b/ui/redux/actions/user.js @@ -10,7 +10,6 @@ import { selectEmailToVerify, selectPhoneToVerify, selectUserCountryCode, select import { doToast } from 'redux/actions/notifications'; import rewards from 'rewards'; import { Lbryio } from 'lbryinc'; -import { DOMAIN } from 'config'; import { getDefaultLanguage } from 'util/default-languages'; const AUTH_IN_PROGRESS = 'authInProgress'; export let sessionStorageAvailable = false; @@ -55,10 +54,7 @@ export function doInstallNew(appVersion, os = null, firebaseToken = null, callba } Lbry.status().then((status) => { - payload.app_id = - domain && domain !== 'lbry.tv' - ? (domain.replace(/[.]/gi, '') + status.installation_id).slice(0, 66) - : status.installation_id; + payload.app_id = status.installation_id; payload.node_id = status.lbry_id; Lbry.version().then((version) => { payload.daemon_version = version.lbrynet_version; @@ -144,7 +140,7 @@ export function doAuthenticate( }); checkAuthBusy() .then(() => { - return Lbryio.authenticate(DOMAIN, getDefaultLanguage()); + return Lbryio.authenticate(getDefaultLanguage()); }) .then((user) => { if (sessionStorageAvailable) window.sessionStorage.removeItem(AUTH_IN_PROGRESS); diff --git a/ui/util/saved-passwords.js b/ui/util/saved-passwords.js index db71bdd8d..60a0c1e23 100644 --- a/ui/util/saved-passwords.js +++ b/ui/util/saved-passwords.js @@ -1,9 +1,7 @@ -const { DOMAIN } = require('../../config.js'); const AUTH_TOKEN = 'auth_token'; const SAVED_PASSWORD = 'saved_password'; -const DEPRECATED_SAVED_PASSWORD = 'saved-password'; -const domain = - typeof window === 'object' && window.location.hostname.includes('localhost') ? window.location.hostname : DOMAIN; +const domain = 'localhost'; +// typeof window === 'object' && window.location.hostname.includes('localhost') ? window.location.hostname : DOMAIN; const isProduction = process.env.NODE_ENV === 'production'; const maxExpiration = 2147483647; let sessionPassword; @@ -59,7 +57,7 @@ function deleteCookie(name) { } function setSavedPassword(value, saveToDisk) { - return new Promise(resolve => { + return new Promise((resolve) => { const password = value === undefined || value === null ? '' : value; sessionPassword = password; @@ -74,17 +72,17 @@ function setSavedPassword(value, saveToDisk) { } function getSavedPassword() { - return new Promise(resolve => { + return new Promise((resolve) => { if (sessionPassword) { resolve(sessionPassword); } - return getPasswordFromCookie().then(p => resolve(p)); + return getPasswordFromCookie().then((p) => resolve(p)); }); } function getPasswordFromCookie() { - return new Promise(resolve => { + return new Promise((resolve) => { let password; password = getCookie(SAVED_PASSWORD); resolve(password); @@ -92,7 +90,7 @@ function getPasswordFromCookie() { } function deleteSavedPassword() { - return new Promise(resolve => { + return new Promise((resolve) => { deleteCookie(SAVED_PASSWORD); resolve(); }); @@ -107,14 +105,14 @@ function setAuthToken(value) { } function deleteAuthToken() { - return new Promise(resolve => { + return new Promise((resolve) => { deleteCookie(AUTH_TOKEN); resolve(); }); } function doSignOutCleanup() { - return new Promise(resolve => { + return new Promise((resolve) => { deleteAuthToken(); deleteSavedPassword(); resolve(); @@ -129,14 +127,6 @@ function doAuthTokenRefresh() { } } -function doDeprecatedPasswordMigrationMarch2020() { - const savedPassword = getCookie(DEPRECATED_SAVED_PASSWORD); - if (savedPassword) { - deleteCookie(DEPRECATED_SAVED_PASSWORD); - setSavedPassword(savedPassword, true); - } -} - module.exports = { setCookie, getCookie, @@ -150,5 +140,4 @@ module.exports = { deleteAuthToken, doSignOutCleanup, doAuthTokenRefresh, - doDeprecatedPasswordMigrationMarch2020, };