java-slack-sdk icon indicating copy to clipboard operation
java-slack-sdk copied to clipboard

Enable synchronizing SlackConfig changes to already initialized API clients

Open seratch opened this issue 2 years ago • 0 comments

As mentioned in https://github.com/slackapi/java-slack-sdk/issues/1129

It would be nice if slackConfig.setProxy() would work after the the SlackConfig is initialized. I think it works if the library detects no environment variables and proxyUrl is null. (At least this is what happens in v1.13.0 of the library, but because this version does not try to look at the HTTPS_PROXY and HTTP_PROXY environment variables)

updating the proxy URL in the SlackConfig does not affect the already initialized Slack instances and its API clients such as MethodsClient. This is true not only for the proxy URL setting but also others that can be used for initializing API clients.

To improve this, linking a SlackConfig and all the active API clients that used the SlackConfig for initialization and synchronizing the changes. This should work well for most cases but it can be a minor behavior change. So, if we add this enhancement, perhaps, we should consider a new opt-in option for enabling the behavior change only when it's necessary.

Category (place an x in each of the [ ])

  • [ ] bolt (Bolt for Java)
  • [ ] bolt-{sub modules} (Bolt for Java - optional modules)
  • [x] slack-api-client (Slack API Clients)
  • [ ] slack-api-model (Slack API Data Models)
  • [ ] slack-api-*-kotlin-extension (Kotlin Extensions for Slack API Clients)
  • [ ] slack-app-backend (The primitive layer of Bolt for Java)

Requirements

Please make sure if this topic is specific to this SDK. For general questions/issues about Slack API platform or its server-side, could you submit questions at https://my.slack.com/help/requests/new instead. :bow:

Please read the Contributing guidelines and Code of Conduct before creating this issue or pull request. By submitting, you agree to those rules.

seratch avatar Mar 27 '23 06:03 seratch