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

[Story] Draupnir new version notification protection. #31

Open
Gnuxie opened this issue Oct 7, 2024 · 1 comment
Open

[Story] Draupnir new version notification protection. #31

Gnuxie opened this issue Oct 7, 2024 · 1 comment

Comments

@Gnuxie
Copy link
Member

Gnuxie commented Oct 7, 2024

Description

⚠️ This is WIP and I am taking advice on the feasibility of this issue in regards to privacy. We are not going to do this. Please shout if you have concerns however. ⚠️

  • As a Draupnir bot mode moderator or an Appservice mode system admin, I want to know when a new version of Draupnir is available.
  • As a Draupnir developer I want to be able to see the number of Draupnir deployments running each version.

Acceptance Criteria

  • A new protection is enabled by default, the NewVersionNotficiationProtection.
    • This can be turned off in the config, similar to the ServerBanSynchronisationProtection, to avoid it being enabled when starting Draupnir for the first time.
    • The protection sends a request to a configured endpoint with the current version.
    • A request is sent every hour to fetch the new version from the endpoint.
  • A tool exists to receive the request, applies a bloom filter to the sender to remove duplicates.
    • The tool keeps a total number of Draupnir running on each version number.
    • When a request passes through the filter, the related version number total is incremented. No information about the request is persisted.
    • Every hour the tool dumps the total number of Draupnir to a log, which is rotated and aggregated to a weekly average.

Issues

@Gnuxie
Copy link
Member Author

Gnuxie commented Oct 7, 2024

It might be possible to make this opt in, by sending a message when the protection starts asking for consent and informing them of everything.

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