I thought the behavior of publish on the client implementation docs to be pretty confusing. you pass a subject and it's stated that it's the NATS subject, but it might not be if you decide to use a partitioner/partitionbykey/etc... I feel this would make space for a lot of configuration bugs and may confuse ppl a lot
Proposed solution is to split the publish API in two. One higher level method would receive the stream name and handle partitions through the configuration, while another lower level would just receive the nats subject and publish to it directly.
Copying from Slack:
Proposed solution is to split the publish API in two. One higher level method would receive the stream name and handle partitions through the configuration, while another lower level would just receive the nats subject and publish to it directly.