Migrate non-reactive group/project member state to `provide/inject`
requested to merge 324675-group-project-members-migrate-non-reactive-state-to-provide-inject into master
📖 What does this MR do?
Related to #324675 (closed)
This is the first of a series of MRs to migrate non-reactive state that is currently stored in a Vuex store to provide/inject
. This specific MR migrates currentUserId
, sourceId
, and canManageMembers
. The rest of the non-reactive state will be migrated in subsequent MRs. Two reasons for this change:
- Prepare for moving the group/project members view into one Vue app that uses
GlTabs
(&5616)- Currently the group/project members view is 4 separate Vue apps that use Bootstrap tabs. We would like to migrate to one Vue app that uses
GlTabs
. To do this we would move to using one Vuex store with modules. The less state there is in the Vuex store the easier this will be.
- Currently the group/project members view is 4 separate Vue apps that use Bootstrap tabs. We would like to migrate to one Vue app that uses
- Performance
- Avoid adding setters and getters to state that does not need to be reactive.
💻 Local testing
- Create a group or project
- Navigate to that group or project -> "Members"
- Add a member using the form
- Change role, expiration date, etc
📷 Screenshots
Still works
Before | After |
---|---|
group-members-before | group-members-after |
🚦 Does this MR meet the acceptance criteria?
Conformity
-
📋 Does this MR need a changelog?-
I have included a changelog entry. -
I have not included a changelog entry because developer facing change.
-
- [-] Documentation (if required)
-
Code review guidelines -
Merge request performance guidelines -
Style guides - [-] Database guides
-
Separation of EE specific content
Availability and Testing
-
Review and add/update tests for this feature/bug. Consider all test levels. See the Test Planning Process. -
Tested in all supported browsers - [-] Informed Infrastructure department of a default or new setting change, if applicable per definition of done
Security
If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:
- [-] Label as security and @ mention
@gitlab-com/gl-security/appsec
- [-] The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
- [-] Security reports checked/validated by a reviewer from the AppSec team
Edited by Peter Hegman