Joystream / Joystream/joystream

Collaborators for all roles

Open
#2,870 3 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

good first issue post-mainnet runtime
Dominant language
Rust
Stars
1.4k
Forks
116
PR merge metrics
No merged PRs in 30d

Description

Background

Councilors, workers and leads, if operated by a single membership as now, makes it difficult for more than one real world person to operate the role, and this is a problem. People get sick, go on vacation or may have some legitimate reason for why they will be temporarily, and perhaps for an unknown duration, unable to operate the role. For key roles, this could be a serious problem.

Proposal

For all roles above, allow the primary owner to associated up to low a fixed number of other members IDs (so just a BTreeSet in the appropriate entity really), which allows any member with their ID in this set to authenticate as the primary owner for all purposes except updating set of collaborators.

  • Workers in a working group, including lead.
  • Council members in the council.
  • Channel owner.
  • A member.

While in principle there are all sorts of good reasons to introduce more granular permissions specific to each type of activity (e.g. not to withdraw from channel account, or not to unstake as a worker), this is too much complexity for what we can justify at this stage.

Note: collaborators for channel owners have been added, so this is a good thing to review.

┆Issue is synchronized with this Asana task by Unito

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the existing collaborator implementation for channel owners, which the issue says has already been added. Then trace the entities for workers and leads, council members, and members; done means each supports a bounded collaborator-member-ID set, with collaborators authenticating as the primary owner except when updating that set.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
blockchain
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.