These are recommendations for pull requests.
They are strictly guidelines to help manage expectations.
PR preparation
Run make pr-prep from the root of the repository to run formatting, linting and tests.
Should this be an issue instead
[ ] is it a convenience method? (no new functionality, streamlines some use case)
[ ] exposes a previously private type, const, method, etc.
[ ] is it application specific (caching, retry logic, rate limiting, etc)
[ ] is it performance related.
API changes
Since API changes have to be maintained they undergo a more detailed review and are more likely to require changes.
no tests, if you're adding to the API include at least a single test of the happy case.
If you can accomplish your goal without changing the API, then do so.
dependency changes. updates are okay. adding/removing need justification.
Examples of API changes that do not meet guidelines:
in library cache for users. caches are use case specific.
Convenience methods for Sending Messages, update, post, ephemeral, etc. consider opening an issue instead.
Change points
Added an endpoint member to SocketMode Client
Added an socketmode.OptionAPIURL function
Motivation
I'm creating an application that acts as a server for a Slack App.
To do that, we need to point the Endpoint accessed from slack-go/slack away from https://api.slack.com.
The slack client provided a way to change the Endpoint URL, while the socketmode client did not. I also found the URL hardcoded in the openAndDial function.
This PR prepares the same OptionAPIURL for socketmode client as for slack client.
I would like opinions on whether this change should go into slack-go/slack.
I figured out that the websocket URL is taken from the result of the apps.connections.open API request and the endpoint of the websocket module is irrelevant.
Pull Request Guidelines
These are recommendations for pull requests. They are strictly guidelines to help manage expectations.
PR preparation
Run
make pr-prep
from the root of the repository to run formatting, linting and tests.Should this be an issue instead
API changes
Since API changes have to be maintained they undergo a more detailed review and are more likely to require changes.
Examples of API changes that do not meet guidelines:
Change points
endpoint
member to SocketMode Clientsocketmode.OptionAPIURL
functionMotivation
I'm creating an application that acts as a server for a Slack App. To do that, we need to point the Endpoint accessed from slack-go/slack away from
https://api.slack.com
.The slack client provided a way to change the Endpoint URL, while the socketmode client did not. I also found the URL hardcoded in the
openAndDial
function. This PR prepares the sameOptionAPIURL
for socketmode client as for slack client.I would like opinions on whether this change should go into slack-go/slack.