-
Notifications
You must be signed in to change notification settings - Fork 23
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
CEP 6: Add Channel Notifications to conda #19
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You offered several subcommand ideas conda (alerts|motd|notices)
. For the sake of the .condarc
config argument, we should probably avoid any aliasing and just pick one so we can keep consistent terminology throughout.
I vote for alerts
since those are a well-defined concept from the web with understood severity tiers (e.g. bootstrap and tailwindUI).
In generally I think it could be interesting for channels to be able to contain more metadata. For example, if the |
I think another useful thing to specify in this CEP is the expectation that the client should fetch and show notifications before fetching or parsing the repodata.json file. The reason for this is that if the repository is corrupted in some way, it would be nice for admins to quickly put up a notifications.json file explaining why and where to get more information while it is being fixed. Could be similarly useful if a backward incompatible change to the repo format ever needs to be made. A clever web server configuration could serve a special notifications.json file to clients before a certain version in order to notify the user of the compatibility issue. |
There are always “what about…” so I’m all for keeping it simple and then expanding, but trying to think through other common and straightforward use cases that currently would add a lot of value. There are some implementation details on if there would be any parsing of the user agent to only return the “correct” alerts.json to the client, or if the server would throw back everything and let the client figure out what it wants to show. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I like where this is going, and just have some wording advice:
We need to be careful about framing this system as emergency-use only and use a more neutral word to communicate its diverse use cases.
As such I would recommend to (from the list of terms used in this text: "notifications", "alerts", "notices", "messages", "news") to stick to one that is a good compromise between length (because of the use as a subcommand) and neutrality. IMO that's "notices".
Co-authored-by: Ken Odegard <kodegard@anaconda.com>
Co-authored-by: Ken Odegard <kodegard@anaconda.com>
Co-authored-by: Jannis Leidel <jannis@leidel.info>
@LtDan33 you bring up a good point about the number of messages being shown. When writing this I assumed that people may have about 4 or 5 channels in active use (e.g. To remedy this, I suggest we rely on channel priority like you suggested. For example, we could only display the top five channel notifications and instruct our users to read the full output by running I think the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Minor suggestion to use the same header whether a display_notices
notice or if its conda notices
notices. This should also make it easier to identify the notice's channel.
Let's assume a user has 5 channels defined (A-E). Channel A defines 2 critical notices and one info notice, channel B/C both define one info notice, and D/E both define one critical notice. What notices do we prioritize if we show the top 5 notices?
I don't think either of these is better than the other so it's probably best to only display one notice? That way there's no confusion as to what notice would be displayed. We could just include a statement that there are additional notices, and to run |
Co-authored-by: Ken Odegard <kodegard@anaconda.com>
@kenodegard You bring up an interesting point. I would err on the side of sorting by "priority", "channel order". We can play around with this in the initial implementation too. In any case, we should definitely show a message instructing users if there are more unread messages. Something like:
|
@kenodegard Good points. @travishathaway I like the thinking around making it explicit that there is value and a reason to run the command. Wordsmithing aside, I think we should make sure to call out any critical notices that aren't shown. Something like "X notices not shown, including y critical." I'd also make sure we are consistent with the naming throughout around messages/notices/etc and just use one everywhere. Ubiquitous language ftw 😄 |
Hi all, This is a recent video I have made demonstrating what this feature could look like once it is ready: conda_channel_notifications.mp4Looking forward to comments. If you have code specific comments, please take it over to the open PR I have current have for this: conda/conda#11462 |
|
||
up to date, audited 365 packages in 3s | ||
|
||
34 packages are looking for funding |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we need a funding nag, too!
Hi @conda-incubator/steering team, please make sure to review and vote on this CEP, thank you! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(See comments above -- ISO 8601 expiry. Otherwise, looks good to me.)
There were recent changes to this CEP. We have dropped the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Generally approve. Though saw one leftover bit below that might need updating
cep-6.md
Outdated
|
||
## Resolution | ||
|
||
TBD |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this meant to be replaced?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This might be replaced by the voting result, but it's optional, since the governance policy only explicitly mentions documenting the results in the pull request where the vote was conducted.
I would suggest to use the section if there would have been a controversial debate prior or during the vote. In this case I think it's fine to simply remove it when marking the CEP's status as "Accepted". Just my opinion though.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Interesting maybe we should only include this section when it is needed then?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, that's not a bad idea, CEP 1 uses "Some section that may be included if appropriate for the proposal include." so I mostly see this as part of the cleanup process before merging the proposal, in case the CEP author(s) have added it.
Voting resultsThis was a standard, non-timed-out vote.
This vote has reached quorum (15 + 0 = 15 which is at least 60% of 21). It has also passed since it recorded 15 "yes" votes and 0 "no" votes giving 15/15 which is greater than 60% of 15. It should be noted that multiple requests for change were recorded in the pull request about minor implementation details that do not invalidate the previous votes. The author @travishathaway made the requested change. |
This pull request contains a draft CEP for the implementation of a new "Channel Notifications" feature to the
conda
package manager. Please see the CEP itself for more information about the proposal.Please use this pull request as a public forum for discussing the feature proposal as well as suggesting improvements.