Open tibbe opened 10 years ago
I'd say this is quite high priority as otherwise there's a big risk that the changes don't get merged upstream and we have to continually fix all released versions. In addition, having the author be aware can prevent confusion when debugging issues with their packages.
to reduce email spamming (I tend to batch-edit packages; if you add a stricter constraint, you often have to fixup previous releases as well), changes should be sent out summarised, at most once every 15 minutes or so...
also, @dcoutts mentioned, this notifications should be explicitly opted in by package authors
We changed our minds and want opt-out for notifications, right?
It might also be useful to say something about the revising user e.g., "JohanTibell (maintainer)", AdamBergmark (trustee)" so it's clear why the user has permission to create a new revision.
As a package maintainer, I want these notifications. If a trustee changes one of my packages on Hackage, I want to know. I also want these notifications to be opt-out rather than opt-in. Having these notifications could have prevented (or at least ameliorated) a recent dust-up regarding package revisions: https://www.reddit.com/r/haskell/comments/67u8he/stackages_norevisions_experimental_field/dgtoz9o/?context=4
A somewhat related issue was filed by @eborden here. I'd really like to see this implemented, as I'd hope this would result in more appreciation for the large amount of work Hackage Trustees are investing to help package maintainers keep the Hackage ecosystem in a healthy state, which is essential for providing a good user experience to both veterans (who need to be able to rely on Hackage & Cabal to "just work" to get work done and make productive use of Haskell) as well as newcomers (which would otherwise be discouraged before even having written the first line of Haskell) without having to rely on external 3rd-party systems.
I think for this long-standing feature-request to make progress we need to come up with an implementable specification. The email-based approach still seems to me to be the most reasonable to implement at this point (automatically filing issues or even PRs on GitHub/GitLab/DarcsHub/whatever etc would be require much more effort in terms of complexity as well as risking being in conflict with the respective terms of uses regarding spam/bot-use)
OTTOMH, Here's a non-exhaustive list of questions/choices in the design space we should try to get a handle on:
Who shall get the notification?
What information shall the email notification look like/contain?
.patch
(against previous revision or against 0th revision?) or final .cabal
?When to notify?
My opinions:
branch in progress at https://github.com/gbaz/hackage-server/tree/user-notify
Finally finished off a basic PR on this. Needs a pref setting, and could be more featureful, but its a start.
We have this now:
So what needs to be done for this? I think it might be best to close this and make a new issue with concrete requirements. Because this is so old I can't figure out whether it's complete or not.
Whenever the .cabal file gets edited on Hackage we should email all maintainers (except perhaps the maintainer that made the change). This will make post-facto edits more transparent and gives us an opportunity to encourage authors to incorporate the changes upstream, so they're part of the next release.