Regression in v4 - role for non-operator group channel members is null, should be 'none'

[Problem/Question]
// Detailed description of issue.

As the title states, my team and I are seeing role values of null when the typings clearly show:

export declare enum Role {
  OPERATOR = 'operator',
  NONE = 'none',
}

We believe this to be a regression, either in the typings or in the actual backend response from sendbird.


// If problem, please fill out the below. If question, please delete.
[SDK Version]
// What version of the SDK are you using?

@sendbird/chat 4.1.0

[Reproduction Steps]
// Please provide reproduction steps and, if possible, code snippets.

Simply call await groupChannelCollection.loadMore() and observe the data returned by it. Notice specifically in each channel.members, some of the members should have

[Frequency]
// How frequently is this issue occurring?

Each time we call loadMore() we see this issue.

[Current impact]
// How is this currently impacting your implementation?

For now, we have avoided this issue instead of explicitly using member.role === 'none' to member.role !== 'operator' this is of course a quick fix and i can imagine scenarios where people would want to use member.role === 'none'. So, this is either a typeing issue (i.e. the role enum is no longer ‘operator’ or ‘none’, but instead 'operator and null - or this is a true regression, and role statuses are not being hydrated from sendbird’s side

Hi @fullStackChris !

Sorry for the late response.
Our engineering team tested our latest version, v4.1.0 and v4.2.3 and it looks fine.

const params = {};
const channel = await user.sendbird.groupChannel.createChannel(params);

then the channel.myRole is correctly set to 'none'
you can test this in CSB.

Could you please check and provide more info?

  1. Create a channel without an operator set and see if channel.myRole is set to none.
  2. In which scenario/condition is channel.myRole set to null?