Peertube: Add user subscriptions

Created on 4 Apr 2018  路  15Comments  路  Source: Chocobozzz/PeerTube

Add ability for a user to subscribe to an instance, channel or a user.

He would have a personal videos view (like a Mastodon feed for example).


As a user

  • subscription-related:

    • [x] I expect a subscription page to exist
    • [x] I expect to be able to subscribe to a ~user~/channel while watching their video
    • [x] I expect to be able to unsubscribe to a ~user~/channel while watching their video
  • viewing-related:

    • [X] I expect to be able to see videos from all my subscriptions (user/channel/instance) at once
    • [ ] ~I expect to be able to see videos just from my user subscriptions~
    • [X] I expect to be able to see videos just from my channel subscriptions

As an admin

  • [ ] I expect to be able to unsubscribe to an instance while watching their video (the same mechanism doesn't exist for subscription as the discovery of instances is a manual process)
Type

All 15 comments

Right now not only is there no way to subscribe to a user, there's no way to view videos by a user/channel/instance without search. I'm already feeling the pain from this one. I guess for this we would need a subscriptions page, a subscribe to user, subscribe to channel, and subscribe to instance button when viewing a video. I would also like to see a channel page, a user page, and possibly an instance page which would basically be shortcuts to the search functionality.

When I click view subscriptions it could then do a search for videos by that username. I noticed that the existing search already can look for a username. I can also search for an instance. When I have an @ sign in the search though the search breaks. I think for a first implementation even just having it track usernames would be nice. I'll need to read some of the existing code to see how users/instances/channels are being tracked now.

I'm going to work on this, but don't be afraid to work over me because I'm less experienced with angular. Just let me know if / when you're starting this so I can stop. Here are my user stories in order that I intend to do them. When we get user pages I'll also add a subscribe button there.

Minimum Requirements

As a user

  • [ ] I expect a subscription page to exist
  • [ ] I expect to be able to see videos from all my subscriptions (user/channel/instance) at once
  • [ ] I expect to be able to subscribe to a user while watching their video
  • [ ] I expect to be able to unsubscribe to a user while watching their video
  • [ ] I expect to be able to see videos just from my user subscriptions
  • [ ] I expect to be able to subscribe to a channel while watching their video
  • [ ] I expect to be able to unsubscribe to a channel while watching their video
  • [ ] I expect to be able to see videos just from my channel subscriptions
  • [ ] I expect to be able to subscribe to an instance while watching their video
  • [ ] I expect to be able to unsubscribe to an instance while watching their video
  • [ ] I expect to be able to see videos just from my instance subscriptions

This is clearly not a good first issue! :) Thanks for the stories, I planned to implement this at the beginning of summer but if you want to try go for it!

hahaha well I'm decent at javascript and I do full stack .net development at work. 99% of my motivation is wanting to see this in the product but yes I'll let you know if I give up. I should at the very least be able to get this very close to completion but I may need advice along the way. I'll keep you posted.

I would suggest the 'follow instance' button to be present on every page, not just on videos.

I'm going to do the absolute minimum viable implementation to use this feature and then we can talk about other things we need. Its likely once it's done that a lot of necessary things to be added will become obvious. Thanks for the suggestion though and I'll keep it in mind once I'm completed with this.

As a small update, I've not been able to put in much time yet because I've had family obligations, I worked on adding the views. I'll be working on this tonight and I might need some guidance on setting up my machine to actually host and run peertube so that I can test. I was able to get dependencies installed last night and now it's a matter of getting everything set up.

Okay I am finally in a place where I can build. I'm using hyper-v for development and I needed to use the fix at.
https://stackoverflow.com/questions/34662574/node-js-getting-error-nodemon-internal-watch-failed-watch-enospc I think because of the dynamic ram allocation.

Either way, I'm back on track now it runs (Fedora) and everything works great.

@voronoipotato don't hesitate to drop by the IRC channel to ask for advice/support.

Alright, I've been focusing on the obvious things so far, so that means adding my Model and my View. It's been somewhat self-explanatory but I'll likely hop on tonight to ask some questions.

I don't have the time available that I thought I would have. Someone else should take this on.

I see several people on Mastodon thinking that this feature is crucial, considering that many users will expect a Youtube-like experience. So I was just wondering what is its priority in the todo-list.

@benrob0329 See first post.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

JohnXLivingston picture JohnXLivingston  路  3Comments

filmaidykai picture filmaidykai  路  3Comments

sschueller picture sschueller  路  3Comments

zilti picture zilti  路  3Comments

ufm picture ufm  路  3Comments