From 0b84c00acd245c733db9e8c2b85f2f7b162591a5 Mon Sep 17 00:00:00 2001 From: Sean Yesmunt Date: Wed, 22 Aug 2018 12:40:44 -0400 Subject: [PATCH 01/12] fix: show email after refreshing the app --- src/renderer/redux/actions/app.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/renderer/redux/actions/app.js b/src/renderer/redux/actions/app.js index 63930954d..7b6e2cc31 100644 --- a/src/renderer/redux/actions/app.js +++ b/src/renderer/redux/actions/app.js @@ -28,6 +28,7 @@ import { selectRemoteVersion, selectUpgradeTimer, } from 'redux/selectors/app'; +import { doAuthenticate } from 'redux/actions/user'; import { lbrySettings as config } from 'package.json'; const { autoUpdater } = remote.require('electron-updater'); @@ -336,6 +337,7 @@ export function doDaemonReady() { return (dispatch, getState) => { const state = getState(); + dispatch(doAuthenticate()); dispatch({ type: ACTIONS.DAEMON_READY }); dispatch(doFetchDaemonSettings()); dispatch(doBalanceSubscribe()); From 8eb07634cb2038c633c22f3328fbbe2e87f1b57b Mon Sep 17 00:00:00 2001 From: seanyesmunt Date: Wed, 22 Aug 2018 13:17:11 -0400 Subject: [PATCH 02/12] record file view when clicking the download button --- .flowconfig | 1 + src/renderer/component/fileDownloadLink/index.js | 7 ++++++- src/renderer/component/fileDownloadLink/view.jsx | 10 ++++++++++ 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/.flowconfig b/.flowconfig index 1eaa4969e..c2bb89028 100644 --- a/.flowconfig +++ b/.flowconfig @@ -21,5 +21,6 @@ module.name_mapper='^rewards\(.*\)$' -> '/src/renderer/rewards\1' module.name_mapper='^modal\(.*\)$' -> '/src/renderer/modal\1' module.name_mapper='^app\(.*\)$' -> '/src/renderer/app\1' module.name_mapper='^native\(.*\)$' -> '/src/renderer/native\1' +module.name_mapper='^analytics\(.*\)$' -> '/src/renderer/analytics\1' [strict] diff --git a/src/renderer/component/fileDownloadLink/index.js b/src/renderer/component/fileDownloadLink/index.js index 22f4f0a3f..23ed6b3f7 100644 --- a/src/renderer/component/fileDownloadLink/index.js +++ b/src/renderer/component/fileDownloadLink/index.js @@ -4,6 +4,7 @@ import { makeSelectDownloadingForUri, makeSelectLoadingForUri, makeSelectCostInfoForUri, + makeSelectClaimForUri, } from 'lbry-redux'; import { doOpenFileInShell } from 'redux/actions/file'; import { doPurchaseUri, doStartDownload } from 'redux/actions/content'; @@ -16,6 +17,7 @@ const select = (state, props) => ({ downloading: makeSelectDownloadingForUri(props.uri)(state), costInfo: makeSelectCostInfoForUri(props.uri)(state), loading: makeSelectLoadingForUri(props.uri)(state), + claim: makeSelectClaimForUri(props.uri)(state), }); const perform = dispatch => ({ @@ -25,4 +27,7 @@ const perform = dispatch => ({ doPause: () => dispatch(doPause()), }); -export default connect(select, perform)(FileDownloadLink); +export default connect( + select, + perform +)(FileDownloadLink); diff --git a/src/renderer/component/fileDownloadLink/view.jsx b/src/renderer/component/fileDownloadLink/view.jsx index ccc0f2ba7..bcb352eb2 100644 --- a/src/renderer/component/fileDownloadLink/view.jsx +++ b/src/renderer/component/fileDownloadLink/view.jsx @@ -3,8 +3,11 @@ import React from 'react'; import Button from 'component/button'; import * as icons from 'constants/icons'; import ToolTip from 'component/common/tooltip'; +import analytics from 'analytics'; +import type { Claim } from 'types/claim'; type Props = { + claim: Claim, uri: string, downloading: boolean, fileInfo: ?{ @@ -48,6 +51,7 @@ class FileDownloadLink extends React.PureComponent { costInfo, loading, doPause, + claim, } = this.props; const openFile = () => { @@ -80,6 +84,12 @@ class FileDownloadLink extends React.PureComponent { iconColor="green" onClick={() => { purchaseUri(uri); + + const { name, claim_id: claimId, nout, txid } = claim; + // // ideally outpoint would exist inside of claim information + // // we can use it after https://github.com/lbryio/lbry/issues/1306 is addressed + const outpoint = `${txid}:${nout}`; + analytics.apiLogView(`${name}#${claimId}`, outpoint, claimId); }} /> From 99afa88a36a42d3e2f2ec159adf343a980688fd9 Mon Sep 17 00:00:00 2001 From: seanyesmunt Date: Wed, 22 Aug 2018 15:54:52 -0400 Subject: [PATCH 03/12] don't record file twice if user clicked 'download' before 'play' --- src/renderer/component/fileViewer/internal/player.jsx | 1 + src/renderer/component/fileViewer/view.jsx | 7 ++++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/renderer/component/fileViewer/internal/player.jsx b/src/renderer/component/fileViewer/internal/player.jsx index 8d3bf07b9..d76d0bcaf 100644 --- a/src/renderer/component/fileViewer/internal/player.jsx +++ b/src/renderer/component/fileViewer/internal/player.jsx @@ -46,6 +46,7 @@ class MediaPlayer extends React.PureComponent { const loadedMetadata = () => { this.setState({ hasMetadata: true, startedPlaying: true }); + if (startedPlayingCb) { startedPlayingCb(); } diff --git a/src/renderer/component/fileViewer/view.jsx b/src/renderer/component/fileViewer/view.jsx index 57cab3463..aed32f07c 100644 --- a/src/renderer/component/fileViewer/view.jsx +++ b/src/renderer/component/fileViewer/view.jsx @@ -146,7 +146,12 @@ class FileViewer extends React.PureComponent { } playContent() { - const { play, uri } = this.props; + const { play, uri, fileInfo, isDownloading, isLoading } = this.props; + + if (fileInfo || isDownloading || isLoading) { + // User may have pressed download before clicking play + this.startedPlayingCb = null; + } if (this.startedPlayingCb) { this.startTime = Date.now(); From 288e47aad812cf6e93d4f4884646e919ad73e6ee Mon Sep 17 00:00:00 2001 From: seanyesmunt Date: Thu, 23 Aug 2018 00:37:26 -0400 Subject: [PATCH 04/12] fix: sorting on subscriptions with multiple claims in same block --- src/renderer/component/fileList/view.jsx | 33 ++++++++---------------- src/renderer/types/file_info.js | 19 ++++++++++++++ 2 files changed, 30 insertions(+), 22 deletions(-) create mode 100644 src/renderer/types/file_info.js diff --git a/src/renderer/component/fileList/view.jsx b/src/renderer/component/fileList/view.jsx index c071e6c31..9ab572663 100644 --- a/src/renderer/component/fileList/view.jsx +++ b/src/renderer/component/fileList/view.jsx @@ -3,23 +3,7 @@ import * as React from 'react'; import { buildURI } from 'lbry-redux'; import { FormField } from 'component/common/form'; import FileCard from 'component/fileCard'; - -type FileInfo = { - name: string, - channelName: ?string, - pending?: boolean, - channel_claim_id: string, - value?: { - publisherSignature: { - certificateId: string, - }, - }, - metadata: { - publisherSignature: { - certificateId: string, - }, - }, -}; +import type { FileInfo } from 'types/file_info'; type Props = { hideFilter: boolean, @@ -50,7 +34,7 @@ class FileList extends React.PureComponent { this.sortFunctions = { dateNew: fileInfos => this.props.sortByHeight - ? fileInfos.slice().sort((fileInfo1, fileInfo2) => { + ? fileInfos.sort((fileInfo1, fileInfo2) => { if (fileInfo1.pending) { return -1; } @@ -60,11 +44,16 @@ class FileList extends React.PureComponent { const height2 = this.props.claimsById[fileInfo2.claim_id] ? this.props.claimsById[fileInfo2.claim_id].height : 0; - if (height1 > height2) { - return -1; - } else if (height1 < height2) { - return 1; + + if (height1 !== height2) { + // flipped because heigher block height is newer + return height2 - height1; } + + if (fileInfo1.absolute_channel_position && fileInfo2.absolute_channel_position) { + return fileInfo1.absolute_channel_position - fileInfo2.absolute_channel_position; + } + return 0; }) : [...fileInfos].reverse(), diff --git a/src/renderer/types/file_info.js b/src/renderer/types/file_info.js new file mode 100644 index 000000000..82a9d90b4 --- /dev/null +++ b/src/renderer/types/file_info.js @@ -0,0 +1,19 @@ +// @flow + +export type FileInfo = { + absolute_channel_position: ?number, + name: string, + channelName: ?string, + pending?: boolean, + channel_claim_id: string, + value?: { + publisherSignature: { + certificateId: string, + }, + }, + metadata: { + publisherSignature: { + certificateId: string, + }, + }, +}; From f8f7a587226ec03df991b9c68ec76d09a58d37d0 Mon Sep 17 00:00:00 2001 From: Thomas Zarebczan Date: Fri, 24 Aug 2018 09:36:14 -0400 Subject: [PATCH 05/12] changelog updates this is on the release-0.25.0 branch --- CHANGELOG.md | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0ed4a49eb..a5b8f113e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,23 +6,32 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/). ## [Unreleased] ### Added - * Wallet Encryption/Decryption user flows ([#1785](https://github.com/lbryio/lbry-desktop/pull/1785)) - * Add FAQ to Publishing Area ([#1833](https://github.com/lbryio/lbry-desktop/pull/1833)) + * Wallet encryption/decryption user flows in settings ([#1785](https://github.com/lbryio/lbry-desktop/pull/1785)) + * Suggestions for recommended content on file page ([#1845](https://github.com/lbryio/lbry-desktop/pull/1845)) + * Auto download setting for subscriptions ([#1898](https://github.com/lbryio/lbry-desktop/pull/1898)) + * Ability to disable desktop notifications ([#1834](https://github.com/lbryio/lbry-desktop/pull/1834)) * Better preview for content ([#620](https://github.com/lbryio/lbry-desktop/pull/620)) * New markdown and docx viewer ([#1826](https://github.com/lbryio/lbry-desktop/pull/1826)) * New viewer for human-readable text files ([#1826](https://github.com/lbryio/lbry-desktop/pull/1826)) * CSV and JSON viewer ([#1410](https://github.com/lbryio/lbry-desktop/pull/1410)) - * Recommended content on file viewer page ([#1845](https://github.com/lbryio/lbry-desktop/pull/1845)) - * 3D File viewer improvements ([#1870](https://github.com/lbryio/lbry-desktop/pull/1870)) + * 3D File viewer features and performance/memory usage improvements ([#1870](https://github.com/lbryio/lbry-desktop/pull/1870)) * Desktop notification when publish is completed ([#1892](https://github.com/lbryio/lbry-desktop/pull/1892)) + * FAQ to Publishing Area ([#1833](https://github.com/lbryio/lbry-desktop/pull/1833)) ### Changed -* Pass error message from spee.ch API during thumbnail upload ([#1840](https://github.com/lbryio/lbry-desktop/pull/1840)) -* Use router pattern for rendering file viewer ([#1544](https://github.com/lbryio/lbry-desktop/pull/1544)) -* Missing word "to" added to the Bid Help Text (#1854) -* Updated to electron@2 ([#1858](https://github.com/lbryio/lbry-desktop/pull/1858)) + * Upgraded LBRY Protocol to [version 0.21.2](https://github.com/lbryio/lbry/releases/tag/v0.21.2) fixing a download bug. + * Searching now shows results by default, including direct lbry:// URL tile + * Replaced checkboxes with toggles throughout app ([#1834](https://github.com/lbryio/lbry-desktop/pull/1834)) + * Removed price tile when content is Free ([#1845](https://github.com/lbryio/lbry-desktop/pull/1845)) + * Pass error message from spee.ch API during thumbnail upload ([#1840](https://github.com/lbryio/lbry-desktop/pull/1840)) + * Use router pattern for rendering file viewer ([#1544](https://github.com/lbryio/lbry-desktop/pull/1544)) + * Missing word "to" added to the Bid Help Text (#1854) + * Updated to electron@2 ([#1858](https://github.com/lbryio/lbry-desktop/pull/1858)) ### Fixed + * Node id not being passed correctly ([#1895](https://github.com/lbryio/lbry-desktop/pull/1895)) + * Subscription quirks including not loading on startup, sorting, showing new content, and sub blank page ([#1872](https://github.com/lbryio/lbry-desktop/pull/1872)) + * Upgrade on Close button not dismissing properly during automated app update ([#1857](https://github.com/lbryio/lbry-desktop/pull/1857)) ## [0.24.0] - 2018-08-14 From b483e3f0d6d67bd31f7b6d780697934971896d20 Mon Sep 17 00:00:00 2001 From: Sean Yesmunt Date: Fri, 24 Aug 2018 11:12:29 -0400 Subject: [PATCH 06/12] bump lbry-redux --- package.json | 2 +- yarn.lock | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index a7d9e7bfe..4fde8735a 100644 --- a/package.json +++ b/package.json @@ -50,7 +50,7 @@ "formik": "^0.10.4", "hast-util-sanitize": "^1.1.2", "keytar": "^4.2.1", - "lbry-redux": "lbryio/lbry-redux#31f7afa8a37f5741dac01fc1ecdf153f3bed95dc", + "lbry-redux": "lbryio/lbry-redux#ccda4117ee503e30abae355c77d3783a141e9492", "localforage": "^1.7.1", "mammoth": "^1.4.6", "mime": "^2.3.1", diff --git a/yarn.lock b/yarn.lock index 83104ad53..3b366088b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5655,9 +5655,9 @@ lazy-val@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/lazy-val/-/lazy-val-1.0.3.tgz#bb97b200ef00801d94c317e29dc6ed39e31c5edc" -lbry-redux@lbryio/lbry-redux#31f7afa8a37f5741dac01fc1ecdf153f3bed95dc: +lbry-redux@lbryio/lbry-redux#ccda4117ee503e30abae355c77d3783a141e9492: version "0.0.1" - resolved "https://codeload.github.com/lbryio/lbry-redux/tar.gz/31f7afa8a37f5741dac01fc1ecdf153f3bed95dc" + resolved "https://codeload.github.com/lbryio/lbry-redux/tar.gz/ccda4117ee503e30abae355c77d3783a141e9492" dependencies: proxy-polyfill "0.1.6" reselect "^3.0.0" From 2d2c414811e6a3ce3a29e001f6314f9e82625b5f Mon Sep 17 00:00:00 2001 From: seanyesmunt Date: Fri, 24 Aug 2018 17:25:18 -0400 Subject: [PATCH 07/12] use channelTile on top of search page --- src/renderer/component/channelTile/view.jsx | 50 ++++++++++++++++----- src/renderer/page/search/view.jsx | 21 +++++++-- 2 files changed, 56 insertions(+), 15 deletions(-) diff --git a/src/renderer/component/channelTile/view.jsx b/src/renderer/component/channelTile/view.jsx index 531b9fccd..60f7e29b7 100644 --- a/src/renderer/component/channelTile/view.jsx +++ b/src/renderer/component/channelTile/view.jsx @@ -2,16 +2,13 @@ import * as React from 'react'; import CardMedia from 'component/cardMedia'; import TruncatedText from 'component/common/truncated-text'; - -/* - This component can probably be combined with FileTile - Currently the only difference is showing the number of files/empty channel -*/ +import classnames from 'classnames'; type Props = { uri: string, isResolvingUri: boolean, totalItems: number, + size: string, claim: ?{ claim_id: string, name: string, @@ -21,6 +18,10 @@ type Props = { }; class ChannelTile extends React.PureComponent { + static defaultProps = { + size: 'regular', + }; + componentDidMount() { const { uri, resolveUri } = this.props; @@ -36,27 +37,52 @@ class ChannelTile extends React.PureComponent { } render() { - const { claim, navigate, isResolvingUri, totalItems, uri } = this.props; - let channelName, channelId; + const { claim, navigate, isResolvingUri, totalItems, uri, size } = this.props; + let channelName; if (claim) { channelName = claim.name; - channelId = claim.claim_id; } const onClick = () => navigate('/show', { uri }); return ( -
+
- {isResolvingUri &&
{__('Loading...')}
} + {isResolvingUri && ( +
+ {__('Loading...')} +
+ )} {!isResolvingUri && ( -
+
{channelName || uri}
-
+
{totalItems > 0 && ( {totalItems} {totalItems === 1 ? 'file' : 'files'} diff --git a/src/renderer/page/search/view.jsx b/src/renderer/page/search/view.jsx index 4b2497797..d3000a9c9 100644 --- a/src/renderer/page/search/view.jsx +++ b/src/renderer/page/search/view.jsx @@ -1,9 +1,10 @@ // @flow import * as React from 'react'; import * as settings from 'constants/settings'; -import { isURIValid, normalizeURI } from 'lbry-redux'; +import { isURIValid, normalizeURI, parseURI } from 'lbry-redux'; import { FormField, FormRow } from 'component/common/form'; import FileTile from 'component/fileTile'; +import ChannelTile from 'component/channelTile'; import FileListSearch from 'component/fileListSearch'; import Page from 'component/page'; @@ -32,13 +33,27 @@ class SearchPage extends React.PureComponent { render() { const { query, resultCount } = this.props; + + const isValid = isURIValid(query); + + let uri; + let isChannel; + if (isValid) { + uri = normalizeURI(query); + ({ isChannel } = parseURI(uri)); + } + return ( {query && - isURIValid(query) && ( + isValid && (
{`lbry://${query}`}
- + {isChannel ? ( + + ) : ( + + )}
)}
From ae0ef0ff1c220cc9b3bc469b6be1ed7b2d2d1594 Mon Sep 17 00:00:00 2001 From: Sean Yesmunt Date: Sun, 26 Aug 2018 23:18:57 -0400 Subject: [PATCH 08/12] add message for 0 returned results in related content --- src/renderer/component/recommendedContent/index.js | 8 +++++++- src/renderer/component/recommendedContent/view.jsx | 7 +++++-- src/renderer/page/file/view.jsx | 9 +-------- 3 files changed, 13 insertions(+), 11 deletions(-) diff --git a/src/renderer/component/recommendedContent/index.js b/src/renderer/component/recommendedContent/index.js index 166498b6d..36ae3337e 100644 --- a/src/renderer/component/recommendedContent/index.js +++ b/src/renderer/component/recommendedContent/index.js @@ -1,10 +1,16 @@ import { connect } from 'react-redux'; -import { makeSelectClaimForUri, doSearch, makeSelectRecommendedContentForUri } from 'lbry-redux'; +import { + makeSelectClaimForUri, + doSearch, + makeSelectRecommendedContentForUri, + selectIsSearching, +} from 'lbry-redux'; import RecommendedVideos from './view'; const select = (state, props) => ({ claim: makeSelectClaimForUri(props.uri)(state), recommendedContent: makeSelectRecommendedContentForUri(props.uri)(state), + isSearching: selectIsSearching(state), }); const perform = dispatch => ({ diff --git a/src/renderer/component/recommendedContent/view.jsx b/src/renderer/component/recommendedContent/view.jsx index 5248d3859..4a12aecb3 100644 --- a/src/renderer/component/recommendedContent/view.jsx +++ b/src/renderer/component/recommendedContent/view.jsx @@ -7,6 +7,7 @@ type Props = { uri: string, claim: ?Claim, recommendedContent: Array, + isSearching: boolean, search: string => void, }; @@ -46,13 +47,12 @@ export default class RecommendedContent extends React.PureComponent { didSearch: ?boolean; render() { - const { recommendedContent } = this.props; + const { recommendedContent, isSearching } = this.props; return (
Related {recommendedContent && - recommendedContent.length && recommendedContent.map(recommendedUri => ( { uri={recommendedUri} /> ))} + {recommendedContent && + !recommendedContent.length && + !isSearching &&
No related content found
}
); } diff --git a/src/renderer/page/file/view.jsx b/src/renderer/page/file/view.jsx index 6cd38b050..da35a01d1 100644 --- a/src/renderer/page/file/view.jsx +++ b/src/renderer/page/file/view.jsx @@ -160,13 +160,6 @@ class FilePage extends React.Component { editUri = buildURI(uriObject); } - let recommendedUri = uri; - if (!recommendedUri.includes('#')) { - // at a vanity url - // append the claim ID so we can properly strip it out of reccomended videos - recommendedUri = `${recommendedUri}#${claim.claim_id}`; - } - return (
@@ -251,7 +244,7 @@ class FilePage extends React.Component {
- + ); } From 4de7053a13a37ffc1225a01f33a7d0cc183ec49a Mon Sep 17 00:00:00 2001 From: Sean Yesmunt Date: Mon, 27 Aug 2018 14:45:50 -0400 Subject: [PATCH 09/12] add subscribtion button to exact channel match --- src/renderer/component/channelTile/view.jsx | 10 +++++++++- src/renderer/component/subscribeButton/view.jsx | 4 +++- src/renderer/scss/_vars.scss | 1 + src/renderer/scss/component/_search.scss | 2 +- static/themes/dark.css | 1 + 5 files changed, 15 insertions(+), 3 deletions(-) diff --git a/src/renderer/component/channelTile/view.jsx b/src/renderer/component/channelTile/view.jsx index 60f7e29b7..4b3c0f744 100644 --- a/src/renderer/component/channelTile/view.jsx +++ b/src/renderer/component/channelTile/view.jsx @@ -3,6 +3,7 @@ import * as React from 'react'; import CardMedia from 'component/cardMedia'; import TruncatedText from 'component/common/truncated-text'; import classnames from 'classnames'; +import SubscribeButton from 'component/subscribeButton'; type Props = { uri: string, @@ -38,10 +39,12 @@ class ChannelTile extends React.PureComponent { render() { const { claim, navigate, isResolvingUri, totalItems, uri, size } = this.props; - let channelName; + let channelName; + let subscriptionUri; if (claim) { channelName = claim.name; + subscriptionUri = claim.permanent_url; } const onClick = () => navigate('/show', { uri }); @@ -92,6 +95,11 @@ class ChannelTile extends React.PureComponent { )} + {subscriptionUri && ( +
+ +
+ )}
); diff --git a/src/renderer/component/subscribeButton/view.jsx b/src/renderer/component/subscribeButton/view.jsx index a29b8bb4a..4d5727d31 100644 --- a/src/renderer/component/subscribeButton/view.jsx +++ b/src/renderer/component/subscribeButton/view.jsx @@ -41,7 +41,9 @@ export default (props: Props) => { icon={isSubscribed ? undefined : icons.HEART} button="alt" label={subscriptionLabel} - onClick={() => { + onClick={e => { + e.stopPropagation(); + if (!subscriptions.length) { doNotify({ id: MODALS.FIRST_SUBSCRIPTION }); } diff --git a/src/renderer/scss/_vars.scss b/src/renderer/scss/_vars.scss index ce5caddf4..199809230 100644 --- a/src/renderer/scss/_vars.scss +++ b/src/renderer/scss/_vars.scss @@ -137,6 +137,7 @@ $large-breakpoint: 1921px; --search-item-border-color: transparent; --search-item-active-color: var(--color-black); --search-modal-input-height: 70px; + --search-exact-result: #eaeaea; /* Nav */ --nav-color: var(--color-grey-dark); diff --git a/src/renderer/scss/component/_search.scss b/src/renderer/scss/component/_search.scss index fb61a21e5..fbe3f6a3d 100644 --- a/src/renderer/scss/component/_search.scss +++ b/src/renderer/scss/component/_search.scss @@ -87,7 +87,7 @@ .search__top { padding: 0 $spacing-width $spacing-width; - background-color: var(--card-bg); + background-color: var(--search-exact-result); } .search__content { diff --git a/static/themes/dark.css b/static/themes/dark.css index d3ca442c5..fae053d75 100644 --- a/static/themes/dark.css +++ b/static/themes/dark.css @@ -62,6 +62,7 @@ --search-active-bg-color: #13233C; --search-active-shadow: 0 6px 9px -2px var(--color-grey--dark); --search-modal-input-height: 70px; + --search-exact-result: #4C5D77; /* Nav */ --nav-color: #44548F; From ca07d8a99ba3d7ce34cde47b66e3a8cd48b3b4ce Mon Sep 17 00:00:00 2001 From: Sean Yesmunt Date: Mon, 27 Aug 2018 14:47:55 -0400 Subject: [PATCH 10/12] add resolution help tooltip next to url match --- src/renderer/page/search/view.jsx | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/renderer/page/search/view.jsx b/src/renderer/page/search/view.jsx index d3000a9c9..89d8425d7 100644 --- a/src/renderer/page/search/view.jsx +++ b/src/renderer/page/search/view.jsx @@ -7,6 +7,9 @@ import FileTile from 'component/fileTile'; import ChannelTile from 'component/channelTile'; import FileListSearch from 'component/fileListSearch'; import Page from 'component/page'; +import ToolTip from 'component/common/tooltip'; +import Icon from 'component/common/icon'; +import * as icons from 'constants/icons'; type Props = { query: ?string, @@ -48,7 +51,15 @@ class SearchPage extends React.PureComponent { {query && isValid && (
-
{`lbry://${query}`}
+
+ {`lbry://${query}`} + + + +
{isChannel ? ( ) : ( From babeccbf6c7f8f55cd18afb047ddd8d36bfcc793 Mon Sep 17 00:00:00 2001 From: Thomas Zarebczan Date: Mon, 27 Aug 2018 16:36:11 -0400 Subject: [PATCH 11/12] use permanent url instead of uri This ensures that when clicking on the notification, it goes to the correct URL. Before it could have been a different vanity URL. --- src/renderer/redux/actions/publish.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/renderer/redux/actions/publish.js b/src/renderer/redux/actions/publish.js index 1ab5dcab6..65d44dd75 100644 --- a/src/renderer/redux/actions/publish.js +++ b/src/renderer/redux/actions/publish.js @@ -284,7 +284,7 @@ export const doCheckPendingPublishes = () => (dispatch: Dispatch, getState: GetS notif.onclick = () => { dispatch( doNavigate('/show', { - uri: claim.name, + uri: claim.permanent_url, }) ); }; From 857ab8d2077aef848027abc24a618f9c032a7817 Mon Sep 17 00:00:00 2001 From: Sean Yesmunt Date: Mon, 27 Aug 2018 19:01:47 -0400 Subject: [PATCH 12/12] bump lbry-redux --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 4fde8735a..7ca7edcaa 100644 --- a/package.json +++ b/package.json @@ -50,7 +50,7 @@ "formik": "^0.10.4", "hast-util-sanitize": "^1.1.2", "keytar": "^4.2.1", - "lbry-redux": "lbryio/lbry-redux#ccda4117ee503e30abae355c77d3783a141e9492", + "lbry-redux": "lbryio/lbry-redux#feffbe966fc568cef595ab66b314766261e855df", "localforage": "^1.7.1", "mammoth": "^1.4.6", "mime": "^2.3.1",