Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Orion Notification system tracking #155

Closed
ignazio-bovo opened this issue Jul 6, 2023 · 1 comment
Closed

Orion Notification system tracking #155

ignazio-bovo opened this issue Jul 6, 2023 · 1 comment

Comments

@ignazio-bovo
Copy link
Contributor

ignazio-bovo commented Jul 6, 2023

Scope of this document

  • synch Atlas team about Orion timeline
  • provide approx. ETA for completion
  • sync with Pioneer about how to go about implementing template emails
  • detail features and bugfixes in the 3.1.0 release

Release spec

  • runtime event version supported: [1000, 1001, 2001]
  • orion release semver: 3.1.0

Augment api with new resolvers / mappings

New mappings / Resolvers IN SCOPE for this relaease

  • 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
  • Channel verified

Mappings / resolvers OUT OF SCOPE

  • NFT timed auction expired (for winner) (without direct event deposit)
  • NFT timed auction expired (for loser) (without direct event deposit)
  • NFT auction bid amount unlocked (without direct event deposit)
  • Channel received transfer from WG
  • New payout is claimable from Council Payout proposal

Complete list of notifications added in scope for v1

Channel

  • Channel excluded from App
  • Video is excluded from App
  • Video featured as Hero
  • Video featured on Category page
  • NFT is featured on the Marketplace
  • New Channel follower
  • Comment Posted To Video
  • Video Liked
  • Video Disliked
  • YPP Channel verified
  • YPP Channel suspended
  • NFT purchased
  • NFT bid received (for auction creator)
  • NFT royalty payment received
  • Channel received direct payment (via member remark)
  • Funds withdrawn from channel account (to member acc)

Member

  • Channel created
  • Someone replied to your comment
  • Someone reacted to your comment
  • Posted new video
  • Followed channel put a new nft on auction
  • Followed channel put a new nft on sale
  • NFT bid outbid (someone places a higher bid than your own)
  • NFT open auction bid won
  • NFT open auction bid lost
@ignazio-bovo ignazio-bovo changed the title Orion Notification System implementation Tracking Orion 3.1.0 tracking Jul 6, 2023
@ignazio-bovo ignazio-bovo changed the title Orion 3.1.0 tracking Orion Notification system tracking Jul 6, 2023
@ignazio-bovo
Copy link
Contributor Author

ignazio-bovo commented Aug 7, 2023

ChangeLog

  • add CI checks for running make migrate
  • add patch for the following npm packages:
    • @subsquid/graphql-server needed for correct response status code after failed authentication
  • Added to hidden entities, (as they should be visible by the operator only
    • notification
    • channel_verification
    • channel_suspension
    • exclusion
  • notificationPreferences added to account entities
  • notifications: [Notifications!]! one to many relation added to the account (owning)
  • Channel.isVerified: bool! added to keep track of ypp verified channels
  • ChannelVerification entity added
  • Channel.isSuspended: bool! added to keep track of ypp verified channels
  • ChannelSuspension entity added
  • Old Notification entity has been superseded by new Notification entity with enriched schema to keep track of delivery (in-app or email), status (read / unread), recipient (whether member or creator) account (in a one to many relation)
  • The following runtime events type have been created:
    • ChannelCreatedEventData
    • CommentReactionEventData
    • VideoCreatedEventData
    • NftOfferedEventData
    • VideoReactionEventData
  • Exclusion entity to keep track of excluded video/channels (videoId === null considered as channel exclusion)
  • Added template generation via mjml for a nicely-formatted email
  • handlers updated with notification deposit: (see above)
  • resolvers updated with notification deposit: (see above)
  • Resolvers added:
    • markNotificationsAsRead
    • setAccountNotificationsPreferences
  • utils/notifications folder added with link and text generation for each notification type.
  • RootDomain config variable and resolver in order to set it has been added. this is used to construct page link reference for notifications
  • Minor adjustment to utils/global.ts in order to avoid error when running test (probably due to running in a different shell than bash)
  • minor refactor to sendMail function in utils/mail.ts
  • getNextEntityId helper added with pessimistic_write lock
  • Exclusion, Notification, Suspension will be exported in future migrations
  • Migration logic from 3.0.0 to 3.1.0 have been added

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant