Joystream / orion

Atlas backend
GNU General Public License v3.0
7 stars 15 forks source link

Orion Dev Epic: Member and Channel Notifications #126

Open dmtrjsg opened 1 year ago

dmtrjsg commented 1 year ago

Context

Scope

Out of scope ⛔

List of events to cover

Channel events

Content moderation and featuring

Engagement

Ypp

NFTs Auctions

Payouts

Member events

Generic:

Engagement

Followed channels

NFT

Own channel related:

Payouts:

drillprop commented 1 year ago

List of events to cover

Channel events

Content moderation and featuring

  • [ ] Your channel is excluded from App
  • [ ] Your video is excluded from App
  • [ ] Your video was featured on the category page
  • [ ] Your NFT is featured on the Marketplace

Should we also support notifications for featuring video hero(the one that was on the homepage in the past)? We removed the video hero some time ago from atlas, but the logic for it is still available(setVideoHero mutation)

NFTs Auctions

  • [ ] NFT purchased (for seller)
  • [ ] NFT bid received (for auction creator)
  • [ ] NFT timed auction expired (for the auction creator)

Payouts

  • [ ] Channel received direct payment (via member remark)
  • [ ] Channel received transfer from WG
  • [ ] New payout is claimable from Council Payout proposal
  • [ ] Funds withdrawn from channel account (to member ACC)

notification about receiving royalty from NFT that you minted would be nice(the balance goes to the channels, so it's channel related).

Question - should we actually support reactions and follows? I don't think for example youtube notifies users about how many likes or follows they receive. On atlas, currently, there are not a lot of reactions, but in the future, this could be a lot of events if certain video/channel become popular

Besides that looks good.

dmtrjsg commented 1 year ago
  1. Featuring video hero is a good idea "Your video is featured as the [category_title] category hero video." ✅
  2. Same with Your NFT was featured on the marketplace "Your NFT [NFT_titile] is featured on the Marketplace." ✅
  3. Yes, indeed, let's add Royalties "You received royalties for [NFT_title]." ✅
  4. Channel followers, reactions to videos -> Probably an overkill you are right, great thinking, let's exclude. ⛔

cc @ignazio-bovo @KubaMikolajczyk

dmtrjsg commented 1 year ago

@ignazio-bovo discussed again and decided to include channel followers and reactions to videos 😇 ✅ cc @drillprop

ignazio-bovo commented 1 year ago

Just to point out that not all notifications listed have already handler/resolver implemented yet, is their implementation part of this scope yet? @dmtrjsg

dmtrjsg commented 1 year ago

is their implementation part of this scope yet

Are you asking if the above is the full scope of events? - I'd say so.

@KubaMikolajczyk is including them to designs so my expectation is that Atlas team will handle them just as designed when backend is ready. cc @attemka

ignazio-bovo commented 1 year ago

what I mean is that for example if there's no markChannelAsVerified mutation in the first place there cannot be any notification deposit. What I am asking is: in case of any of the above notifications miss handlers/resolvers needed to trigger them should I implement them in the scope of this sprint?

dmtrjsg commented 1 year ago

@ignazio-bovo Yes that makes sense @ignazio-bovo thank you for asking. The only one we are removing is the password updated notification 👍

dmtrjsg commented 1 year ago

MM

Agreed timeline:

User accounts need to be merged to Orion v3

V0 (dev) - support notification preferences for Atlas Draft PR is opened and it contains this part >

v1. - circa 2 weeks from now

@ignazio-bovo to share the list of notiffs

v1.1 - circa 2 more weeks

V1.2 - timeline unclear as this one is tricky

v1.3


ignazio-bovo commented 1 year ago
  • [ ] Channel received transfer from WG
  • [ ] New payout is claimable from Council Payout proposal

See https://github.com/Joystream/orion/issues/155 it contains a section with mappings that are already implemented, and the one that needs to be implemented (in v2) It contains also a status on the template generation