unity-renderer icon indicating copy to clipboard operation
unity-renderer copied to clipboard

Automatically connect to specific channels

Open olavra opened this issue 2 years ago • 3 comments

For liveops purposes, we would like to force players to join a channel automatically when they enter Decentraland. For example, if we are celebrating the metaverse festival, we would like everybody to join #metaverse-festival automatically, or by default it would be great to have #help on your first round.

Of course, people should be able to exit those channels and not be reconnected to them automatically again, so we need to store when a player have decided to quit an automatic channel.

Also, automatic channels can become very spammy. Decentraland operatos will be able to set the notifications on and off for those channels definitions.

Acceptance Criteria

  • A decentraland operator is able to define a set of channels to be connected automatically (maybe Unleash or similar)
  • Together with the name of the channel, it will define if notifications are enabled or not for that channel.
  • Players will be connected to the list of automatic channels defined by the operator.
  • This channels wont be part of the players "connected channels" list when they start. This means if the channel is no longer in the list of automatic channels, the player wont be reconnected to it in the next session
  • Automatic channels wont reduce the number of maximum channels allowed for the player.
  • If a player exits an automatic channel, it wont be reconnected to it again on the next session unless the player manually joins the channel.

olavra avatar Oct 03 '22 09:10 olavra

This is mandatory for the 10th of November, nice to have for the 1st of November.

This will be a nice functionality for the MF. It does not require having the double check if players has been connected in the past, but we need to make sure, that the ability of automatically connect to the channel, also includes the flag of notifications on/off so we can force this connection to players always during the event, but not bother them with trillion of messages in the activity.

olavra avatar Oct 10 '22 15:10 olavra

Analyzing this I think that the best way to control this behaviour is by creating a feature flag with a variant with the following format:

{"channel":"channelName","enableNotifications":true/false}

This would allow an easy update of the notifications enabled/disabled and the change of the channel in which people would join. If we want to have multiple automatic channels we could have a different structure.

A few things that need additional informations:

  • If the channel in which we want users to join by default changes, do we need to force leave from the previous automatic channel?
  • If yes does that channel count as a normal channel for the max limit?
  • Do we want to integrate this functionality from the renderer point of view or kernel?

The task could be constructed by smaller tasks that are the followings:

For the 10th:

  • [x] Create the feature flag
  • [x] Create the function to read the automatic channels to join
  • [ ] Create the structure to force join that channel at login if not already in
  • [x] ~~Create the possibility of having channels that do not count in the max joined channels~~

For later iterations:

  • [ ] Save the preference if players left the automatic channel to avoid re-connecting at each session

davidejensen avatar Oct 20 '22 11:10 davidejensen

Update: It has been decided to use a list of channels to join and if they are muted or not, so the FF content will change in:

[{"channel":"channelName1","enableNotifications":true/false},{"channel":"channelName2","enableNotifications":true/false},...]

Another decision was to avoid the channels count stuff, so auto channels will be considered regular channels

davidejensen avatar Oct 24 '22 07:10 davidejensen