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

Implement Endorsement Count for Plugins #7

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

Kouzukii
Copy link

@Kouzukii Kouzukii commented Sep 18, 2023

As suggested on Discord, I'd like to add a simple endorsements system to Dalamud to positively reinforce plugin development and enable users to leave positive feedback without having to write a message through the "Leave Feedback" system.

Included in this PR:

  • Endorsement Count is included in the PluginMaster
  • New POST action to increment endorsement count for a plugin
  • Rate limiting to 10 requests per minute per IP per XLWebServices server

Relevant pull requests:

@goaaats
Copy link
Member

goaaats commented Sep 18, 2023

Some thoughts, if we do want this:

  • I think rate-limiting on the server is a must. 10 endorsements per minute or so, maybe by hashing the IP?
  • It would be awesome to have a sort of time series of endorsements that is flushed into the database for each plugin as a daily job. We could use this for download counts as well and then draw graphs.

@Kouzukii
Copy link
Author

Kouzukii commented Sep 18, 2023

  • I think rate-limiting on the server is a must. 10 endorsements per minute or so.

Per IP or per plugin?

  • It would be awesome to have a sort of time series of endorsements that is flushed into the database for each plugin as a daily job. We could use this for download counts as well and then draw graphs.

We could implement this through a redis hash with the day as a secondary key.
To speed up the PluginMaster read we could continue to use the simple counter for the total count.

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

Successfully merging this pull request may close these issues.

2 participants