Subscriptions #811
No reviewers
Labels
No labels
accessibility
app-parity
area: creator
area: daemon
area: design
area: devops
area: discovery
area: docs
area: installer
area: internal
area: livestream
area: performance
area: proposal
area: reposts
area: rewards
area: search
area: security
area: subscriptions
area: sync
area: ux
area: viewer
area: wallet
BEAMER
channel
comments
community PR
consider soon
core team
css
dependencies
electron
Epic
feature request
first-timers-only
good first issue
hacktoberfest
help wanted
hub-dependent
icebox
Invalid
level: 0
level: 1
level: 2
level: 3
level: 4
merge when green
needs: exploration
needs: grooming
needs: priority
needs: repro
needs: tech design
notifications
odysee
on hold
playlists
priority: blocker
priority: high
priority: low
priority: medium
protocol dependent
recsys
redesign
regression
resilience
sdk dependent
Tom's Wishlist
trending
type: bug
type: discussion
type: improvement
type: new feature
type: refactor
type: task
type: testing
unplanned
windows
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: LBRYCommunity/lbry-desktop#811
Loading…
Add table
Reference in a new issue
No description provided.
Delete branch "subscriptions"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
There are a few notable issues (mostly dealing with the
FeaturedCategory
component), and it could be presented much nicer as subscriptions are being loaded. I think we should try to get this in now, to try and catch any major bugs. I will continue to clean it up and improve the styling over the next couple days and fix any major bugs we find during RC testing.Notable issues:
Subscriptions don't load when refreshing the page(hacked together a fix, we will need to rework the initial load to wait for the rehydrate action)
Can't subscribe to pages with no content
Can only view the first 10 files per channel on the subscriptions page (this should be easy to fix)
The actual saving of subscriptions seems to work pretty well though
I wasn't seeing
Flow
catch state errors when I moved all of the types intotypes/subscriptions.js
, but it is working if kept in the reducer file.Needs more exploring.
interesting :/
what are the cases in which this would be false?
If someone posts an anonymous video. It might be fine with just the
!!channel
check. If there is nochannelName
there will be nochannelClaimId
(i think?)no flow on this page?
whoops. I added the types, but just forgot to re-add the flow comment
@kauffj any problems with only checking for
channelName
?FWIW, that is what I would do ^
small nitpick, does anyone else agree that this spacing is too much between the Home / Subscriptions menu and Trending?
I checked all the scenarios I could think of-- everything worked beautifully. I think maybe there could be some discussion around the optimal subscription button placement within the file page but for now this is good.
I left one comment about styling that we can talk about / fix if possible. Otherwise, nbd.
Approving...
@liamcardenas agreed. dropped it down to 24px
the
modifier
prop wasn't being used anywhereMostly small stuff
I'm torn as to whether this should be two separate buttons in the header, or one button and the "Home" page should remember your preference between Discover and Subscriptions. Inclined to think the latter is better.
Wrap these labels in
__
When this button is labeled "Subscribe", let's give it the same icon used elsewhere to indicate subscriptions.
When it is labeled unsubscribe, make it
alt
rather than primary.Also, what do you think about including this in
<FileActions>
?The repetition of this code across
ChannelPage
andFilePage
looks like a pretty significant DRY violation.Any reason this can't just be
<SubscriptionButton uri={uri} />
and then the rest of the logic lives shared inside of the component?I'm okay shipping it like this, but this could be an example where the empty vs. undefined is a useful distinction. If the subscription array starts undefined, then we can differentiate between never fetched (undefined) and fetched but empty (empty array).
const someClaimsNotLoaded = Boolean(subscriptions.find(subscription => subscription.claims.length))
This could conceivably be moved into the/a selector. I get the impression that most data wrangling should happen inside of Redux rather than React.
Probably should be
doChannelSubscribe
anddoChannelUnsubscribe
to match existing conventionsLet's commit to naming this "Discover"
@ -51,2 +51,4 @@
}
}
&.sub-header--full-width {
I have some non-blocking concerns about this, but will wait to discuss them on a meeting.
@ -55,3 +63,4 @@
@keyframes activeTab {
from {width: 0;}
to {width: 100%;}
There appear to be two binary files below that shouldn't have been committed.
👍 always forget about Array.find
@kauffj We can probably move the subscribe button inside
FileActions
, I think we should keep it as is for now just to get it in