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

Followers server #1

Closed
19 tasks done
dcadenas opened this issue Aug 6, 2024 · 3 comments
Closed
19 tasks done

Followers server #1

dcadenas opened this issue Aug 6, 2024 · 3 comments
Assignees

Comments

@dcadenas
Copy link
Contributor

dcadenas commented Aug 6, 2024

  • Implement a server that calculates the diff between nostr contact lists (kind 3) and detect follows and unfollows.
  • Connect to notifications server through a google pubsub
  • Ansible playbook
  • Consume follows pubsub from Notification server
  • Follower server tests
  • Switch from test relay to wss://relay.nos.social
  • Use settings.production.yml in ansible
  • Collpase follow events toggled in rapid succession
  • Follower server grafana dashboard and more metrics
  • Add some method to ignore followers from initial follow list never seen before if it's much older than the account creation date (kind 0 can be used for this comparison). It's an heuristic to avoid receiving follow notifications from people that followed you a long time ago
  • Create notifications with counters that include the details in the payload for users with too many followers.
  • Create a backfill for existent contact lists in the relay. We could ignore most old lists though, we'd just have less notifications from older accounts, see previous item - Nice to have, but it would reduce the initial surge of new follower notifications that were in fact following the user a long time ago.
  • Check contact lists with no content that have the Nos tag, ensure a grafana alert is triggered. Context here
  • Move server to production droplet. I ended up pointing followers.nos.social to my dev server, now I need a new dev server!)
  • Add notification server changes to deal with the new localized notifications done in localize follows notification #1446 nos#1483
  • Fix neo4j web dashboard access - Nice to have, specially for future idea, like algorithms (trust network, clustering, community finding, follow recommendations), queries to DB, etc #24
  • Split neo4j db into it's own instance (@gergelypolonkai has something ready for this)
  • Read notification metadata so that tapping on it opens the correct profile (iOS team)
  • Localized notifications as explained here (iOS team, at least partially, some changes on the notifications service too)
@setch-l
Copy link

setch-l commented Sep 11, 2024

@dcadenas - As part of this work are you planning to turn off the unfollow Notifications? I'm still getting them. If so do you need a ticket for this or do you want to add it to the check list above?

@dcadenas
Copy link
Contributor Author

Yes, those will be part of my notification server changes item. I won't send unfollowed info although unfollows will properly be reflected in the db and the app will have that info available if it decides to consume it

@dcadenas dcadenas moved this from In progress to UAT in Nos Product Board Sep 27, 2024
@dcadenas
Copy link
Contributor Author

@setch-l this is still needing a review for the ansible script PR but we are moving away from it so maybe it's only useful as an example and I don't think the epic should be blocked by that. I disabled the feature flags as it's the only real way to test if the notifications server handles the new events well.

It's already live but a UAT pass will be useful anyways, maybe it's a better idea so have some kind of demo like exploration?

@setch-l setch-l closed this as completed Oct 17, 2024
@github-project-automation github-project-automation bot moved this from QA to Done in Nos Product Board Oct 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

No branches or pull requests

2 participants