Compare commits

..

No commits in common. "master" and "fixesJan20" have entirely different histories.

10 changed files with 73 additions and 69 deletions

View file

@ -1,6 +1,6 @@
The MIT License (MIT) The MIT License (MIT)
Copyright (c) 2017-2020 LBRY Inc. Copyright (c) 2017-2019 LBRY Inc.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish,

View file

@ -16,7 +16,7 @@ import EditPage from '@pages/EditPage';
const App = () => { const App = () => {
return ( return (
<Switch> <Switch>
<Route exact path='/' component={AboutPage} /> <Route exact path='/' component={HomePage} />
<Route exact path='/about' component={AboutPage} /> <Route exact path='/about' component={AboutPage} />
<Route exact path='/tos' component={TosPage} /> <Route exact path='/tos' component={TosPage} />
<Route exact path='/faq' component={FaqPage} /> <Route exact path='/faq' component={FaqPage} />

View file

@ -1,13 +1,32 @@
import React from 'react'; import React from 'react';
import Row from '@components/Row'; import Row from '@components/Row';
import {Link} from 'react-router-dom';
const AboutSpeechDetails = () => { const AboutSpeechDetails = () => {
return ( return (
<div> <div>
<Row> <Row>
<p className={'text--large'}> <p className={'text--large'}>
Spee.ch's journey may be on hold, but LBRY is still on mission. We'd like to thank all of our testers and early adopters for helping us explore this use case. <Link className={'link--primary'} to='/tos'>Terms of Service</Link>
We're really excited about <a className='link--primary' href='https://lbry.tv' target='_blank'>lbry.tv</a> and can't wait to see you over there for a fully featured experience. <br />
<Link className={'link--primary'} to='/faq'>Frequently Asked Questions</Link>
</p>
</Row>
<Row>
<p className={'text--large'}>
Spee.ch is a media-hosting site that reads from and publishes content to the <a className='link--primary' href='https://lbry.com'>LBRY</a> blockchain.
</p>
<p className={'text--large'}>
Spee.ch is a hosting service, but with the added benefit that it stores your content on a decentralized network of computers -- the <a className='link--primary' href='https://lbry.com/get'>LBRY</a> network. This means that your images are stored in multiple locations without a single point of failure.
</p>
</Row>
<Row>
<h3>Contribute</h3>
<p className={'text--large'}>
If you have an idea for your own spee.ch-like site on top of LBRY, fork our <a className='link--primary' href='https://github.com/lbryio/spee.ch'>github repo</a> and go to town!
</p>
<p className={'text--large'}>
If you want to improve spee.ch, join our <a className='link--primary' href='https://chat.lbry.com'>discord channel</a> or solve one of our <a className='link--primary' href='https://github.com/lbryio/spee.ch/issues'>github issues</a>.
</p> </p>
</Row> </Row>
</div> </div>

View file

@ -5,13 +5,14 @@ const AboutSpeechOverview = () => {
return ( return (
<div> <div>
<Row> <Row>
<p className={'text--extra-large'}>Lbry is no longer supporting Spee.ch. However, we're excited to show you <a className='link--primary' href='https://lbry.tv' target='_blank'>lbry.tv</a>!</p> <p className={'text--extra-large'}>Spee.ch is an open-source project. Please contribute to the existing site, or fork it and make your own.</p>
</Row> </Row>
<Row> <Row>
<div className={'text--large'}> <div className={'text--large'}>
<a className='link--primary' target='_blank' href='https://twitter.com/lbry'>TWITTER</a><br/> <a className='link--primary' target='_blank' href='https://twitter.com/spee_ch'>TWITTER</a><br/>
<a className='link--primary' target='_blank' href='https://github.com/lbryio/'>GITHUB</a><br/> <a className='link--primary' target='_blank' href='https://github.com/lbryio/spee.ch'>GITHUB</a><br/>
<a className='link--primary' target='_blank' href='https://discord.gg/YjYbwhS'>DISCORD CHANNEL</a><br/> <a className='link--primary' target='_blank' href='https://discord.gg/YjYbwhS'>DISCORD CHANNEL</a><br/>
<a className='link--primary' target='_blank' href='https://github.com/lbryio/spee.ch/blob/master/README.md'>DOCUMENTATION</a><br/>
</div> </div>
</Row> </Row>
</div> </div>

View file

@ -33,14 +33,14 @@ class NavigationLinks extends React.Component {
const { channelName, showPublish, closedRegistration } = this.props; const { channelName, showPublish, closedRegistration } = this.props;
return ( return (
<div className='navigation-links'> <div className='navigation-links'>
{/*{showPublish && <NavLink*/} {showPublish && <NavLink
{/* className='nav-bar-link link--nav'*/} className='nav-bar-link link--nav'
{/* activeClassName='link--nav-active'*/} activeClassName='link--nav-active'
{/* to='/'*/} to='/'
{/* exact*/} exact
{/*>*/} >
{/* Publish*/} Publish
{/*</NavLink>}*/} </NavLink>}
<NavLink <NavLink
className='nav-bar-link link--nav' className='nav-bar-link link--nav'
activeClassName='link--nav-active' activeClassName='link--nav-active'
@ -48,24 +48,24 @@ class NavigationLinks extends React.Component {
> >
About About
</NavLink> </NavLink>
{/*{ channelName ? (*/} { channelName ? (
{/* <NavBarChannelOptionsDropdown*/} <NavBarChannelOptionsDropdown
{/* channelName={this.props.channelName}*/} channelName={this.props.channelName}
{/* handleSelection={this.handleSelection}*/} handleSelection={this.handleSelection}
{/* defaultSelection={this.props.channelName}*/} defaultSelection={this.props.channelName}
{/* VIEW={VIEW}*/} VIEW={VIEW}
{/* LOGOUT={LOGOUT}*/} LOGOUT={LOGOUT}
{/* />*/} />
{/*) : !closedRegistration && (*/} ) : !closedRegistration && (
{/* <NavLink*/} <NavLink
{/* id='nav-bar-login-link'*/} id='nav-bar-login-link'
{/* className='nav-bar-link link--nav'*/} className='nav-bar-link link--nav'
{/* activeClassName='link--nav-active'*/} activeClassName='link--nav-active'
{/* to='/login'*/} to='/login'
{/* >*/} >
{/* Channel*/} Channel
{/* </NavLink>*/} </NavLink>
{/*)}*/} )}
</div> </div>
); );
} }

View file

@ -7,9 +7,6 @@ class PublishDisabledMessage extends React.Component {
<div className={'publish-disabled-message'}> <div className={'publish-disabled-message'}>
<div className={'message'}> <div className={'message'}>
<p className={'text--secondary'}>Publishing is currently disabled.</p> <p className={'text--secondary'}>Publishing is currently disabled.</p>
<p className={'text--secondary'}>
Try <a className='link--primary' href='https://lbry.tv' target='_blank'>lbry.tv</a>
</p>
<p className={'text--secondary'}>{message}</p> <p className={'text--secondary'}>{message}</p>
</div> </div>
</div> </div>

View file

@ -3,7 +3,7 @@ import ErrorPage from '@pages/ErrorPage';
import ShowAssetLite from '@pages/ShowAssetLite'; import ShowAssetLite from '@pages/ShowAssetLite';
import ShowAssetDetails from '@pages/ShowAssetDetails'; import ShowAssetDetails from '@pages/ShowAssetDetails';
import ShowChannel from '@pages/ShowChannel'; import ShowChannel from '@pages/ShowChannel';
import { withRouter, Redirect } from 'react-router-dom'; import { withRouter } from 'react-router-dom';
import { import {
CHANNEL, CHANNEL,
@ -15,24 +15,15 @@ import {
class ContentPageWrapper extends React.Component { class ContentPageWrapper extends React.Component {
componentDidMount () { componentDidMount () {
const { onHandleShowPageUri, match, homeChannel } = this.props; const { onHandleShowPageUri, match, homeChannel } = this.props;
//onHandleShowPageUri(homeChannel ? { claim: homeChannel } : match.params); onHandleShowPageUri(homeChannel ? { claim: homeChannel } : match.params);
} }
componentWillReceiveProps (nextProps) { componentWillReceiveProps (nextProps) {
if (nextProps.match.params !== this.props.match.params) { if (nextProps.match.params !== this.props.match.params) {
//this.props.onHandleShowPageUri(nextProps.match.params); this.props.onHandleShowPageUri(nextProps.match.params);
} }
} }
render () { render () {
const { error, requestType, match } = this.props; const { error, requestType } = this.props;
const { params } = match;
const { claim, identifier } = params;
if (identifier && claim) {
return <Redirect to={`https://lbry.tv/${identifier}/${claim}`} />;
} else if (identifier) {
// return <Redirect to={`https://lbry.tv/${identifier}/`} />
} else {
return <Redirect to={`https://lbry.tv/${claim}`} />;
}
if (error) { if (error) {
return ( return (
<ErrorPage error={error} /> <ErrorPage error={error} />
@ -40,13 +31,13 @@ class ContentPageWrapper extends React.Component {
} }
switch (requestType) { switch (requestType) {
case CHANNEL: case CHANNEL:
// return <ShowChannel />; return <ShowChannel />;
case ASSET_LITE: case ASSET_LITE:
// return <ShowAssetLite />; return <ShowAssetLite />;
case ASSET_DETAILS: case ASSET_DETAILS:
// return <ShowAssetDetails />; return <ShowAssetDetails />;
case SPECIAL_ASSET: case SPECIAL_ASSET:
// return <ShowChannel />; return <ShowChannel />;
default: default:
return <p>loading...</p>; return <p>loading...</p>;
} }

View file

@ -82,7 +82,6 @@ export default (db, table, sequelize) => ({
}; };
const selectWhere = { const selectWhere = {
...whereClause, ...whereClause,
claim_type: 1,
publisher_id: channelClaimId, publisher_id: channelClaimId,
}; };
return await table return await table
@ -104,7 +103,6 @@ export default (db, table, sequelize) => ({
.findAll({ .findAll({
where: { where: {
name: claimName, name: claimName,
claim_type: 1,
publisher_id: channelClaimId, publisher_id: channelClaimId,
bid_state: { [sequelize.Op.or]: ['Controlling', 'Active', 'Accepted'] }, bid_state: { [sequelize.Op.or]: ['Controlling', 'Active', 'Accepted'] },
}, },
@ -216,7 +214,6 @@ export default (db, table, sequelize) => ({
.findAll({ .findAll({
where: { where: {
name: claimName, name: claimName,
claim_type: 1,
publisher_id: channelId, publisher_id: channelId,
}, },
}) })

View file

@ -64,19 +64,18 @@ const getClaimIdAndServeAsset = (
claimDataValues.outpoint || claimDataValues.outpoint ||
`${claimDataValues.transaction_hash_id}:${claimDataValues.vout}`; `${claimDataValues.transaction_hash_id}:${claimDataValues.vout}`;
logger.debug('Outpoint:', outpoint); logger.debug('Outpoint:', outpoint);
return db.Blocked.isNotBlocked(outpoint) return db.Blocked.isNotBlocked(outpoint).then(() => {
// .then(() => {
// If content was found, is approved, and not blocked - log a view. // If content was found, is approved, and not blocked - log a view.
// if (headers && headers['user-agent'] && /LBRY/.test(headers['user-agent']) === false) { if (headers && headers['user-agent'] && /LBRY/.test(headers['user-agent']) === false) {
// db.Views.create({ db.Views.create({
// time: Date.now(), time: Date.now(),
// isChannel: false, isChannel: false,
// claimId: claimDataValues.claim_id || claimDataValues.claimId, claimId: claimDataValues.claim_id || claimDataValues.claimId,
// publisherId: claimDataValues.publisher_id || claimDataValues.certificateId, publisherId: claimDataValues.publisher_id || claimDataValues.certificateId,
// ip, ip,
// }); });
// } }
// }); });
}) })
.then(() => { .then(() => {
return db.File.findOne({ return db.File.findOne({

View file

@ -2,6 +2,6 @@ module.exports = {
...require('./pages').default, ...require('./pages').default,
...require('./api').default, ...require('./api').default,
...require('./auth').default, ...require('./auth').default,
// ...require('./assets').default, ...require('./assets').default,
...require('./fallback').default, ...require('./fallback').default,
}; };